public async Task Update(CarSubgroupUpdateDto carSubgroupDto) { var carSubgroupRepository = DataContextManager.CreateRepository <ICarSubgroupRepository>(); var carSubgroup = await carSubgroupRepository.GetById(carSubgroupDto.Id); if (carSubgroup == null) { throw new ObjectNotFoundException(); } var carSubgroupWithSameName = await carSubgroupRepository.GetByName(carSubgroupDto.Name, carSubgroupDto.Id); if (carSubgroupWithSameName != null) { throw new UpdatingException(); } var carRepository = DataContextManager.CreateRepository <ICarRepository>(); var cars = await carRepository.GetCarsByIds(carSubgroupDto.CarIds); carSubgroup.Name = carSubgroupDto.Name; carSubgroup.UpdateDate = DateTime.Now; AddCars(carSubgroup, cars); DeleteCars(carSubgroup, cars); await carSubgroupRepository.Update(carSubgroup); }
public async Task <ActionResult> UpdateCarSubgroup([FromBody] CarSubgroupUpdateDto carSubgroup) { if (!ModelState.IsValid) { return(BadRequest()); } try { await _carSubgroupService.Update(carSubgroup); return(Ok()); } catch (ObjectNotFoundException onfex) { _log.Error(onfex); return(StatusCode((int)HttpStatusCode.Forbidden, ErrorMessage.NOTEXIST.ToString())); } catch (UpdatingException uex) { _log.Error(uex); return(StatusCode((int)HttpStatusCode.Forbidden, ErrorMessage.SAMENAME.ToString())); } }