public IEnumerable <ViewModelArticleCategory> GetArticleCategories(int clientId) { var raw = _articleCategoryRepository.FilterBy(o => !o.IsDeleted && o.ClientId == clientId).ToList(); var converted = raw.Select(item => { var viewModelArticleCategory = new ViewModelArticleCategory(); viewModelArticleCategory.InjectFrom(item); return(viewModelArticleCategory); }).ToList(); return(converted); }
public Response <DtoBuncisArticleCategory> BPUpdateArticleCategory(int clientId, DtoBuncisArticleCategory articleCategory) { var service = IoC.Resolve <IArticleService>(); var viewModel = new ViewModelArticleCategory().InjectFrom <CloneInjection>(articleCategory) as ViewModelArticleCategory; var result = service.UpdateArticleCategory(clientId, viewModel); var response = new Response <DtoBuncisArticleCategory>(); response.IsSuccess = result.IsValid; response.Message = result.ValidationSummaryToString(); if (response.IsSuccess) { var responseObject = new DtoBuncisArticleCategory().InjectFrom <CloneInjection>(result.RelatedObject) as DtoBuncisArticleCategory; response.ResponseObject = responseObject; } return(response); }
private ValidationDictionary <ViewModelArticleCategory> SaveArticleCategory(int clientId, ViewModelArticleCategory viewModelArticleCategory) { var validator = new ValidationDictionary <ViewModelArticleCategory>(); if (viewModelArticleCategory == null) { validator.IsValid = false; validator.AddError("", "The XX you're trying to save is null"); return(validator); } // rule based here var existingWithSameName = _articleCategoryRepository .FilterBy(o => o.ArticleCategoryName.ToLower() == viewModelArticleCategory.ArticleCategoryName.ToLower() && o.ClientId == clientId && !o.IsDeleted) .ToList(); if (existingWithSameName.Any()) { var haveSameId = viewModelArticleCategory.ArticleCategoryId <= 0 || (viewModelArticleCategory.ArticleCategoryId > 0 && existingWithSameName.Any(o => o.ArticleCategoryId != viewModelArticleCategory.ArticleCategoryId)); if (haveSameId) { validator.IsValid = false; validator.AddError("", "Article Category with same name is already existed"); return(validator); } } ArticleCategory articleCategory; if (viewModelArticleCategory.ArticleCategoryId > 0) { articleCategory = _articleCategoryRepository .FindBy(o => o.ArticleCategoryId == viewModelArticleCategory.ArticleCategoryId && o.ClientId == clientId); var dateCreated = articleCategory.DateCreated; articleCategory.InjectFrom(viewModelArticleCategory); articleCategory.ClientId = clientId; articleCategory.DateLastUpdated = DateTime.UtcNow; articleCategory.DateCreated = dateCreated; _articleCategoryRepository.Update(articleCategory); } else { articleCategory = new ArticleCategory(); articleCategory.InjectFrom(viewModelArticleCategory); articleCategory.ClientId = clientId; articleCategory.DateCreated = DateTime.UtcNow; articleCategory.DateLastUpdated = DateTime.UtcNow; _articleCategoryRepository.Add(articleCategory); } var rawPinged = _articleCategoryRepository .FindBy(o => o.ArticleCategoryId == articleCategory.ArticleCategoryId && o.ClientId == clientId); var pinged = new ViewModelArticleCategory().InjectFrom(rawPinged) as ViewModelArticleCategory; validator.IsValid = true; validator.RelatedObject = pinged; return(validator); }
public ValidationDictionary <ViewModelArticleCategory> UpdateArticleCategory(int clientId, ViewModelArticleCategory viewModelArticleCategory) { return(SaveArticleCategory(clientId, viewModelArticleCategory)); }