public ActionResult CreatePost(EmailTemplateViewModel model) { if (!this.services.Authorizer.Authorize(Permissions.BasicDataPermission)) { return new HttpUnauthorizedResult(); } if (!this.ModelState.IsValid) { model = model ?? new EmailTemplateViewModel(); this.FillByTypeItems(model.Types, null); return this.View("Create", model); } EmailTemplateRecord emailTemplate = new EmailTemplateRecord(); emailTemplate.Name = model.Name; emailTemplate.TypeId = model.TypeId; emailTemplate.Body = model.Text; emailTemplate.Subject = model.Subject; this.emailTemplateRepository.Create(emailTemplate); this.emailTemplateRepository.Flush(); return RedirectToAction("Index"); }
private void CreateEmailTemplates() { var emailTemplates = this.emailTemplatesRepository.Table.ToList(); // Ticket EmailTemplateRecord newTicketEmailTemplate = emailTemplates.FirstOrDefault(c => c.TypeId == (int)EmailTemplateType.TicketAssignedToUser); if (newTicketEmailTemplate == null) { newTicketEmailTemplate = new EmailTemplateRecord { TypeId = (int)EmailTemplateType.TicketAssignedToUser, Subject = "New Ticket {ETicket.Title}", Body = @"<p>Dear {EUser.FullName}</p> <p>It is to let you know that the ticket '{ETicket.Title}' has been assigned to you.</p> <p><span style='display: inline-block; width: 150px; color: gray;'>Requesting User:</span> <span>{ETicket.RequestingUserFullName}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Title:</span> <span>{ETicket.Title}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Priority:</span> <span>{ETicket.Priority}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Service:</span> <span>{ETicket.Service}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Ticket Type:</span> <span>{ETicket.TicketType}</span></p> <p>Orchard Collaboration System</p>", Name = "Ticket Assignment EmailTemplate" }; this.emailTemplatesRepository.Create(newTicketEmailTemplate); } // Ticket EmailTemplateRecord followerEmailTemplate = emailTemplates.FirstOrDefault(c => c.TypeId == (int)EmailTemplateType.FollowersNotification); if (followerEmailTemplate == null) { followerEmailTemplate = new EmailTemplateRecord { TypeId = (int)EmailTemplateType.FollowersNotification, Subject = "New Changes in {EActivityStream.ContentDescription}", Body = @"<p>Dear {EUser.FullName}</p> <p>It is to let you know that the following changes has been applied to <a href='{EActivityStream.Url}'>'{EActivityStream.ContentDescription}'</a></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Changed by:</span> <span>{EActivityStream.ChangedByFullname}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Description:</span> <span>{EActivityStream.ChangeDescription}</span></p> <p>{EActivityStream.Changes}</p> <p>Orchard Collaboration System</p>", Name = "New Changes Notification" }; this.emailTemplatesRepository.Create(followerEmailTemplate); } // CRM Comment EmailTemplateRecord commentEmailTemplate = emailTemplates.FirstOrDefault(c => c.TypeId == (int)EmailTemplateType.NewMessage); if (commentEmailTemplate == null) { commentEmailTemplate = new EmailTemplateRecord { TypeId = (int)EmailTemplateType.NewMessage, Subject = "New Comment {ETitle.Title}", Body = @"<p>Dear {EUser.FullName}</p> <p>It is to let you know that a new comment for the ticket '{ETicket.Title}' has been written.</p> <p><span style='display: inline-block; width: 150px; color: gray;'>Requesting User:</span> <span>{ETicket.RequestingUserFullName}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Title:</span> <span>{ETicket.Title}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Priority:</span> <span>{ETicket.Priority}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Service:</span> <span>{ETicket.Service}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Ticket Type:</span> <span>{ETicket.TicketType}</span></p> <p>Orchard Collaboration System</p>", Name = "New Message EmailTemplate" }; this.emailTemplatesRepository.Create(commentEmailTemplate); } // EmailTemplateRecord createTicketConfirmationTemplate = emailTemplates.FirstOrDefault(c => c.TypeId == (int)EmailTemplateType.TicketCreated); if (createTicketConfirmationTemplate == null) { createTicketConfirmationTemplate = new EmailTemplateRecord { TypeId = (int)EmailTemplateType.TicketCreated, Subject = "New Ticket Confirmation {ETitle.Title}", Body = @"<p>Dear {EUser.FullName}</p> <p>It is to let you know that the ticket '{ETicket.Title}' has been created successfully.</p> <p><span style='display: inline-block; width: 150px; color: gray;'>Requesting User:</span> <span>{ETicket.RequestingUserFullName}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Title:</span> <span>{ETicket.Title}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Priority:</span> <span>{ETicket.Priority}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Service:</span> <span>{ETicket.Service}</span></p> <p><span style='display: inline-block; width: 150px; color: gray;'>Ticket Type:</span> <span>{ETicket.TicketType}</span></p> <p>Orchard Collaboration System</p>", Name = "Ticket creation EmailTemplate" }; this.emailTemplatesRepository.Create(createTicketConfirmationTemplate); } this.emailTemplatesRepository.Flush(); }