/// <summary> /// Apply business logic here /// </summary> /// <param name="productsToImport"></param> /// <returns></returns> public Dictionary <string, List <string> > ValidateBusinessLogic(IEnumerable <ProductImportDataTransferObject> productsToImport) { var errors = new Dictionary <string, List <string> >(); var productRules = MrCMSApplication.GetAll <IProductImportValidationRule>(); var productVariantRules = MrCMSApplication.GetAll <IProductVariantImportValidationRule>(); foreach (var product in productsToImport) { var productErrors = productRules.SelectMany(rule => rule.GetErrors(product)).ToList(); if (productErrors.Any()) { errors.Add(product.UrlSegment, productErrors); } foreach (var variant in product.ProductVariants) { var productVariantErrors = productVariantRules.SelectMany(rule => rule.GetErrors(variant)).ToList(); if (productVariantErrors.Any()) { if (errors.All(x => x.Key != product.UrlSegment)) { errors.Add(product.UrlSegment, productVariantErrors); } else { errors[product.UrlSegment].AddRange(productVariantErrors); } } } } return(errors); }
public static void AddAppAdminStylesheets(this HtmlHelper html) { foreach (var script in MrCMSApplication.GetAll <IAppStylesheetList>().SelectMany(appScriptList => appScriptList.AdminStylesheets)) { html.IncludeCss(script); } }
public static void AddAppUIScripts(this HtmlHelper html) { foreach (var script in MrCMSApplication.GetAll <IAppScriptList>().SelectMany(appScriptList => appScriptList.UIScripts)) { html.IncludeScript(script); } }
public static IHtmlString ParseShortcodes(this HtmlHelper htmlHelper, string content) { var shortcodeParsers = MrCMSApplication.GetAll <IShortcodeParser>(); content = shortcodeParsers.Aggregate(content, (current, shortcodeParser) => shortcodeParser.Parse(htmlHelper, current)); return(new HtmlString(content)); }
/// <summary> /// Apply business logic here /// </summary> /// <param name="productsToImport"></param> /// <returns></returns> public Dictionary <string, List <string> > ValidateBusinessLogic(IEnumerable <ProductImportDataTransferObject> productsToImport) { var errors = new Dictionary <string, List <string> >(); var productRules = MrCMSApplication.GetAll <IProductImportValidationRule>(); var productVariantRules = MrCMSApplication.GetAll <IProductVariantImportValidationRule>(); var skus = new List <string>(); foreach (var product in productsToImport) { var productErrors = productRules.SelectMany(rule => rule.GetErrors(product)).ToList(); if (productErrors.Any()) { errors.Add(product.UrlSegment, productErrors); } foreach (var variant in product.ProductVariants) { if (skus.Contains(variant.SKU)) // duplicate sku check { var value = new List <string> { "Duplicate Global SKU: " + variant.SKU }; if (errors.All(x => x.Key != product.UrlSegment)) { errors.Add(product.UrlSegment, value); } else { errors[product.UrlSegment].AddRange(value); } } var productVariantErrors = productVariantRules.SelectMany(rule => rule.GetErrors(variant)).ToList(); if (productVariantErrors.Any()) { if (errors.All(x => x.Key != product.UrlSegment)) { errors.Add(product.UrlSegment, productVariantErrors); } else { errors[product.UrlSegment].AddRange(productVariantErrors); } } skus.Add(variant.SKU); } } return(errors); }
public Dictionary <string, List <string> > ValidateBusinessLogic(IEnumerable <BulkShippingUpdateDataTransferObject> items) { var errors = new Dictionary <string, List <string> >(); var rules = MrCMSApplication.GetAll <IBulkShippingUpdateValidationRule>(); foreach (var item in items) { var ruleErrors = rules.SelectMany(rule => rule.GetErrors(item)).ToList(); if (ruleErrors.Any()) { errors.Add(item.OrderId.ToString(), ruleErrors); } } return(errors); }
/// <summary> /// Validate Business Logic /// </summary> /// <param name="items"></param> /// <returns></returns> public Dictionary <string, List <string> > ValidateBusinessLogic(IEnumerable <DocumentImportDTO> items) { Dictionary <string, List <string> > errors = new Dictionary <string, List <string> >(); IEnumerable <IDocumentImportValidationRule> itemRules = MrCMSApplication.GetAll <IDocumentImportValidationRule>(); IList <DocumentImportDTO> documentImportDataTransferObjects = items as IList <DocumentImportDTO> ?? items.ToList(); foreach (DocumentImportDTO item in documentImportDataTransferObjects) { List <string> validationErrors = itemRules.SelectMany(rule => rule.GetErrors(item, documentImportDataTransferObjects)).ToList(); if (validationErrors.Any()) { errors.Add(item.UrlSegment, validationErrors); } } return(errors); }
static FieldDefinition() { IEnumerable <IFieldDefinitionInfo> fieldDefinitionInfos = MrCMSApplication.GetAll <IFieldDefinitionInfo>(); FieldNames = fieldDefinitionInfos.ToDictionary(info => info.GetType(), info => info.Name); }
public static IHtmlString ParseShortcodes(this HtmlHelper htmlHelper, string content) { System.Collections.Generic.IEnumerable <IShortcodeParser> shortcodeParsers = MrCMSApplication.GetAll <IShortcodeParser>(); content = shortcodeParsers.Aggregate(content, (current, shortcodeParser) => shortcodeParser.Parse(htmlHelper, current)); return(new HtmlString(content)); }