コード例 #1
0
        public IActionResult CreateManufacturer([FromBody] Manufacturer manufacturerToCreate)
        {
            if (manufacturerToCreate == null)
            {
                return(BadRequest(ModelState));
            }

            var manufacturer = _manufacturerRepository.GetManufacturers()
                               .Where(c => c.Name.Trim().ToUpper() == manufacturerToCreate.Name.Trim().ToUpper())
                               .FirstOrDefault();

            if (manufacturer != null)
            {
                ModelState.AddModelError("", $"Производитель {manufacturerToCreate.Name} уже существует");
                return(StatusCode(422, ModelState));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!_manufacturerRepository.CreateManufacturer(manufacturerToCreate))
            {
                ModelState.AddModelError("", $"Что-то пошло не так при попытку сохранить {manufacturerToCreate.Name}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetManufacturer", new { manufacturerId = manufacturerToCreate.Id }, manufacturerToCreate));
        }