public static int RaiseNotificationEvent(Guid OrgID, int DeptID, int UserId, TicketEvent tktEvent, Ticket tkt, Ticket oldTkt, int ScheduledTicketId, DateTime RunTime, FileItem[] tktFiles)
        {
            XmlSerializer _serializer  = new XmlSerializer(typeof(Ticket));
            string        _objStateNew = string.Empty;

            if (tkt != null)
            {
                TextWriter _stream = new StringWriter();
                _serializer.Serialize(_stream, tkt);
                _objStateNew = _stream.ToString();
                _stream.Close();
            }
            string _objStateOld = string.Empty;

            if (oldTkt != null)
            {
                TextWriter _stream = new StringWriter();
                _serializer.Serialize(_stream, oldTkt);
                _objStateOld = _stream.ToString();
                _stream.Close();
            }
            return(NotificationEventsQueue.InsertEvent(OrgID, DeptID, UserId, tktEvent, _objStateNew, _objStateOld, tktFiles, ScheduledTicketId, RunTime));
        }
Exemple #2
0
        public string Commit(UseSendMailEngine mail_engine, bool IsBodyHtml)
        {
            string _result = string.Empty;

            try
            {
                switch (mail_engine)
                {
                case UseSendMailEngine.SystemWebMail:
                    Functions.SendEmail(_from, string.Empty, _to, string.Empty, null, _subject, _body, _files, IsBodyHtml);
                    break;

                case UseSendMailEngine.NotificationService:
                    XmlSerializer _serializer = new XmlSerializer(typeof(MailNotification));
                    TextWriter    _stream     = new StringWriter();
                    _serializer.Serialize(_stream, this);
                    string _object_state = _stream.ToString();
                    _stream.Close();
                    NotificationRules.TicketEvent _event = IsBodyHtml ? NotificationRules.TicketEvent.DirectMailAsHTML : NotificationRules.TicketEvent.DirectMail;
                    int _operation_result = NotificationEventsQueue.InsertEvent(_org_id, _department_id, _user_id, _event, _object_state, _files);
                    if (_operation_result <= 0)
                    {
                        _result = "Can't add mass mailes to NotificationEventsQueue.";
                    }

                    break;
                }
                ;
            }
            catch (Exception ex)
            {
                _result = ex.Message;
            };

            return(_result);
        }