public IActionResult RemoveCategory([FromBody] RemoveCategoryRequest request) { var categoryContext = _dbContext.Set <Category>().Include(x => x.ProductCategories).Include(x => x.ChildCategories); var category = categoryContext.FirstOrDefault(x => x.Id == Guid.Parse(request.Id)); if (category == null) { return(BadRequest("Category doesnt exist")); } if (category.ChildCategories.Any()) { foreach (var child in category.ChildCategories) { child.ParentCategoryId = null; } } _dbContext.Remove(category); var result = _dbContext.SaveChanges(); if (result > 0) { return(Ok()); } return(BadRequest("Something went wrong with database")); }
public JsonResult Delete(System.Int32 id) { RemoveCategoryRequest request = new RemoveCategoryRequest(); request.CategoryID = id; RemoveCategoryResponse response = _categoryService.RemoveCategory(request); return(Json(response)); }
public RemoveCategoryResponse RemoveCategory(RemoveCategoryRequest request) { RemoveCategoryResponse response = new RemoveCategoryResponse(); response.Errors = new List <BusinessRule>(); try { if (_categoryRepository.Remove(request.CategoryID) > 0) { response.CategoryDeleted = true; } } catch (Exception ex) { response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message)); } return(response); }
public async Task <IHttpActionResult> Remove([FromUri] RemoveCategoryRequest request) { request.TenantUniqueId = Request.GetTenantUniqueId(); return(Ok(await _mediator.Send(request))); }