Exemplo n.º 1
0
        private void CreateUpdateTicket(MailMessage MailMessage, string FromEmail, string FromFirstName, string FromLastName)
        {
            Ticket ticket = GetTicketFromSubject(MailMessage.Subject ?? "No Subject");

            if (ticket != null)
            {
                WorkFlowNote workFlowNote = new WorkFlowNote(this.DataSourceHelper.Session)
                {
                    Description = GetNewCommentFromBody(MailMessage.Body), CreatedBy = string.Concat(FromFirstName, " ", FromLastName)
                };
                ticket.Notes.Add(workFlowNote);

                foreach (MailMessageAttachment attachment in MailMessage.Attachments)
                {
                    DevExpress.Persistent.BaseImpl.FileData fileData = new DevExpress.Persistent.BaseImpl.FileData(this.DataSourceHelper.Session);
                    fileData.LoadFromStream(attachment.Name, new System.IO.MemoryStream(attachment.Content));

                    ticket.Attachments.Add(new WorkFlowAttachment(this.DataSourceHelper.Session)
                    {
                        Description = attachment.Name, Attachment = fileData
                    });
                }

                ticket.Save();
            }
            else
            {
                ticket = new Ticket(this.DataSourceHelper.Session)
                {
                    VendorContact = this.VendorContact(FromEmail, FromFirstName, FromLastName), Subject = MailMessage.Subject, Description = MailMessage.Body
                };
                ticket.Notes.Add(new WorkFlowNote(this.DataSourceHelper.Session)
                {
                    Description = string.Format("Email to Ticket created by {0}", MailMessage.From), CreatedBy = string.Concat(FromFirstName, " ", FromLastName)
                });

                foreach (MailMessageAttachment attachment in MailMessage.Attachments)
                {
                    DevExpress.Persistent.BaseImpl.FileData fileData = new DevExpress.Persistent.BaseImpl.FileData(this.DataSourceHelper.Session);
                    fileData.LoadFromStream(attachment.Name, new MemoryStream(attachment.Content));

                    ticket.Attachments.Add(new WorkFlowAttachment(this.DataSourceHelper.Session)
                    {
                        Description = attachment.Name, Attachment = fileData
                    });
                }

                ticket.Save();
            }
        }
Exemplo n.º 2
0
        private void CreateUpdateTicket(MailMessage MailMessage, string ToEmailAddress)
        {
            Ticket ticket = GetTicketFromSubject(MailMessage.Subject);

            if (ticket != null)
            {
                ticket.TicketComments.Add(new IntelliServe.Module.BusinessObjects.TicketComment(this._dataSourceHelper.Session)
                {
                    Comment = GetNewCommentFromBody(MailMessage.Body)
                });

                foreach (MailMessageAttachment attachment in MailMessage.Attachments)
                {
                    DevExpress.Persistent.BaseImpl.FileData fileData = new DevExpress.Persistent.BaseImpl.FileData(this._dataSourceHelper.Session);
                    fileData.LoadFromStream(attachment.Name, new MemoryStream(attachment.Content));

                    ticket.TicketAttachments.Add(new IntelliServe.Module.BusinessObjects.TicketAttachment(this._dataSourceHelper.Session)
                    {
                        Description = attachment.Name, Document = fileData
                    });
                }
            }
            else
            {
                ticket = new IntelliServe.Module.BusinessObjects.Ticket(this._dataSourceHelper.Session)
                {
                    AssignedTo = this.AssignedTo(ToEmailAddress), ClientContact = this.ClientContact(MailMessage.FromEmail), Subject = MailMessage.Subject, Description = MailMessage.Body, Email = MailMessage.FromEmail
                };
                ticket.TicketComments.Add(new IntelliServe.Module.BusinessObjects.TicketComment(this._dataSourceHelper.Session)
                {
                    Comment = string.Format("Email Ticket created by {0} from {1}", MailMessage.From, _clientApplicationsObject.Database)
                });

                foreach (MailMessageAttachment attachment in MailMessage.Attachments)
                {
                    DevExpress.Persistent.BaseImpl.FileData fileData = new DevExpress.Persistent.BaseImpl.FileData(this._dataSourceHelper.Session);
                    fileData.LoadFromStream(attachment.Name, new MemoryStream(attachment.Content));

                    ticket.TicketAttachments.Add(new IntelliServe.Module.BusinessObjects.TicketAttachment(this._dataSourceHelper.Session)
                    {
                        Description = attachment.Name, Document = fileData
                    });
                }
            }
            ticket.Save();
        }