public async Task <LojaDTOUpdateReturn> Put(LojaDTOUpdate loja) { try { var model = _mapper.Map <LojaModel>(loja); var entity = _mapper.Map <Loja>(model); entity.Caixas.ToList().ForEach(x => x.Loja = entity); entity.Caixas.ToList().ForEach(x => x.Ativo = 'A'); entity.Caixas.ToList().ForEach(x => x.Datadeinclusao = DateTime.UtcNow); entity.Caixas.ToList().ForEach(x => x.Usuariodeinclusao = _currentUserAccessor.GetCurrentUser().Idusuario); entity.Caixas.ToList().ForEach(x => x.Fkparceiro = _currentUserAccessor.GetCurrentUser().Idparceiro); var _itemCadastrado = await _repository.SelectAsync(entity.Idloja); foreach (Caixa caixa in _itemCadastrado.Caixas) { if (entity.Caixas.FirstOrDefault(x => x.Idcaixa == caixa.Idcaixa) == null) { caixa.Ativo = 'I'; caixa.Datadeinativacao = DateTime.UtcNow; caixa.Usuariodeinativacao = _currentUserAccessor.GetCurrentUser().Idusuario; entity.Caixas.Add(caixa); } } foreach (Caixa caixa in entity.Caixas) { var _itemFilhoCadastrado = _itemCadastrado.Caixas.FirstOrDefault(x => x.Idcaixa == caixa.Idcaixa); if (_itemFilhoCadastrado != null) { caixa.Usuariodeinclusao = _itemFilhoCadastrado.Usuariodeinclusao; caixa.Datadeinclusao = _itemFilhoCadastrado.Datadeinclusao; } } var result = await _repository.UpdateAsync(entity, entity.Idloja); var retornodeAlteracao = await _repository.SelectAsync(entity.Idloja); return(_mapper.Map <LojaDTOUpdateReturn>(retornodeAlteracao)); } catch (Exception ex) { throw ex; } }
public async Task <ActionResult> Put([FromBody] LojaDTOUpdate loja) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = await _service.Put(loja); if (result != null) { return(Ok(await _service.Get(result.Idloja))); } else { return(BadRequest()); } } catch (ArgumentException ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }