Пример #1
0
        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));
        }
Пример #3
0
        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)));
 }