コード例 #1
0
        public IActionResult UpdateParent([FromBody] PostCategoryUpdateParentViewModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = ModelState.ToDictionary(x => x.Key, x => x.Value.Errors.Select(e => e.ErrorMessage).ToList())
                             .Select(x => new ValidationResponse()
                {
                    Key         = x.Key,
                    Validations = x.Value
                });
                return(BadRequest(errors));
            }

            var validator = new PostCategoryUpdateParentValations();
            var result    = validator.Validate(model);

            if (!result.IsValid)
            {
                var errors = result.Errors.GroupBy(x => x.PropertyName)
                             .Select(x => new ValidationResponse()
                {
                    Key         = x.Key,
                    Validations = x.ToList().Select(k => k.ErrorMessage).ToList()
                }).ToList();
                return(BadRequest(errors));
            }

            return(DoActionWithReturnResult(() =>
            {
                _postCategoryService.UpdateParent(model, CurrentUserId);
                _postCategoryService.Save();
                return Ok();
            }));
        }
コード例 #2
0
        public void UpdateParent(PostCategoryUpdateParentViewModel model, Guid currentUserId)
        {
            var entity = _postCategoryRepository.FindBy(x => x.Id == model.Id && !x.DeleteBy.HasValue).FirstOrDefault();

            if (entity == null)
            {
                throw new EcommerceException("POST_CATEGORY_NOT_FOUND");
            }

            entity.ParentId = model.ParentId;
            entity.ChangeBy = currentUserId;
            entity.ChangeOn = DateTime.UtcNow;

            _postCategoryRepository.Update(entity);
        }