public async Task Update(CarGroupUpdateDto carGroupDto) { var carGroupRepository = DataContextManager.CreateRepository <ICarGroupRepository>(); var carGroup = await carGroupRepository.GetById(carGroupDto.Id); if (carGroup == null) { throw new ObjectNotFoundException(); } var carGroupWithSameName = await carGroupRepository.GetByName(carGroupDto.Name, carGroupDto.Id); if (carGroupWithSameName != null) { throw new UpdatingException(); } var carSubgroupRepository = DataContextManager.CreateRepository <ICarSubgroupRepository>(); var carSubgroups = await carSubgroupRepository.GetByIds(carGroupDto.CarSubgroupIds); carGroup.Name = carGroupDto.Name; carGroup.UpdateDate = DateTime.Now; AddCarSubgroups(carGroup, carSubgroups); DeleteCarSubgroups(carGroup, carSubgroups); await carGroupRepository.Update(carGroup); }
public async Task <ActionResult> UpdateCarGroup([FromBody] CarGroupUpdateDto carGroup) { if (!ModelState.IsValid) { return(BadRequest()); } try { await _carGroupService.Update(carGroup); 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())); } }