Files
Nuvolar/Nuvolar.Module.Win/Controllers/SchedulerVC.vb
T
2017-03-08 11:21:27 +01:00

77 lines
3.3 KiB
VB.net

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.Win.Editors
Imports DevExpress.ExpressApp.Scheduler.Win
Imports DevExpress.XtraScheduler
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.Persistent.Base.General
Imports DevExpress.Data.Filtering
Imports DevExpress.Persistent.BaseImpl
Public Class SchedulerVC
Inherits DevExpress.ExpressApp.ViewController
Private scheduler As SchedulerControl
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 = "Contacts_CRM_Leads_Activity_ListView" Then
' Access the current List View
Dim currentView As ListView = CType(View, ListView)
' Access the View's List Editor as a SchedulerListEditor
Dim listEditor As SchedulerListEditor = CType(currentView.Editor, SchedulerListEditor)
' Access the LOist Editor's ScheudlerControl
scheduler = listEditor.SchedulerControl
' Set the desired time to be visible
If Not scheduler Is Nothing Then
AddHandler scheduler.Storage.AppointmentInserting, AddressOf AppointmentInserting
End If
End If
End Sub
Sub AppointmentInserting(sender As Object, e As DevExpress.XtraScheduler.PersistentObjectCancelEventArgs)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _Appointment As Appointment
Dim _CRM_Leads_Activity As CRM_Leads_Activity
Dim _Contacts As Contacts = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, Contacts)
Dim _CRM_Leads As CRM_Leads
Dim currentUser As User = _ocur.GetObjectByKey(Of User)(_ocur.GetKeyValue(SecuritySystem.CurrentUser))
If _Contacts IsNot Nothing Then
_Appointment = TryCast(e.Object, Appointment)
If _Contacts.CRM_Leads Is Nothing Then
_CRM_Leads = _ocur.CreateObject(Of CRM_Leads)()
_CRM_Leads.Contacts = _Contacts
_CRM_Leads.FirstName = _Contacts.FirstName
_CRM_Leads.LastName = _Contacts.LastName
_CRM_Leads.HRPerson = _ocur.FindObject(Of HRPerson)(CriteriaOperator.Parse("User=?", currentUser))
_CRM_Leads.CRM_FirstMeet = _ocur.FindObject(Of CRM_FirstMeet)(CriteriaOperator.Parse("DefaultforBusiness=True"))
_CRM_Leads.LeadStatus = eLeadStatus.Qualified
End If
_CRM_Leads_Activity = _ocur.CreateObject(Of CRM_Leads_Activity)()
_CRM_Leads_Activity.CRM_Leads = _Contacts.CRM_Leads
_CRM_Leads_Activity.EventType = eEventType.eMeeting
_CRM_Leads_Activity.Subject = _Appointment.Subject
_CRM_Leads_Activity.StartOn = _Appointment.Start
_CRM_Leads_Activity.EndOn = _Appointment.End
End If
_ocur.CommitChanges()
End Sub
End Class