Пример #1
0
        public async Task <SubCategoryDTO> Add(SubCategoryAddRequest model)
        {
            var oSubCategory = _mapper.Map <SubCategory>(model);

            if (await _repository.Add(oSubCategory))
            {
                return(_mapper.Map <SubCategoryDTO>(oSubCategory));
            }

            return(null);
        }
Пример #2
0
        public async Task <IActionResult> AddCategory(SubCategoryAddRequest model)
        {
            Response oR = new Response();

            try
            {
                if (!ModelState.IsValid)
                {
                    oR.Status  = StatusCodes.Status400BadRequest;
                    oR.Message = Messages.ValidationsFailed;
                    oR.Data    = GetModelErrors(ModelState);

                    return(BadRequest(oR));
                }

                if (!await _service.ExistsName(model.CategoryId, model.Name))
                {
                    ModelState.AddModelError("Name", Messages.ResourceNameAlreadyExists);

                    oR.Status  = StatusCodes.Status400BadRequest;
                    oR.Message = Messages.ValidationsFailed;
                    oR.Data    = GetModelErrors(ModelState);

                    return(BadRequest(oR));
                }

                var oCategory = await _service.Add(model);

                if (oCategory != null)
                {
                    oR.Status = StatusCodes.Status201Created;
                    oR.Data   = oCategory;

                    return(CreatedAtAction(nameof(GetById), new { id = oCategory.Id }, oR));
                }
                else
                {
                    oR.Status  = StatusCodes.Status500InternalServerError;
                    oR.Message = Messages.InternalServerError;

                    return(StatusCode(StatusCodes.Status500InternalServerError, oR));
                }
            }
            catch (Exception ex)
            {
                oR.Status  = StatusCodes.Status500InternalServerError;
                oR.Message = Messages.InternalServerError;

                return(StatusCode(StatusCodes.Status500InternalServerError, oR));
            }
        }