142 lines
7.1 KiB
VB.net
142 lines
7.1 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.SystemModule
|
|
Imports DevExpress.ExpressApp.CloneObject
|
|
Imports DevExpress.Data.Filtering
|
|
Imports System.Net.Mail
|
|
Imports DevExpress.Persistent.BaseImpl
|
|
Imports System.Reflection
|
|
|
|
Public Class AnswerVC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
|
|
'This call is required by the Component Designer.
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
|
|
If View.Id = "Answer_DetailView" Then
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _Answer As Answer
|
|
|
|
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", False)
|
|
Frame.GetController(Of ModificationsController).SaveAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ModificationsController).SaveAndCloseAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ModificationsController).SaveAndNewAction.Active.SetItemValue("", False)
|
|
If SecuritySystem.CurrentUserName <> "ivan.szabo" Then Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
|
|
|
|
_Answer = TryCast(View.SelectedObjects(0), Answer)
|
|
If _ocur.Session.IsNewObject(_Answer) Then
|
|
Frame.GetController(Of AnswerVC).aSaveAnswer.Active.SetItemValue("", True)
|
|
Else
|
|
Frame.GetController(Of AnswerVC).aSaveAnswer.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id = "Answer_ListView" Then
|
|
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
|
|
If SecuritySystem.CurrentUserName <> "ivan.szabo" Then Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
If View.Id = "Answer_DetailView" Then
|
|
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", True)
|
|
Frame.GetController(Of ModificationsController).SaveAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ModificationsController).SaveAndCloseAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ModificationsController).SaveAndNewAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", True)
|
|
End If
|
|
End Sub
|
|
Private Sub aSaveAnswer_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aSaveAnswer.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _Answer As Answer = TryCast(View.SelectedObjects(0), Answer)
|
|
|
|
Dim _Events As Events
|
|
If _Answer IsNot Nothing Then
|
|
_Answer.Question.QuestionStatus = _Answer.QuestionStatus
|
|
_Answer.Question.IssueType = _Answer.IssueType
|
|
_Answer.Question.Save()
|
|
_Answer.Save()
|
|
|
|
_ocur.CommitChanges()
|
|
|
|
_Events = _onew.CreateObject(Of Events)()
|
|
_Events.Question = _onew.GetObject(_Answer.Question)
|
|
_Events.QuestionStatus = _Answer.QuestionStatus
|
|
_Events.Description = _Answer.Description
|
|
If _Answer.Attachment IsNot Nothing Then _Events.Attachment = _onew.GetObject(_Answer.Attachment)
|
|
_Events.Save()
|
|
_Events.EventDirection = eEventDirection.eOut
|
|
_onew.CommitChanges()
|
|
|
|
|
|
Try
|
|
Dim _WebParameters As WebParameters = _ocur.FindObject(Of WebParameters)(CriteriaOperator.Parse("1=1"))
|
|
If _WebParameters Is Nothing Then Throw New Exception("*Nincsnek e-mail paraméterek beállítva!")
|
|
If _WebParameters.SMTPHost Is Nothing Then Throw New Exception("*Nincs SMTP server beállítva!")
|
|
If _WebParameters.SMTPUserName = "" Then Throw New Exception("*Nincs felhasználói név beállítva!")
|
|
If _WebParameters.SMTPPort = 0 Then Throw New Exception("*Nincs SMTP port beállítva!")
|
|
|
|
|
|
Dim _MailMessage As New MailMessage
|
|
Dim _Attachment As Attachment
|
|
Dim _SmtpClient As SmtpClient = New SmtpClient(_WebParameters.SMTPHost)
|
|
_MailMessage.From = New MailAddress(_WebParameters.Email_SupportAdmin)
|
|
_MailMessage.To.Add(_Answer.Question.UserCreated.Email)
|
|
_MailMessage.Subject = _Answer.Question.DocumentNumber + " számú bejelentésre válasz"
|
|
_MailMessage.IsBodyHtml = True
|
|
|
|
Dim _EmailBody As String = _WebParameters.HTMLMailTemplate_QuestionStatusUpdate.HTMLBody
|
|
_EmailBody = String.Format(_EmailBody, _Answer.Question.UserCreated.FullName, _Answer.Question.DocumentNumber, DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Enums\Nuvolar.Module.eQuestionStatus", _Answer.Question.QuestionStatus.ToString) + _
|
|
vbNewLine, TryCast(SecuritySystem.CurrentUser, User).FullName)
|
|
_EmailBody = _EmailBody + vbNewLine + CreateHTMLEventsMail(_Answer.Question, _ocur.Session)
|
|
|
|
_MailMessage.Body = _EmailBody
|
|
_MailMessage.Attachments.Clear()
|
|
If Not String.IsNullOrEmpty(GLOBAL_ApplicationStartupPath_Mail) Then
|
|
_Attachment = New Attachment(GLOBAL_ApplicationStartupPath_Mail & "Images\iRedArrow.png")
|
|
_Attachment.ContentId = "c001"
|
|
_MailMessage.Attachments.Add(_Attachment)
|
|
|
|
_Attachment = New Attachment(GLOBAL_ApplicationStartupPath_Mail & "Images\iGreenArrow.png")
|
|
_Attachment.ContentId = "c002"
|
|
_MailMessage.Attachments.Add(_Attachment)
|
|
End If
|
|
|
|
_SmtpClient.Port = _WebParameters.SMTPPort
|
|
_SmtpClient.Credentials = New System.Net.NetworkCredential(_WebParameters.SMTPUserName, _WebParameters.SMTPPassword)
|
|
_SmtpClient.EnableSsl = _WebParameters.EnableSsl
|
|
|
|
_SmtpClient.Send(_MailMessage)
|
|
|
|
|
|
Catch ex As Exception
|
|
Dim sf As StackFrame = New StackFrame()
|
|
Dim _ErrorLog As ErrorLog = _ocur.CreateObject(Of ErrorLog)()
|
|
_ErrorLog.Description = ex.Message
|
|
_ErrorLog.SubName = TryCast(sf.GetMethod(), MethodBase).Name
|
|
_ocur.CommitChanges()
|
|
End Try
|
|
|
|
|
|
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "Question_DetailView_Info", True, _onew.GetObject(_Answer.Question))
|
|
View.Close()
|
|
End If
|
|
End Sub
|
|
End Class
|