Example #1
0
        private ValidationDictionary <ViewModelNewsCategory> SaveNewsCategory(int clientId, ViewModelNewsCategory viewModelNewsCategory)
        {
            var validator = new ValidationDictionary <ViewModelNewsCategory>();

            if (viewModelNewsCategory == null)
            {
                validator.IsValid = false;
                validator.AddError("", "The XX you're trying to save is null");
                return(validator);
            }

            // rule based here
            var existingWithSameName = _newsCategoryRepository
                                       .FilterBy(o => o.NewsCategoryName.ToLower() == viewModelNewsCategory.NewsCategoryName.ToLower() &&
                                                 o.ClientId == clientId &&
                                                 !o.IsDeleted)
                                       .ToList();

            if (existingWithSameName.Any())
            {
                var haveSameId = viewModelNewsCategory.NewsCategoryId <= 0 ||
                                 (viewModelNewsCategory.NewsCategoryId > 0 &&
                                  existingWithSameName.Any(o => o.NewsCategoryId != viewModelNewsCategory.NewsCategoryId));
                if (haveSameId)
                {
                    validator.IsValid = false;
                    validator.AddError("", "News Category with same name is already existed");
                    return(validator);
                }
            }

            NewsCategory newsCategory;

            if (viewModelNewsCategory.NewsCategoryId > 0)
            {
                newsCategory = _newsCategoryRepository.FindBy(o => o.NewsCategoryId == viewModelNewsCategory.NewsCategoryId);
                var dateCreated = newsCategory.DateCreated;
                newsCategory.InjectFrom(viewModelNewsCategory);
                newsCategory.ClientId        = clientId;
                newsCategory.DateLastUpdated = DateTime.UtcNow;
                newsCategory.DateCreated     = dateCreated;
                _newsCategoryRepository.Update(newsCategory);
            }
            else
            {
                newsCategory = new NewsCategory();
                newsCategory.InjectFrom(viewModelNewsCategory);
                newsCategory.DateCreated     = DateTime.UtcNow;
                newsCategory.DateLastUpdated = DateTime.UtcNow;
                newsCategory.ClientId        = clientId;
                _newsCategoryRepository.Add(newsCategory);
            }

            var rawPinged = _newsCategoryRepository.FindBy(o => o.NewsCategoryId == newsCategory.NewsCategoryId && o.ClientId == clientId);
            var pinged    = new ViewModelNewsCategory().InjectFrom(rawPinged) as ViewModelNewsCategory;

            validator.IsValid       = true;
            validator.RelatedObject = pinged;
            return(validator);
        }
Example #2
0
        public IEnumerable <ViewModelNewsCategory> GetNewsCategories(int clientId)
        {
            var raw = _newsCategoryRepository.FilterBy(o => !o.IsDeleted && o.ClientId == clientId).ToList();

            var converted = raw.Select(item =>
            {
                var viewModelNewsCategory = new ViewModelNewsCategory();
                viewModelNewsCategory.InjectFrom(item);
                return(viewModelNewsCategory);
            }).ToList();

            return(converted);
        }
Example #3
0
        public Response <DtoBuncisNewsCategory> BPUpdateNewsCategory(int clientId, DtoBuncisNewsCategory newsCategory)
        {
            var service   = IoC.Resolve <INewsService>();
            var viewModel = new ViewModelNewsCategory().InjectFrom <CloneInjection>(newsCategory) as ViewModelNewsCategory;
            var result    = service.UpdateNewsCategory(clientId, viewModel);

            var response = new Response <DtoBuncisNewsCategory>();

            response.IsSuccess = result.IsValid;
            response.Message   = result.ValidationSummaryToString();
            if (response.IsSuccess)
            {
                var responseObject = new DtoBuncisNewsCategory().InjectFrom <CloneInjection>(result.RelatedObject) as DtoBuncisNewsCategory;
                response.ResponseObject = responseObject;
            }

            return(response);
        }
Example #4
0
 public ValidationDictionary <ViewModelNewsCategory> UpdateNewsCategory(int clientId, ViewModelNewsCategory viewModelNewsCategory)
 {
     return(SaveNewsCategory(clientId, viewModelNewsCategory));
 }