public async Task <CategoryDTO> CreateAsync(CategoryPostRequest model, ApiDbContext apiDbContext) { try { var categoryFound = apiDbContext.Categories.FirstOrDefault(p => p.Code.ToUpper().Trim().Equals(model.Code.ToUpper().Trim())); if (categoryFound != null) { throw new Exception($"Ya existe una categoría con el código {model.Code}"); } Category newCategory = new Category { Code = model.Code, Name = model.Name, CreationDate = DateTime.Now }; await apiDbContext.Categories.AddAsync(newCategory); await apiDbContext.SaveChangesAsync(); return(ModelToDTO(newCategory)); } catch (Exception e) { throw new Exception(e.Message); } }
public async Task <IActionResult> Create(CategoryPostRequest model) { try { if (!ModelState.IsValid) { throw new Exception("Petición de alta inválida"); } return(Ok(await _categoryService.CreateAsync(model, _apiDbContext))); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
public async Task <IActionResult> PutCategory(int id, CategoryPostRequest cateRequest) { var putCategory = new Category { CategoryName = cateRequest.Name, ParentId = cateRequest.parentId }; var isPutSuccessCategory = await _categoryService.UpdateCategory(id, putCategory); if (isPutSuccessCategory) { return(NoContent()); } else { return(NotFound()); } }
public async Task <ActionResult <CategoryViewModel> > PostCategory(CategoryPostRequest cateRequest) { var postCategory = new Category { CategoryName = cateRequest.Name, ParentId = cateRequest.parentId }; var isPostSuccessCategory = await _categoryService.CreateCategory(postCategory); if (isPostSuccessCategory) { return(NoContent()); } else { return(NotFound()); } }