public async Task <ActionResult> Update([FromBody] Car car) { try { if (car == null) { return(StatusCode(StatusCodes.Status400BadRequest, "Объект машины пуст")); } if (await _carStorage.CheckOnExistWithTheSameParametrs(car).ConfigureAwait(false)) { return(StatusCode(StatusCodes.Status409Conflict, "Машина с данными параметрами уже существует")); } car.Url = car.Url?.Trim(); if (!string.IsNullOrEmpty(car.Url) && !IsUrlInRu(car.Url)) { return(StatusCode(StatusCodes.Status400BadRequest, "Ссылка не находится в домене .ru")); } var response = await _carStorage.Update(car).ConfigureAwait(false); return(StatusCode(StatusCodes.Status200OK, response)); } catch (Exception exeption) { return(StatusCode(StatusCodes.Status500InternalServerError, exeption.Message)); } }
public void CreateOrUpdate(CarBindingModel model) { var element = CarStorage.GetElement(new CarBindingModel { Model = model.Model }); if (element != null && element.Id != model.Id) { throw new Exception("Уже есть автомобиль такой модели"); } if (model.Id.HasValue) { CarStorage.Update(model); } else { CarStorage.Insert(model); } }