public override ServiceResult <T> UpdateRange(params T[] items) { var ids = items.Select(m => m.ID).ToArray(); var baseParts = WidgetBasePartService.Get(m => ids.Contains(m.ID)); foreach (var item in items) { item.CopyTo(baseParts.FirstOrDefault(m => m.ID == item.ID)); } return(BeginTransaction(() => { var baseResult = WidgetBasePartService.UpdateRange(baseParts.ToArray()); if (baseResult.HasViolation) { ServiceResult <T> result = new ServiceResult <T>(); foreach (var item in baseResult.RuleViolations) { result.AddRuleViolation(item.ParameterName, item.ErrorMessage); } return result; } return base.UpdateRange(items); })); }
private ServiceResult <UrlRedirect> LoopTest(UrlRedirect item) { ServiceResult <UrlRedirect> result = new ServiceResult <UrlRedirect>(); List <string> direction = new List <string>(); direction.Add(item.DestinationURL.ToLowerInvariant()); UrlRedirect destiantion = item; List <UrlRedirect> allRedirects = GetAll().Where(m => m.ID != item.ID).ToList(); allRedirects.Add(item); while (true) { destiantion = allRedirects.FirstOrDefault(m => m.IsMatch(destiantion.DestinationURL)); if (destiantion == null) { break; } else { string url = destiantion.DestinationURL.ToLowerInvariant(); if (direction.Contains(url)) { direction.Add(url); result.AddRuleViolation("DestinationURL", string.Join(" > ", direction)); break; } else { direction.Add(url); } } } return(result); }
public ServiceResult <PageEntity> Publish(PageEntity item) { var result = new ServiceResult <PageEntity>(); result.Result = item; try { _eventManager.Trigger(Events.OnPagePublishing, item); string pageId = item.ID; BeginTransaction(() => { item.IsPublish = true; item.PublishDate = DateTime.Now; base.Update(item); item.ReferencePageID = item.ID; PublishAsNew(item); }); _eventManager.Trigger(Events.OnPagePublished, item); PageEntity publishedPage = Get(m => m.ReferencePageID == pageId && m.IsPublishedPage == true && m.Url != item.Url).FirstOrDefault(); if (publishedPage != null) { _eventManager.Trigger(new EventArg { Name = Events.OnPageUrlChanged, Data = publishedPage.Url }, item); } } catch (Exception ex) { result.AddRuleViolation("Title", ex.Message); } return(result); }
private ServiceResult <ProductEntity> ValidProductType(ProductEntity product) { ServiceResult <ProductEntity> serviceResult = new ServiceResult <ProductEntity>(); ProductCategory productType = _productCategoryService.Get(product.ProductCategoryID); if (productType == null) { serviceResult.AddRuleViolation("ProductTypeID", "Product type is not exist."); return(serviceResult); } return(serviceResult); }
private ServiceResult <ArticleEntity> ValidArticleType(ArticleEntity article) { ServiceResult <ArticleEntity> serviceResult = new ServiceResult <ArticleEntity>(); ArticleType articleType = _articleTypeService.Get(article.ArticleTypeID ?? 0); if (articleType == null) { serviceResult.AddRuleViolation("ArticleTypeID", "Article type is not exist."); return(serviceResult); } return(serviceResult); }
private ServiceResult <ProductCategory> ValidParentId(ProductCategory productCategory) { ServiceResult <ProductCategory> result = new ServiceResult <ProductCategory>(); if (productCategory.ParentID > 0) { var parentProductCategory = _productCategoryService.Get(productCategory.ParentID); if (parentProductCategory == null) { result.AddRuleViolation("ParentID", "Parent is not exist"); } } return(result); }
private ServiceResult <ArticleType> ValidParentId(ArticleType articleType) { ServiceResult <ArticleType> result = new ServiceResult <ArticleType>(); if (articleType.ParentID.HasValue) { var parentArticleType = _articleTypeService.Get(articleType.ParentID.Value); if (parentArticleType == null) { result.AddRuleViolation("ParentID", "Parent is not exist"); } } return(result); }
private ServiceResult <UrlRedirect> PatternTest(UrlRedirect item) { ServiceResult <UrlRedirect> exceptionResult = new ServiceResult <UrlRedirect>(); if (item.IsPattern ?? false) { try { item.ParsePattern(); } catch (Exception ex) { exceptionResult.AddRuleViolation("InComingUrl", ex.Message); } } return(exceptionResult); }
public override ServiceResult <T> Update(T item) { return(BeginTransaction(() => { var basePart = WidgetBasePartService.Get(item.ID); item.CopyTo(basePart); var baseResult = WidgetBasePartService.Update(basePart); if (baseResult.HasViolation) { ServiceResult <T> result = new ServiceResult <T>(); foreach (var item in baseResult.RuleViolations) { result.AddRuleViolation(item.ParameterName, item.ErrorMessage); } return result; } return base.Update(item); })); }
public override ServiceResult <T> Add(T item) { return(BeginTransaction(() => { var id = Guid.NewGuid().ToString("N"); var basePart = item.ToWidgetBasePart(); basePart.ID = id; var baseResult = WidgetBasePartService.Add(basePart); if (baseResult.HasViolation) { ServiceResult <T> result = new ServiceResult <T>(); foreach (var item in baseResult.RuleViolations) { result.AddRuleViolation(item.ParameterName, item.ErrorMessage); } return result; } item.ID = basePart.ID; return base.Add(item); })); }