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(); })); }
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); }