public ActionResult SaveClone(EmailTemplate model) { DBEntities e = COREobject.i.Context; if (ModelState.IsValid) { EmailTemplate row = e.EmailTemplates.Include("PlaceholderList").Include("ContentList").Single(m => m.Id == model.Id); // Naklonujeme šablonu EmailTemplate newRow = new EmailTemplate(); newRow.Name = model.Name; newRow.AppId = model.AppId; newRow.Is_HTML = model.Is_HTML; e.EmailTemplates.Add(newRow); e.SaveChanges(); // Naklonujeme proměnné foreach (EmailPlaceholder plc in row.PlaceholderList) { EmailPlaceholder newPlc = new EmailPlaceholder(); newPlc.Description = plc.Description; newPlc.Hermes_Email_Template_Id = newRow.Id; newPlc.Num_Order = plc.Num_Order; newPlc.Prop_Name = plc.Prop_Name; e.EmailPlaceholders.Add(newPlc); } // Naklonujeme content foreach (EmailTemplateContent content in row.ContentList) { EmailTemplateContent newContent = new EmailTemplateContent(); newContent.Content = content.Content; newContent.Content_Plain = content.Content_Plain; newContent.From_Email = content.From_Email; newContent.From_Name = content.From_Name; newContent.Hermes_Email_Template_Id = newRow.Id; newContent.LanguageId = content.LanguageId; newContent.Subject = content.Subject; e.EmailContents.Add(newContent); } e.SaveChanges(); return(RedirectToRoute("Hermes", new { @action = "Index" })); } else { return(View("~/Views/Hermes/Template/Form.cshtml", model)); } }
public ActionResult Delete(int?emailId, int?id) { DBEntities e = COREobject.i.Context; EmailPlaceholder row = e.EmailTemplates.Single(t => t.Id == emailId).PlaceholderList.Single(p => p.Id == id); if (row == null) { throw new Exception("Došlo k neoèekávané chybì"); } e.EmailPlaceholders.Remove(row); e.SaveChanges(); return(RedirectToRoute("HermesPlaceholders", new { @action = "Index", @emailId = emailId })); }
public ActionResult Save(EmailPlaceholder model, int?emailId, int?id) { if (emailId == null) { throw new Exception("Došlo k neoèekávané chybì"); } DBEntities e = COREobject.i.Context; if (!ModelState.IsValid && model.Id != 0) { return(View("~/Views/Hermes/Placeholder/Form.cshtml", model)); } else { // Záznam již existuje - pouze upravujeme if (!model.Id.Equals(0)) { EmailPlaceholder row = e.EmailPlaceholders.Single(m => m.Id == model.Id); row.Prop_Name = model.Prop_Name; row.Description = model.Description; e.SaveChanges(); } else { model.Hermes_Email_Template_Id = emailId.Value; if (e.EmailPlaceholders.Where(p => p.Hermes_Email_Template_Id == emailId).Count() == 0) { model.Num_Order = 1; } else { model.Num_Order = e.EmailPlaceholders.Where(p => p.Hermes_Email_Template_Id == emailId).OrderByDescending(p => p.Num_Order).First().Num_Order + 1; } e.EmailPlaceholders.Add(model); e.SaveChanges(); } return(RedirectToRoute("HermesPlaceholders", new { @action = "Index", @emailId = emailId })); } }
public ActionResult SaveNumOrder(int?emailId, ICollection <int> ids) { DBEntities e = COREobject.i.Context; List <EmailPlaceholder> list = e.EmailTemplates.Single(t => t.Id == emailId).PlaceholderList.ToList(); int order = 1; foreach (int id in ids) { EmailPlaceholder row = list.Single(p => p.Id == id); if (row == null) { throw new Exception("Došlo k neoèekávané chybì. Promìnná nebyla nalezena."); } row.Num_Order = order; order++; } e.SaveChanges(); return(RedirectToRoute("HermesPlaceholders", new { @action = "Index", @emailId = emailId })); }
private void BuildHermes() { progressHandler.SetActiveSection(EModule.Hermes); if (context != masterContext) { try { progressHandler.SetMessage(type: MessageType.Info, message: "Copying email templates"); // remove old context.EmailPlaceholders.RemoveRange(context.EmailPlaceholders.Where(ep => ep.Hermes_Email_Template.AppId == app.Id)); context.EmailContents.RemoveRange(context.EmailContents.Where(ec => ec.Hermes_Email_Template.AppId == app.Id)); context.EmailTemplates.RemoveRange(app.EmailTemplates); // add new foreach (EmailTemplate template in masterApp.EmailTemplates) { EmailTemplate newTemplate = new EmailTemplate { Application = app, Is_HTML = template.Is_HTML, Name = template.Name }; foreach (EmailPlaceholder placeholder in template.PlaceholderList) { EmailPlaceholder newPlaceholder = new EmailPlaceholder { Description = placeholder.Description, Num_Order = placeholder.Num_Order, Prop_Name = placeholder.Prop_Name }; newTemplate.PlaceholderList.Add(newPlaceholder); } foreach (EmailTemplateContent content in template.ContentList) { EmailTemplateContent newContent = new EmailTemplateContent { Content = content.Content, Content_Plain = content.Content_Plain, From_Email = content.From_Email, From_Name = content.From_Name, LanguageId = content.LanguageId, Subject = content.Subject }; newTemplate.ContentList.Add(newContent); } context.EmailTemplates.Add(newTemplate); } context.SaveChanges(); progressHandler.SetMessage(type: MessageType.Success, message: "Copying email templates completed"); } catch (Exception ex) { progressHandler.Error(ex.Message); } } else { progressHandler.SetMessage(type: MessageType.Info, message: "Copying email templates is not necessary to generate"); } }