public ActionResult ImportAllTemplates() { // Hidden action for admins var converter = new MessageTemplateConverter(Services.DbContext); converter.ImportAll(Services.WorkContext.WorkingLanguage); NotifySuccess("All file based message templates imported successfully."); return(RedirectToAction("List")); }
public void Seed(SmartObjectContext context) { context.MigrateLocaleResources(MigrateLocaleResources); context.SaveChanges(); if (HostingEnvironment.IsHosted && DataSettings.DatabaseIsInstalled()) { // Import all xml templates on disk var converter = new MessageTemplateConverter(context); var language = ResolveMasterLanguage(context); converter.ImportAll(language); DropDefaultValueConstraint(context); } }
public ActionResult SaveInFile(int id) { var template = _messageTemplateService.GetMessageTemplateById(id); if (template == null) { return(RedirectToAction("List")); } try { var converter = new MessageTemplateConverter(Services.DbContext); converter.Save(template, Services.WorkContext.WorkingLanguage); } catch (Exception ex) { NotifyError(ex); } return(RedirectToAction("Edit", template.Id)); }
private void PopulateMessageTemplates() { var converter = new MessageTemplateConverter(_ctx); converter.ImportAll(_config.Language); }
private async Task PopulateMessageTemplates() { var converter = new MessageTemplateConverter(_db, EngineContext.Current.Application); await converter.ImportAllAsync(_config.Language); }
private void ValidateMessageContext(MessageContext ctx, ref object[] modelParts) { var t = ctx.MessageTemplate; if (t != null) { if (t.To.IsEmpty() || t.Subject.IsEmpty() || t.Name.IsEmpty()) { throw new InvalidOperationException("Message template validation failed, because at least one of the following properties has not been set: Name, To, Subject."); } } if (ctx.BaseUri == null) { ctx.BaseUri = new Uri(CommonHelper.GetBaseUrl); } if (ctx.LanguageId.GetValueOrDefault() == 0) { ctx.Language = _services.WorkContext.WorkingLanguage; ctx.LanguageId = ctx.Language.Id; } else { ctx.Language = _languageService.GetById(ctx.LanguageId.Value); } var parts = modelParts?.AsEnumerable() ?? Enumerable.Empty <object>(); if (ctx.MessageTemplate == null) { if (ctx.MessageTemplateName.IsEmpty()) { throw new ArgumentException("'MessageTemplateName' must not be empty if 'MessageTemplate' is null.", nameof(ctx)); } ctx.MessageTemplate = MessageTemplateConverter.Load(ctx.MessageTemplateName); if (ctx.MessageTemplate == null) { throw new FileNotFoundException("The message template '{0}' does not exist.".FormatInvariant(ctx.MessageTemplateName)); } } if (ctx.EmailAccount == null) { ctx.EmailAccount = GetEmailAccountOfMessageTemplate(ctx.MessageTemplate); } if (ctx.SystemSettings == null) { ctx.SystemSettings = _services.Resolve <ISystemSettingService>().Get(x => x.Status == 1); } if (ctx.Customer == null) { // Try to move Customer from parts to MessageContext var customer = parts.OfType <Customer>().FirstOrDefault(); if (customer != null) { // Exclude the found customer from parts list parts = parts.Where(x => !object.ReferenceEquals(x, customer)); } ctx.Customer = customer ?? _services.WorkContext.CurrentCustomer; } var orderDefault = parts.OfType <Order>().FirstOrDefault(); if (orderDefault != null) { foreach (var item in orderDefault.OrderItems) { item.Post = _postService.GetById(item.PostId); } } modelParts = parts.ToArray(); }