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(); } }
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(); }