예제 #1
0
        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);
            }
        }
예제 #2
0
        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));
            }
        }
예제 #3
0
        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());
            }
        }
예제 #4
0
        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());
            }
        }