예제 #1
0
        public async Task DeleteCategory(BatchInput <int> input)
        {
            if (input.Ids == null || input.Ids.Count() <= 0)
            {
                return;
            }

            foreach (var id in input.Ids)
            {
                await _catalogyManager.DeleteAsync(id);
            }
        }
예제 #2
0
        public async Task DeleteAsync(EntityDto <int> input)
        {
            var cat = await _categoryRepository.FirstOrDefaultAsync(input.Id);

            if (cat == null)
            {
                throw new UserFriendlyException("Category Not Found");
            }
            else
            {
                await _categoryManager.DeleteAsync(cat);
            }
        }
예제 #3
0
        public async Task <IActionResult> Delete([FromBody] int id)
        {
            var data = await _categoryManager.DeleteAsync(new Category { CategoryId = (short)id });

            if (data)
            {
                return(Ok("Category deleted"));
            }
            else
            {
                return(BadRequest("Category could not be deleted."));
            }
        }
예제 #4
0
        public async Task <IActionResult> Delete(string id)
        {
            var ok = int.TryParse(id, out var categoryId);

            if (!ok)
            {
                return(NotFound());
            }

            // Get category
            var category = await _categoryStore.GetByIdAsync(categoryId);

            // Ensure category exists
            if (category == null)
            {
                return(NotFound());
            }

            // Compile any errors that may occur
            var errors = new List <CommandError>();

            // First delete all child categories
            var children = await _categoryStore.GetChildrenByIdAsync(category.Id);

            if (children != null)
            {
                foreach (var child in children)
                {
                    if (child.Id == category.Id)
                    {
                        continue;
                    }
                    var childResult = await _categoryManager.DeleteAsync(child);

                    if (childResult.Errors.Any())
                    {
                        errors.AddRange(childResult.Errors);
                        break; // Exit if we encounter any errors
                    }
                }
            }

            // Report any errors that may have occurred whilst deleting
            // child categories and return
            if (errors.Any())
            {
                foreach (var error in errors)
                {
                    _alerter.Danger(T[error.Description]);
                }
                return(RedirectToAction(nameof(Index)));
            }

            // Next if everything was OK delete the target category
            var result = await _categoryManager.DeleteAsync(category);

            if (result.Succeeded)
            {
                _alerter.Success(T["Category Deleted Successfully"]);
            }
            else
            {
                // Report any errors
                foreach (var error in result.Errors)
                {
                    _alerter.Danger(T[error.Description]);
                }
            }

            return(RedirectToAction(nameof(Index)));
        }
 public async Task DeleteAsync(Guid id)
 {
     await _categoryManager.DeleteAsync(id);
 }
예제 #6
0
 public void Delete(int id)
 {
     _categoryManager.DeleteAsync(id);
 }