Reconfigure for GIT

This commit is contained in:
2017-03-26 20:00:03 +02:00
commit 00637826ab
8056 changed files with 535977 additions and 0 deletions
@@ -0,0 +1,32 @@
Partial Class CRMEstateStatisticsVC
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class
@@ -0,0 +1,64 @@
Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.ExpressApp.PivotGrid.Win
Imports DevExpress.XtraPivotGrid
Imports DevExpress.ExpressApp.Utils
Public Class CRMEstateStatisticsVC
Inherits SISBusiness.Module.CRMEstateStatisticsVC
Dim _WaitFormClass as New WaitFormClass
Private _PivotGridListEditor As PivotGridListEditor
Private _PivotGrdidControl As PivotGridControl
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
AddHandler DoWork, AddressOf _WaitFormClass.DoWork
AddHandler InitWork, AddressOf _WaitFormClass.Initwork
AddHandler FinalWork, AddressOf _WaitFormClass.Finalwork
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
RemoveHandler DoWork, AddressOf _WaitFormClass.DoWork
RemoveHandler InitWork, AddressOf _WaitFormClass.Initwork
RemoveHandler FinalWork, AddressOf _WaitFormClass.Finalwork
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "CRMEstateStatistics_ListView_Pivot" Then
_PivotGridListEditor = TryCast(TryCast(View, ListView).Editor, PivotGridListEditor)
If _PivotGridListEditor IsNot Nothing Then
_PivotGrdidControl = _PivotGridListEditor.PivotGridControl
AddHandler _PivotGrdidControl.FieldValueDisplayText, AddressOf PivotGridControl_FieldValueDisplayText
End If
End If
End Sub
Private Sub PivotGridControl_FieldValueDisplayText(sender As Object, e As PivotFieldDisplayTextEventArgs)
If e.Field IsNot Nothing Then
If e.Field.Name = "Field_Immovables.ImmovablesTypes" Then
e.DisplayText = CaptionHelper.GetLocalizedText("Enums\SISBusiness.Module.eImmovablesTypes", e.DisplayText.ToString)
End If
If e.Field.Name = "Field_Immovables.ImmovableSoldState" Then
e.DisplayText = CaptionHelper.GetLocalizedText("Enums\SISBusiness.Module.eImmovableSoldState", e.DisplayText.ToString)
End If
End If
End Sub
End Class
@@ -0,0 +1,82 @@
Partial Class CRMEstateVC
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.aViewEMail_CRMEstate = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aSendEMail_CRMEstate = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aReplyEmail_CRMEstate = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
'
'aViewEMail_CRMEstate
'
Me.aViewEMail_CRMEstate.Caption = "aViewEMail_CRMEstate"
Me.aViewEMail_CRMEstate.ConfirmationMessage = Nothing
Me.aViewEMail_CRMEstate.Id = "aViewEMail_CRMEstate"
Me.aViewEMail_CRMEstate.ImageName = "mail_view"
Me.aViewEMail_CRMEstate.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireSingleObject
Me.aViewEMail_CRMEstate.Shortcut = Nothing
Me.aViewEMail_CRMEstate.Tag = Nothing
Me.aViewEMail_CRMEstate.TargetObjectsCriteria = "EventType=2 OR EventType=3"
Me.aViewEMail_CRMEstate.TargetObjectType = GetType(SISBusiness.[Module].CRMEstate_Leads_Activity)
Me.aViewEMail_CRMEstate.TargetViewId = Nothing
Me.aViewEMail_CRMEstate.ToolTip = Nothing
Me.aViewEMail_CRMEstate.TypeOfView = Nothing
'
'aSendEMail_CRMEstate
'
Me.aSendEMail_CRMEstate.Caption = "aSendEMail_CRMEstate"
Me.aSendEMail_CRMEstate.ConfirmationMessage = Nothing
Me.aSendEMail_CRMEstate.Id = "aSendEMail_CRMEstate"
Me.aSendEMail_CRMEstate.ImageName = "mail_new"
Me.aSendEMail_CRMEstate.Shortcut = Nothing
Me.aSendEMail_CRMEstate.Tag = Nothing
Me.aSendEMail_CRMEstate.TargetObjectsCriteria = Nothing
Me.aSendEMail_CRMEstate.TargetObjectType = GetType(SISBusiness.[Module].CRMEstate_Leads_Activity)
Me.aSendEMail_CRMEstate.TargetViewId = Nothing
Me.aSendEMail_CRMEstate.ToolTip = Nothing
Me.aSendEMail_CRMEstate.TypeOfView = Nothing
'
'aReplyEmail_CRMEstate
'
Me.aReplyEmail_CRMEstate.Caption = "aReplyEmail_CRMEstate"
Me.aReplyEmail_CRMEstate.ConfirmationMessage = Nothing
Me.aReplyEmail_CRMEstate.Id = "aReplyEmail_CRMEstate"
Me.aReplyEmail_CRMEstate.ImageName = "mail_write"
Me.aReplyEmail_CRMEstate.Shortcut = Nothing
Me.aReplyEmail_CRMEstate.Tag = Nothing
Me.aReplyEmail_CRMEstate.TargetObjectsCriteria = Nothing
Me.aReplyEmail_CRMEstate.TargetObjectType = GetType(SISBusiness.[Module].Win.OutlookEMail)
Me.aReplyEmail_CRMEstate.TargetViewId = "OutlookEMail_DetailView_View"
Me.aReplyEmail_CRMEstate.ToolTip = Nothing
Me.aReplyEmail_CRMEstate.TypeOfView = Nothing
End Sub
Friend WithEvents aViewEMail_CRMEstate As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aSendEMail_CRMEstate As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aReplyEmail_CRMEstate As DevExpress.ExpressApp.Actions.SimpleAction
End Class
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="aViewEMail_CRMEstate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>750, 233</value>
</metadata>
<metadata name="aSendEMail_CRMEstate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>738, 180</value>
</metadata>
<metadata name="aReplyEmail_CRMEstate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>845, 336</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
@@ -0,0 +1,227 @@
Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports Microsoft.Office.Interop
Imports DevExpress.ExpressApp.Win.Editors
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Imports DevExpress.ExpressApp.Editors
Public Class CRMEstateVC
Inherits SISBusiness.Module.CRMEstateVC
Private _GridListEditor As GridListEditor
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
AddHandler CreateReservationReminder, AddressOf _CreateReservationReminder
If View.Id = "CRMEstate_Leads_CRMEstate_Leads_Immovables_ListView" Or View.Id = "CRMEstate_Opportunity_CRMEstate_Opportunity_Immovables_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.WinModificationsController).ModificationsHandlingMode = ModificationsHandlingMode.AutoCommit
End If
If View.Id = "CRMEstate_Leads_CRMEstate_Leads_Activity_ListView" Then
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController).Active.SetItemValue("", False)
Frame.GetController(Of LinkUnlinkController).Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", False)
End If
If View.Id = "OutlookEMail_DetailView_View" Then
Frame.GetController(Of ModificationsController).Active.SetItemValue("", False)
End If
If View.Id = "CRMEstate_Leads_DetailView" Then
For Each editor As PropertyEditor In (CType(View, DetailView)).GetItems(Of PropertyEditor)()
If editor.PropertyName = "FirstName" Then
AddHandler editor.ControlCreated, AddressOf editor_FirstName
End If
If editor.PropertyName = "LastName" Then
AddHandler editor.ControlCreated, AddressOf editor_LastName
End If
Next editor
End If
'If View.Id = "CRMEstate_Opportunity_Payment_Forecast_DetailView" Then
' Dim _CRMEstate_Opportunity_Payment_Forecast As CRMEstate_Opportunity_Payment_Forecast = TryCast(View.SelectedObjects(0), CRMEstate_Opportunity_Payment_Forecast)
' If _CRMEstate_Opportunity_Payment_Forecast.CurrencyName.ShortName = "HUF" Then
' Dim _SumPriceNettoHUF_ViewItem As DevExpress.ExpressApp.Editors.ViewItem = TryCast(View, DetailView).FindItem("SumPriceNettoHUF")
' Dim _DoublePropertyEditor_HUF As DevExpress.ExpressApp.Win.Editors.DoublePropertyEditor = TryCast(_SumPriceNettoHUF_ViewItem, DevExpress.ExpressApp.Win.Editors.DoublePropertyEditor)
' AddHandler _DoublePropertyEditor_HUF.ControlValueChanged, AddressOf DoublePropertyEditor_HUF_ControlValueChanged
' End If
'End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "CRMEstate_Leads_CRMEstate_Leads_Immovables_ListView" Or View.Id = "CRMEstate_Opportunity_CRMEstate_Opportunity_Immovables_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.WinModificationsController).ModificationsHandlingMode = ModificationsHandlingMode.Confirmation
End If
If View.Id = "CRMEstate_Leads_CRMEstate_Leads_Activity_ListView" Then
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController).Active.SetItemValue("", True)
Frame.GetController(Of LinkUnlinkController).Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", True)
End If
If View.Id = "OutlookEMail_DetailView_View" Then
Frame.GetController(Of ModificationsController).Active.SetItemValue("", True)
End If
End Sub
Public Sub _CreateReservationReminder(ByVal _CRMEstate_Leads_Immovables_Reservation As CRMEstate_Leads_Immovables_Reservation)
Dim _OutlookApp As New Outlook.Application()
Dim _OutlookNameSpace As Outlook.NameSpace = _OutlookApp.GetNamespace("MAPI")
Dim _NewTask As Outlook.TaskItem = _OutlookApp.CreateItem(Outlook.OlItemType.olTaskItem)
Dim _Date As New DateTime(_CRMEstate_Leads_Immovables_Reservation.DateTo.Year, _CRMEstate_Leads_Immovables_Reservation.DateTo.Month, _CRMEstate_Leads_Immovables_Reservation.DateTo.Day, 9, 0, 0)
Dim _DueDate As New DateTime(_CRMEstate_Leads_Immovables_Reservation.DateTo.Year, _CRMEstate_Leads_Immovables_Reservation.DateTo.Month, _CRMEstate_Leads_Immovables_Reservation.DateTo.Day, 12, 0, 0)
_OutlookNameSpace.Logon(, , True, True)
_NewTask.ReminderSet = True
_NewTask.Body = "Lejáró opcionális foglalás!"
_NewTask.DueDate = _DueDate
_NewTask.ReminderTime = _Date
_NewTask.Subject = _CRMEstate_Leads_Immovables_Reservation.CRMEstate_Leads_Immovables.Immovables.DisplayName
_NewTask.UnRead = True
_NewTask.Save()
End Sub
Private Sub aViewEMail_CRMEstate_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewEMail_CRMEstate.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _CRMEstate_Leads_Activity As CRMEstate_Leads_Activity = TryCast(View.SelectedObjects(0), CRMEstate_Leads_Activity)
If _CRMEstate_Leads_Activity Is Nothing Then Throw New Exception("*Nincs kijelölve egyetlen sor sem!")
Dim _OutlookEMail As OutlookEMail = _onew.FindObject(Of OutlookEMail)(DevExpress.Data.Filtering.CriteriaOperator.Parse("Oid=?", _CRMEstate_Leads_Activity.Email_Oid))
Dim _OutlookEMailIn As OutlookEMailIn = _onew.FindObject(Of OutlookEMailIn)(DevExpress.Data.Filtering.CriteriaOperator.Parse("Oid=?", _CRMEstate_Leads_Activity.Email_Oid))
If _OutlookEMail Is Nothing And _OutlookEMailIn Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _OutlookEMail Is Nothing Then
_OutlookEMail = _onew.CreateObject(Of OutlookEMail)()
_OutlookEMail.eCRMEstate_Leads = eCRMEstate_Leads.eCRMEstate
_OutlookEMail.HTMLBody = _OutlookEMailIn.EmailBody
_OutlookEMail.Subject = _OutlookEMailIn.EmailSubject
For Each _OutlookEMailAttachments As OutlookEMailAttachments In _OutlookEMailIn.OutlookEMailAttachments
_OutlookEMail.OutlookEMailAttachments.Add(_OutlookEMailAttachments)
Next
_OutlookEMail.Recipients = _OutlookEMailIn.ReceiverEmailAdress
_OutlookEMail.OutlookEMailIn_Oid = _OutlookEMailIn.Oid.ToString
_OutlookEMail.eCRMEstate_Leads = eCRMEstate_Leads.eCRMEstate
If TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, CRMEstate_Leads) IsNot Nothing Then
_OutlookEMail.CRMEstate_Leads = _onew.GetObjectByKey(Of CRMEstate_Leads)(TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, CRMEstate_Leads).Oid)
Else
_OutlookEMail.CRMEstate_Leads = _onew.GetObjectByKey(Of CRMEstate_Leads)(TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, CRMEstate_Opportunity).CRMEstate_Leads.Oid)
End If
End If
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "OutlookEMail_DetailView_View", False, _OutlookEMail)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
Private Sub aSendEMail_CRMEstate_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aSendEMail_CRMEstate.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PropertyCollectionSource As PropertyCollectionSource = TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource)
If _PropertyCollectionSource Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _OutlookEMail As OutlookEMail = _onew.CreateObject(Of OutlookEMail)()
If TryCast(_PropertyCollectionSource.MasterObject, CRMEstate_Leads) IsNot Nothing Then
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(_PropertyCollectionSource.MasterObject, CRMEstate_Leads)
_OutlookEMail.Subject = "< Nincs beállítva >"
If _CRMEstate_Leads.EMail = "" Or _CRMEstate_Leads.EMail Is Nothing Then
_OutlookEMail.Recipients = "< Nincs beállítva >"
Else
_OutlookEMail.Recipients = _CRMEstate_Leads.EMail
End If
_OutlookEMail.eCRMEstate_Leads = eCRMEstate_Leads.eCRMEstate
_OutlookEMail.HTMLBody = "Tisztelt " + _CRMEstate_Leads.LastName + " " + _CRMEstate_Leads.FirstName + _
"!<P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P>Üdvözlettel: " + _CRMEstate_Leads.HRPerson.FullName
_OutlookEMail.CRMEstate_Leads = _onew.GetObjectByKey(Of CRMEstate_Leads)(_CRMEstate_Leads.Oid)
End If
If TryCast(_PropertyCollectionSource.MasterObject, CRMEstate_Opportunity) IsNot Nothing Then
Dim _CRMEstate_Opportunity As CRMEstate_Opportunity = TryCast(_PropertyCollectionSource.MasterObject, CRMEstate_Opportunity)
_OutlookEMail.Subject = "< Nincs beállítva >"
If _CRMEstate_Opportunity.CRMEstate_Leads.EMail = "" Or _CRMEstate_Opportunity.CRMEstate_Leads.EMail Is Nothing Then
_OutlookEMail.Recipients = "< Nincs beállítva >"
Else
_OutlookEMail.Recipients = _CRMEstate_Opportunity.CRMEstate_Leads.EMail
End If
_OutlookEMail.eCRMEstate_Leads = eCRMEstate_Leads.eCRMEstate
_OutlookEMail.HTMLBody = "Tisztelt " + _CRMEstate_Opportunity.CRMEstate_Leads.LastName + " " + _CRMEstate_Opportunity.CRMEstate_Leads.FirstName + _
"!<P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P>Üdvözlettel: " + _CRMEstate_Opportunity.CRMEstate_Leads.HRPerson.FullName
_OutlookEMail.CRMEstate_Leads = _onew.GetObjectByKey(Of CRMEstate_Leads)(_CRMEstate_Opportunity.CRMEstate_Leads.Oid)
End If
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "OutlookEMail_DetailView", False, _OutlookEMail)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
Private Sub aReplyEmail_CRMEstate_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aReplyEmail_CRMEstate.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OutlookEMail As OutlookEMail = TryCast(View.SelectedObjects(0), OutlookEMail)
If _OutlookEMail Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _OutlookEMailIn_old As OutlookEMailIn = _onew.FindObject(Of OutlookEMailIn)(DevExpress.Data.Filtering.CriteriaOperator.Parse("Oid=?", _OutlookEMail.OutlookEMailIn_Oid))
If _OutlookEMailIn_old Is Nothing Then Throw New Exception("*Kimenõ e-mail-re nem lehet válaszolni!")
Dim _OutlookEMail_new As OutlookEMail = _onew.CreateObject(Of OutlookEMail)()
_OutlookEMail_new.Recipients = _OutlookEMailIn_old.SenderEmailAddress
_OutlookEMail_new.Subject = "RE: " + _OutlookEMailIn_old.EmailSubject
Dim _HTML_Body As String = "<br><br><p class=""MsoNormal""><span style=""COLOR: #1f497d""><o:p>&nbsp;</o:p></span></p><div><div style=""BORDER-BOTTOM: medium none; BORDER-LEFT:" + _
"medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt""><p class=""MsoNormal"" > " + _
"<br><b><span style=""FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"" lang=""HU"">From:</span></b>" + _OutlookEMailIn_old.SenderName + _
"<span style=""FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"" lang=""HU""> " + _OutlookEMailIn_old.SenderEmailAddress + "<br>" + _
"<b>Sent:</b>" + _OutlookEMailIn_old.ReceivedTime.ToString + "<br><b>To:</b>" + _OutlookEMailIn_old.ReceiverEmailAdress + "<br><b>Subject:</b>" + _OutlookEMailIn_old.EmailSubject + "<br><br>"
_HTML_Body = _HTML_Body + _OutlookEMailIn_old.EmailBody
_OutlookEMail_new.HTMLBody = _HTML_Body
_OutlookEMail_new.CRMEstate_Leads = _onew.GetObjectByKey(Of CRMEstate_Leads)(_OutlookEMail.CRMEstate_Leads.Oid)
_OutlookEMail_new.eCRMEstate_Leads = eCRMEstate_Leads.eCRMEstate
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "OutlookEMail_DetailView", True, _OutlookEMail_new)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
Private Sub DoublePropertyEditor_HUF_ControlValueChanged(sender As Object, e As EventArgs)
Throw New NotImplementedException
End Sub
Private Sub editor_LastName(sender As Object, e As EventArgs)
Dim _LastNameStringPropertyEditor As StringPropertyEditor = TryCast(sender, StringPropertyEditor)
AddHandler _LastNameStringPropertyEditor.Control.Click, AddressOf StringPropertyEditor_Click
End Sub
Private Sub editor_FirstName(sender As Object, e As EventArgs)
Dim _FirstNameStringPropertyEditor As StringPropertyEditor = TryCast(sender, StringPropertyEditor)
AddHandler _FirstNameStringPropertyEditor.Control.Click, AddressOf StringPropertyEditor_Click
End Sub
Private Sub StringPropertyEditor_Click(sender As Object, e As EventArgs)
sender.SelectAll()
End Sub
End Class
@@ -0,0 +1,81 @@
Partial Class InsertGridToRTF_VC
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.aInsertGridToRTF = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aInsertGridToRTFCurrentPos = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aRestoreDocumentTemplate = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
'
'aInsertGridToRTF
'
Me.aInsertGridToRTF.Caption = "Insert grid"
Me.aInsertGridToRTF.Category = "aInsertGridToRTF"
Me.aInsertGridToRTF.ConfirmationMessage = Nothing
Me.aInsertGridToRTF.Id = "aInsertGridToRTF"
Me.aInsertGridToRTF.ImageName = "paste"
Me.aInsertGridToRTF.Shortcut = Nothing
Me.aInsertGridToRTF.Tag = Nothing
Me.aInsertGridToRTF.TargetObjectsCriteria = Nothing
Me.aInsertGridToRTF.TargetViewId = "CRMEstate_Leads_DetailView"
Me.aInsertGridToRTF.ToolTip = Nothing
Me.aInsertGridToRTF.TypeOfView = Nothing
'
'aInsertGridToRTFCurrentPos
'
Me.aInsertGridToRTFCurrentPos.Caption = "Insert grid Current position"
Me.aInsertGridToRTFCurrentPos.Category = "aInsertGridToRTFCurrentPos"
Me.aInsertGridToRTFCurrentPos.ConfirmationMessage = Nothing
Me.aInsertGridToRTFCurrentPos.Id = "aInsertGridToRTFCurrentPos"
Me.aInsertGridToRTFCurrentPos.ImageName = "paste"
Me.aInsertGridToRTFCurrentPos.Shortcut = Nothing
Me.aInsertGridToRTFCurrentPos.Tag = Nothing
Me.aInsertGridToRTFCurrentPos.TargetObjectsCriteria = Nothing
Me.aInsertGridToRTFCurrentPos.TargetViewId = "CRMEstate_Leads_DetailView"
Me.aInsertGridToRTFCurrentPos.ToolTip = Nothing
Me.aInsertGridToRTFCurrentPos.TypeOfView = Nothing
'
'aRestoreDocumentTemplate
'
Me.aRestoreDocumentTemplate.Caption = "aRestore Document Template"
Me.aRestoreDocumentTemplate.Category = "aRestoreDocumentTemplate"
Me.aRestoreDocumentTemplate.ConfirmationMessage = Nothing
Me.aRestoreDocumentTemplate.Id = "aRestoreDocumentTemplate"
Me.aRestoreDocumentTemplate.ImageName = Nothing
Me.aRestoreDocumentTemplate.Shortcut = Nothing
Me.aRestoreDocumentTemplate.Tag = Nothing
Me.aRestoreDocumentTemplate.TargetObjectsCriteria = Nothing
Me.aRestoreDocumentTemplate.TargetViewId = Nothing
Me.aRestoreDocumentTemplate.ToolTip = Nothing
Me.aRestoreDocumentTemplate.TypeOfView = Nothing
End Sub
Friend WithEvents aInsertGridToRTF As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aInsertGridToRTFCurrentPos As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aRestoreDocumentTemplate As DevExpress.ExpressApp.Actions.SimpleAction
End Class
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="aInsertGridToRTF.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 95</value>
</metadata>
<metadata name="aInsertGridToRTFCurrentPos.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="aRestoreDocumentTemplate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>343, 89</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
@@ -0,0 +1,447 @@
Imports System
Imports System.IO
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.ExpressApp.Win.Editors
Imports DevExpress.Xpo
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraEditors.Repository
Imports DevExpress.Data
Imports DevExpress.ExpressApp.Editors
Imports DevExpress.Data.Filtering
Public Class InsertGridToRTF_VC
Inherits DevExpress.ExpressApp.ViewController
Dim _RichEditControl As RichEditControl
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "CRMEstate_Leads_DetailView" Then
'_RichEditControl = TryCast(View, DetailView).GetItems(Of RichEditPropertyEditor)(0).RichEditUserControl.RichEditControl
End If
End Sub
Private Sub aInsertGridToRTF_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aInsertGridToRTF.Execute
Dim _DetailView As DetailView = CType(View, DetailView)
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(e.CurrentObject, CRMEstate_Leads)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _ImmovablesGroupsParameters As ImmovablesGroupsParameters = _ocur.FindObject(Of ImmovablesGroupsParameters)(CriteriaOperator.Parse("ImmovablesGroups=?", _CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups))
If _CRMEstate_Leads.DocumentBody Is Nothing Then
_CRMEstate_Leads.DocumentBody = _ImmovablesGroupsParameters.DocumentBody
If _CRMEstate_Leads.DocumentBody Is Nothing Then
_CRMEstate_Leads.DocumentBody = "{\rtf1\deff0{\fonttbl{\f0 Times New Roman;}}" & _
"{\colortbl\red0\green0\blue0 ;\red0\green0\blue255 ;}{\*\listoverridetable}{\stylesheet {\ql\cf0 Normal;}" & _
"{\*\cs1\cf0 Default Paragraph Font;}{\*\cs2\sbasedon1\cf0 Line Number;}{\*\cs3\ul\cf1 Hyperlink;}}\sectd\pard\plain" & _
"\ql\f1\par\pard\plain\ql\f1\par\pard\plain\ql\f1\par\pard\plain\ql{\f2\fs18\cf0 imapartmentsim}\f2\fs18\cf2\par" & _
"\pard\plain\ql\f2\fs18\cf0\par\pard\plain\ql{\f2\fs18\cf0 imgaragesim}\f2\fs18\cf0\par\pard\plain\ql\f2\fs18\cf0\par" & _
"\pard\plain\ql{\f2\fs18\cf0 imofficesim}\f2\fs18\cf0\par\pard\plain\ql\f2\fs18\cf0\par\pard\plain\ql{\f2\fs18\cf0 imcontainerim}" & _
"\f2\fs18\cf0\par\pard\plain\ql\f1\par}"
End If
End If
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 apartments}{\cf0 im}", "{\cf0 imapartmentsim}")
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 garages}{\cf0 im}", "{\cf0 imgaragesim}")
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 offices}{\cf0 im}", "{\cf0 imofficesim}")
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 container}{\cf0 im}", "{\cf0 imcontainerim}")
'=========================== ColorTable =======================================
Dim _actColorNum As Int32 = 0
Dim _OrigColorTable As String
Dim _ColorTable As String = (_CRMEstate_Leads.DocumentBody.Remove(0, (InStr(_CRMEstate_Leads.DocumentBody, "{\colortbl")) + "{\colortbl".Length - 1))
_ColorTable = _ColorTable.Remove(InStr(_ColorTable, "}") - 1) '--Act Color table
Dim _ColorArray As String() = _ColorTable.Split(New [Char]() {";"c})
Dim _CTable As New StringBuilder()
_CTable.Append("{\colortbl")
For _ik As Int32 = 0 To _ColorArray.Length - 2
_CTable.Append(_ColorArray(_ik) & ";")
Next
_CTable.Append("\red240\green240\blue240 ;}")
_OrigColorTable = "{\colortbl" & _ColorTable & "}"
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace(_OrigColorTable, _CTable.ToString())
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("improjectim", _CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups.ShortName)
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("imlastnameim", _CRMEstate_Leads.LastName)
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("imfirstnameim", _CRMEstate_Leads.FirstName)
'=================================================================================
'=========================== Apartments =======================================
Dim _CRMEstate_Leads_Immovables_Apartments As ListPropertyEditor
_CRMEstate_Leads_Immovables_Apartments = TryCast(View, DetailView).FindItem("Selected_Apartments")
If _CRMEstate_Leads_Immovables_Apartments.ListView IsNot Nothing Then
Dim _ListView_Apartments As ListView = CType(_CRMEstate_Leads_Immovables_Apartments.ListView, ListView)
Dim _GridListEditor_Apartments As GridListEditor = TryCast(_ListView_Apartments.Editor, GridListEditor)
Dim _Grid_Apartments As GridView = TryCast(_GridListEditor_Apartments.GridView, GridView)
If _Grid_Apartments IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Apartments, "imapartmentsim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
'=========================== Offices ==========================================
Dim _CRMEstate_Leads_Immovables_Offices As ListPropertyEditor
_CRMEstate_Leads_Immovables_Offices = TryCast(View, DetailView).FindItem("Selected_Offices")
If _CRMEstate_Leads_Immovables_Offices.ListView IsNot Nothing Then
Dim _ListView_Offices As ListView = CType(_CRMEstate_Leads_Immovables_Offices.ListView, ListView)
Dim _GridListEditor_Offices As GridListEditor = TryCast(_ListView_Offices.Editor, GridListEditor)
Dim _Grid_Offices As GridView = TryCast(_GridListEditor_Offices.GridView, GridView)
If _Grid_Offices IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Offices, "imofficesim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
'=========================== Garages ==========================================
Dim _CRMEstate_Leads_Immovables_Garages As ListPropertyEditor
_CRMEstate_Leads_Immovables_Garages = TryCast(View, DetailView).FindItem("Selected_Garages")
If _CRMEstate_Leads_Immovables_Garages.ListView IsNot Nothing Then
Dim _ListView_Garages As ListView = CType(_CRMEstate_Leads_Immovables_Garages.ListView, ListView)
Dim _GridListEditor_Garages As GridListEditor = TryCast(_ListView_Garages.Editor, GridListEditor)
Dim _Grid_Garages As GridView = TryCast(_GridListEditor_Garages.GridView, GridView)
If _Grid_Garages IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Garages, "imgaragesim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
'=========================== Container ==========================================
Dim _CRMEstate_Leads_Immovables_Container As ListPropertyEditor
_CRMEstate_Leads_Immovables_Container = TryCast(View, DetailView).FindItem("Selected_Container")
If _CRMEstate_Leads_Immovables_Container.ListView IsNot Nothing Then
Dim _ListView_Container As ListView = CType(_CRMEstate_Leads_Immovables_Container.ListView, ListView)
Dim _GridListEditor_Container As GridListEditor = TryCast(_ListView_Container.Editor, GridListEditor)
Dim _Grid_Container As GridView = TryCast(_GridListEditor_Container.GridView, GridView)
If _Grid_Container IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Container, "imcontainerim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
End Sub
Private Sub aInsertGridToRTFCurrentPos_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aInsertGridToRTFCurrentPos.Execute
'Dim _DetailView As DetailView = CType(View, DetailView)
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(e.CurrentObject, CRMEstate_Leads)
Dim _CRMEstate_Leads_Immovables As ListPropertyEditor
_CRMEstate_Leads_Immovables = TryCast(View, DetailView).FindItem("CRMEstate_Leads_Immovables")
Dim _ListView As ListView = CType(_CRMEstate_Leads_Immovables.ListView, ListView)
Dim _GridListEditor As GridListEditor = TryCast(_ListView.Editor, GridListEditor)
Dim _Grid As GridView = TryCast(_GridListEditor.GridView, GridView)
_RichEditControl.Document.InsertText(_RichEditControl.Document.CaretPosition, "LilaLiba")
Dim _RTFTable As String = RTFTableCreatorCurrentPos(_Grid)
Dim _DocumentBody_NEW As String = _CRMEstate_Leads.DocumentBody
_DocumentBody_NEW = _CRMEstate_Leads.DocumentBody.Replace("LilaLiba", _RTFTable)
_CRMEstate_Leads.DocumentBody = ""
_CRMEstate_Leads.DocumentBody = _DocumentBody_NEW
' _RichEditControl.Document.InsertRtfText(_DocumentPosition, RTFTableCreatorCurrentPos(_Grid))
'_RichEditControl.Document.CaretPosition = _RichEditControl.Document.Range.End
End Sub
Private Function RTFTableCreatorCurrentPos(_Grid As GridView) ', _DocumentBody As String) As String
Dim _RTFtext As New StringBuilder
Dim _RowNum As Integer = _Grid.RowCount
Dim _ColumnsNum As Integer = _Grid.Columns.Count
Dim irowIndex As Integer = 0
'--Fejléc kiírása RTFként--
_RTFtext.Append("\par\pard\plain\ql\par\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_ik).Visible = True Then
_RTFtext.Append("\clvertalt\clcbpat2\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
End If
Next
For _ik As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_ik).Visible = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\b\cf0" & _Grid.Columns(_ik).Caption & "}\b\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_ik).Visible = True Then
_RTFtext.Append("\clvertalt\clcbpat2\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
End If
Next
irowIndex += 1
'' --Adatsorok kiírása RTFként--
For _ik As Integer = 0 To _RowNum - 2
_RTFtext.Append("\row")
For _jk As Integer = 0 To _ColumnsNum - 2
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\cf0" & (_Grid.GetRowCellValue(_ik, _Grid.Columns(_jk)).ToString()) & "}\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _jk As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
End If
Next
irowIndex += 1
Next
''--Utolsó sor --
_RTFtext.Append("\row")
For _jk As Integer = 0 To _ColumnsNum - 2
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\cf0" & (_Grid.GetRowCellValue(_RowNum - 1, _Grid.Columns(_jk)).ToString()) & "}\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\lastrow\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _jk As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
End If
Next
_RTFtext.Append("\row\pard\plain\ql\par")
'_DocumentBody_NEW = _DocumentBody.Replace(_Tag, _RTFtext.ToString())
'_DocumentBody_NEW = _DocumentBody_NEW.Replace("{\colortbl\red0\green0\blue0 ;\red0\green0\blue255 ;}", "{\colortbl\red0\green0\blue0 ;\red0\green0\blue255 ;\red192\green192\blue192 ;}")
Return _RTFtext.ToString()
End Function
Private Sub aRestoreDocumentTemplate_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aRestoreDocumentTemplate.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(View.SelectedObjects(0), CRMEstate_Leads)
If _CRMEstate_Leads Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _ImmovablesGroupsParameters As ImmovablesGroupsParameters = _ocur.FindObject(Of ImmovablesGroupsParameters)(CriteriaOperator.Parse("ImmovablesGroups=?", _
_CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups))
If _ImmovablesGroupsParameters Is Nothing Then Throw New Exception("*Nincs beállítva ingatlancsoport paraméter!")
_CRMEstate_Leads.DocumentBody = _ImmovablesGroupsParameters.DocumentBody
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
'-------------------Functions----------------------
Function RTFTableCreator(_Grid As GridView, _Tag As String, _DocumentBody As String, Optional _FontSize As String = "8", _
Optional _FontType As String = "Tahoma", Optional _RGB As String = "240,240,240") As String
Dim _DocumentBody_NEW As String
Dim _HeaderFillColor As Int32 ' -- Current table header fill color index in colot table
If _RGB <> "240,240,240" Then
Dim _Parameters As String() = ColorTablereplacement(_DocumentBody, _RGB)
_HeaderFillColor = Convert.ToInt32(_Parameters(0))
_DocumentBody = _Parameters(1)
Else
'Dim _ColorTable As String = (_DocumentBody.Remove(0, (InStr(_DocumentBody, "{\colortbl")) + "{\colortbl".Length - 1))
'_ColorTable = _ColorTable.Remove(InStr(_ColorTable, "}") - 1) '--Act Color table
'Dim _ColorArray As String() = _ColorTable.Split(New [Char]() {";"c})
'For _ik = 0 To _ColorArray.Length - 1
' If _ColorArray(_ik) = "\red240\green240\blue240 " Then
' _HeaderFillColor = _ik
' Exit For
' End If
'Next
_HeaderFillColor = 2
End If
If _Grid.DataRowCount > 0 Then
Dim _FontSizeNUM As Int32 = (Convert.ToInt32(_FontSize) * 2) ' -- Font size in half-points (the default is 16). => Size 8!!!
Dim _RTFtext As New StringBuilder
Dim _RowNumFull As Integer = _Grid.RowCount
Dim _RowNum As Integer = _Grid.DataRowCount
Dim _ColumnsNum As Integer = _Grid.Columns.Count
Dim irowIndex As Int32 = 0
Dim _LastCellIndex As Int32 = 0
'--Header to RTF format--
'=================================================================================
_RTFtext.Append("\pard\plain\ql\par\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clcbpat2\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
If _LastCellIndex < _ik Then
_LastCellIndex = _ik
End If
Next
For _ik As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\pard\plain\ql\intbl{\b\fs" & _FontSizeNUM & "\cf0 " & _Grid.Columns.View.VisibleColumns(_ik).Caption & "}\b\cell")
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clcbpat" & _HeaderFillColor & "\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
Next
irowIndex += 1
'' --Data to RTF format--
'=================================================================================
For _ik As Int16 = 0 To _RowNumFull - 2
If _Grid.IsGroupRow(_Grid.Columns.View.GetVisibleRowHandle(_ik)) = True Then
_RTFtext.Append("\row")
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.GetGroupRowDisplayText(_Grid.Columns.View.GetVisibleRowHandle(_ik)).ToString) & "}\cell")
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trftsWidth1\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108\tblindtype3\tblind0")
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth9619" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _LastCellIndex)
irowIndex += 1
Else
_RTFtext.Append("\row")
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
If _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Double" And _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Boolean" Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.GetRowCellDisplayText(_Grid.Columns.View.GetVisibleRowHandle(_ik), _Grid.Columns.View.VisibleColumns(_jk))) & "}\cell")
ElseIf _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName = "System.Boolean" Then
If _Grid.GetRowCellValue(_Grid.Columns.View.GetVisibleRowHandle(_ik), _Grid.Columns.View.VisibleColumns(_jk)) = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Van" & "}\cell")
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Nincs" & "}\cell")
End If
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0\qr " & LTrim(RTrim(Format(_Grid.Columns.View.GetRowCellValue(_Grid.Columns.View.GetVisibleRowHandle(_ik), _Grid.Columns.View.VisibleColumns(_jk)), "#,##0.00"))) & "}\qr\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
Next
irowIndex += 1
End If
Next
'--Last row --
'=================================================================================
If _Grid.IsGroupRow(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1)) = True Then
_RTFtext.Append("\row")
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.GetGroupRowDisplayText(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1)).ToString) & "}\cell")
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trftsWidth1\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108\tblindtype3\tblind0")
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth9619" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _LastCellIndex)
Else
_RTFtext.Append("\row")
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
If _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Double" And _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Boolean" Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.Columns.View.GetRowCellDisplayText(_RowNum - 1, _Grid.Columns.View.VisibleColumns(_jk))) & "}\cell")
ElseIf _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName = "System.Boolean" Then
If _Grid.IsGroupRow(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1)) = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Van" & "}\cell")
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Nincs" & "}\cell")
End If
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0\qr " & LTrim(RTrim(Format(_Grid.Columns.View.GetRowCellValue(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1), _Grid.Columns.View.VisibleColumns(_jk)), "#,##0.00"))) & "}\qr\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\lastrow\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
''---
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
Next
End If
_RTFtext.Append("\row\pard\plain\ql")
_DocumentBody_NEW = _DocumentBody.Replace(_Tag, _RTFtext.ToString())
If _DocumentBody_NEW.Contains("\fonttbl{\f0 Times New Roman;") Then
_DocumentBody_NEW = _DocumentBody_NEW.Replace("\fonttbl{\f0 Times New Roman;", "\fonttbl{\f0 " & _FontType & ";") 'Font table remake
End If
Else
_DocumentBody_NEW = _DocumentBody.Replace(_Tag, " ")
End If
Return _DocumentBody_NEW
End Function
Function ColorTablereplacement(_DocumentBody As String, _RGB As String) As String()
Dim _Parameters(1) As String
Dim _RGBArray As String() = _RGB.Split(New [Char]() {","c})
Dim _actColorNum As Int32 = -1
Dim _ColorTable As String = (_DocumentBody.Remove(0, (InStr(_DocumentBody, "{\colortbl")) + "{\colortbl".Length - 1))
_ColorTable = _ColorTable.Remove(InStr(_ColorTable, "}") - 1) '--Act Color table
Dim _ColorArray As String() = _ColorTable.Split(New [Char]() {";"c})
For _ik As Int32 = 0 To _ColorArray.Length - 1
If _ColorArray(_ik) = "\red" & _RGBArray(0) & "\green" & _RGBArray(1) & "\blue" & _RGBArray(2) & " " Then
_actColorNum = _ik
End If
Next
If _actColorNum = -1 Then
Dim _CTable As New StringBuilder()
_CTable.Append("{\colortbl")
For _ik As Int32 = 0 To _ColorArray.Length - 2
_CTable.Append(_ColorArray(_ik) & ";")
Next
_CTable.Append("\red" & _RGBArray(0) & "\green" & _RGBArray(1) & "\blue" & _RGBArray(2) & " ;}")
Dim _OrigColorTable As String = "{\colortbl" & _ColorTable & "}"
_DocumentBody = _DocumentBody.Replace(_OrigColorTable, _CTable.ToString())
_Parameters(0) = _ColorArray.Length - 1
_Parameters(1) = _DocumentBody
Else
_Parameters(0) = _actColorNum
_Parameters(1) = _DocumentBody
End If
Return _Parameters
End Function
End Class
@@ -0,0 +1,69 @@
Partial Class SendMailVC
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.aSendMailCRMEstate_Leads = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aSendEMailLawyerDocument = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
'
'aSendMailCRMEstate_Leads
'
Me.aSendMailCRMEstate_Leads.Caption = "Send mail"
Me.aSendMailCRMEstate_Leads.Category = "aSendMailCRMEstate_Leads"
Me.aSendMailCRMEstate_Leads.ConfirmationMessage = Nothing
Me.aSendMailCRMEstate_Leads.Id = "aSendMailCRMEstate_Leads"
Me.aSendMailCRMEstate_Leads.ImageName = "mail2"
Me.aSendMailCRMEstate_Leads.Shortcut = Nothing
Me.aSendMailCRMEstate_Leads.Tag = Nothing
Me.aSendMailCRMEstate_Leads.TargetObjectsCriteria = Nothing
Me.aSendMailCRMEstate_Leads.TargetObjectType = GetType(SISBusiness.[Module].CRMEstate_Leads)
Me.aSendMailCRMEstate_Leads.TargetViewId = ""
Me.aSendMailCRMEstate_Leads.TargetViewType = DevExpress.ExpressApp.ViewType.DetailView
Me.aSendMailCRMEstate_Leads.ToolTip = Nothing
Me.aSendMailCRMEstate_Leads.TypeOfView = GetType(DevExpress.ExpressApp.DetailView)
'
'aSendEMailLawyerDocument
'
Me.aSendEMailLawyerDocument.Caption = "Send EMail Lawyer Document"
Me.aSendEMailLawyerDocument.Category = ""
Me.aSendEMailLawyerDocument.ConfirmationMessage = Nothing
Me.aSendEMailLawyerDocument.Id = "aSendEMailLawyerDocument"
Me.aSendEMailLawyerDocument.ImageName = Nothing
Me.aSendEMailLawyerDocument.Shortcut = Nothing
Me.aSendEMailLawyerDocument.Tag = Nothing
Me.aSendEMailLawyerDocument.TargetObjectsCriteria = Nothing
Me.aSendEMailLawyerDocument.TargetObjectType = GetType(SISBusiness.[Module].CRMEstate_Opportunity)
Me.aSendEMailLawyerDocument.TargetViewId = Nothing
Me.aSendEMailLawyerDocument.TargetViewType = DevExpress.ExpressApp.ViewType.DetailView
Me.aSendEMailLawyerDocument.ToolTip = Nothing
Me.aSendEMailLawyerDocument.TypeOfView = GetType(DevExpress.ExpressApp.DetailView)
End Sub
Friend WithEvents aSendMailCRMEstate_Leads As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aSendEMailLawyerDocument As DevExpress.ExpressApp.Actions.SimpleAction
End Class
@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="aSendMailCRMEstate_Leads.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="aSendEMailLawyerDocument.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 95</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
@@ -0,0 +1,164 @@
Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp.Reports.Win
Imports DevExpress.XtraPrinting
Imports System.IO
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Xpo
Imports Microsoft.Office.Interop
Imports DevExpress.ExpressApp.Win.SystemModule
Imports DevExpress.ExpressApp.Editors
Imports DevExpress.ExpressApp.Utils
Public Class SendMailVC
Inherits DevExpress.ExpressApp.ViewController
Private reportService As WinReportServiceController
Private printingService As PrintingController
Private _MemoryStream As New MemoryStream
Private _StreamReader As New StreamReader(_MemoryStream)
Private _RichEditControl As RichEditControl
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "CRMEstate_Leads_DetailView" Then
Dim _DetailView As DetailView = TryCast(View, DetailView)
Dim _RichEditContolViewItem As ViewItem = _DetailView.FindItem("DocumentBody")
If _RichEditContolViewItem IsNot Nothing Then
AddHandler _RichEditContolViewItem.ControlCreated, AddressOf RichEditContolViewItem_ControlCreated
End If
End If
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
reportService = Frame.GetController(Of WinReportServiceController)()
printingService = Frame.GetController(Of PrintingController)()
End Sub
Private Sub aSendMailReportCRMEstate_Leads_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs)
End Sub
Private Sub reportService_CustomShowPreview(ByVal sender As Object, ByVal e As CustomShowPreviewEventArgs)
e.Report.CreateDocument()
e.Report.ExportToHtml(_MemoryStream)
e.Handled = True
End Sub
Private Sub aSendMailCRMEstate_Leads_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aSendMailCRMEstate_Leads.Execute
Try
Dim _OutlookEMail As OutlookEMail
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(View.SelectedObjects(0), CRMEstate_Leads)
Dim _FileName As String = Path.GetTempPath & "Ajánlat.pdf"
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
_RichEditControl.ExportToPdf(_StreamFile)
_StreamFile.Close()
_StreamFile = New FileStream(_FileName, FileMode.Open, FileAccess.Read)
Dim _StreamReader As New StreamReader(_StreamFile)
_StreamFile.Seek(0, SeekOrigin.Begin)
Dim _OutlookEMailAttachments As OutlookEMailAttachments = _onew.CreateObject(Of OutlookEMailAttachments)()
Dim _DocumentFileData As DocumentFileData = _onew.CreateObject(Of DocumentFileData)()
_DocumentFileData.File = New FileData(_onew.Session)
_DocumentFileData.File.LoadFromStream("Ajánlat.pdf", _StreamFile) '_FileData
_DocumentFileData.File.FileName = "Ajánlat.pdf"
_OutlookEMailAttachments.DocumentFileData = _onew.GetObject(_DocumentFileData)
_StreamReader.Close()
_StreamFile.Close()
'-- Most jön az új outlook !
_MemoryStream.Position = 0
_OutlookEMail = _onew.CreateObject(Of OutlookEMail)()
_OutlookEMail.HTMLBody = ""
_OutlookEMail.eCRMEstate_Leads = eCRMEstate_Leads.eCRMEstate
_OutlookEMail.CRMEstate_Leads = _onew.GetObjectByKey(Of CRMEstate_Leads)(_CRMEstate_Leads.Oid)
If _CRMEstate_Leads.EMail = "" Or _CRMEstate_Leads.EMail Is Nothing Then
_OutlookEMail.Recipients = "< = Nincs beállítva e-mail cím az ügyfélhez! = >"
Else
_OutlookEMail.Recipients = _CRMEstate_Leads.EMail
End If
_OutlookEMail.OutlookEMailAttachments.Add(_OutlookEMailAttachments)
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "OutlookEMail_DetailView", True, _OutlookEMail)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\SISBusinessExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub RichEditContolViewItem_ControlCreated(sender As Object, e As EventArgs)
Dim _ItemControl As Object = TryCast(sender, ViewItem).Control
_RichEditControl = TryCast(_ItemControl, RichEditUserControl).RichEditControl
End Sub
Private Sub aSendEMailLawyerDocument_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aSendEMailLawyerDocument.Execute
Try
Dim _OutlookEMail As OutlookEMail
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _CRMEstate_Opportunity As CRMEstate_Opportunity = TryCast(View.SelectedObjects(0), CRMEstate_Opportunity)
If _CRMEstate_Opportunity Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _ImmovablesGroupsParameters As ImmovablesGroupsParameters = _onew.FindObject(Of ImmovablesGroupsParameters)(CriteriaOperator.Parse("ImmovablesGroups.Oid=?", _
_CRMEstate_Opportunity.CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups.Oid))
If _ImmovablesGroupsParameters Is Nothing Then Throw New Exception("*Nincsenek beállítva a(z) " + _
_CRMEstate_Opportunity.CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups.ShortName + " paraméterei!")
Dim _ReportData As ReportData = _ImmovablesGroupsParameters.ReportData_Contract_Temp
If _ReportData Is Nothing Then Throw New Exception("*Nincs beállítva az ügyvédi segédanyag nyomtatvány!" + vbNewLine + "Kérem, ellenõrizze!")
Dim _XafReport As Reports.XafReport = _ReportData.LoadReport(_onew)
Dim _FilterString As String = "[CRMEstate_Opportunity.Oid]='" & _CRMEstate_Opportunity.Oid.ToString & "'"
_XafReport.FilterString = _FilterString
Dim _FileName As String = Path.GetTempPath & "Ügyvédi segédlet.pdf"
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
_XafReport.ExportToPdf(_StreamFile)
_StreamFile.Close()
_StreamFile = New FileStream(_FileName, FileMode.Open, FileAccess.Read)
Dim _StreamReader As New StreamReader(_StreamFile)
_StreamFile.Seek(0, SeekOrigin.Begin)
Dim _OutlookEMailAttachments As OutlookEMailAttachments = _onew.CreateObject(Of OutlookEMailAttachments)()
Dim _DocumentFileData As DocumentFileData = _onew.CreateObject(Of DocumentFileData)()
_DocumentFileData.File = New FileData(_ocur.Session)
_DocumentFileData.File.LoadFromStream("Ügyvédi segédlet.pdf", _StreamFile) '_FileData
_DocumentFileData.File.FileName = "Ügyvédi segédlet.pdf"
_OutlookEMailAttachments.DocumentFileData = _DocumentFileData
_StreamReader.Close()
_StreamFile.Close()
'-- Most jön az új outlook !
_MemoryStream.Position = 0
_OutlookEMail = _onew.CreateObject(Of OutlookEMail)()
_OutlookEMail.Subject = _CRMEstate_Opportunity.CRMEstate_Leads.DisplayName + " - Ügyvédi segédlet"
_OutlookEMail.HTMLBody = "Tisztelt Németh és Herrmann Ügyvédi Iroda!"
_OutlookEMail.eCRMEstate_Leads = eCRMEstate_Leads.eCRMEstate
_OutlookEMail.Recipients = "< = Nincs beállítva e-mail = >"
_OutlookEMail.OutlookEMailAttachments.Add(_OutlookEMailAttachments)
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "OutlookEMail_DetailView", True, _OutlookEMail)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
End Class