public IActionResult PutFecharCaixa(Caixa caixa) { try { var statusCaixa = _repoCaixa.Selecionar(caixa.Id); if (statusCaixa == null) { return(NoContent()); } if (statusCaixa.Status == StatusDoCaixaEnum.Fechado) { return(BadRequest($"Caixa Id:{statusCaixa.Id} não esta aberto.")); } if (statusCaixa.UsuarioId != caixa.UsuarioId) { return(BadRequest("Usuário não pertence a este caixa")); } statusCaixa.Status = StatusDoCaixaEnum.Fechado; statusCaixa.DataFechamento = DateTime.Now; statusCaixa.ValorTotal = statusCaixa.Vendas.Sum(v => v.ValorTotal); _repoCaixa.Alterar(statusCaixa); return(Ok(_mapper.Map <CaixasDto>(statusCaixa))); } catch (Exception) { return(StatusCode(500)); } }
public bool Salvar(CaixaDTO dto) { if (!EhPermitidoSalvar()) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (dto == null) { throw new ArgumentNullException("dto"); } if (string.IsNullOrEmpty(dto.Descricao)) { messageQueue.Add(string.Format(Resource.Sigim.ErrorMessages.CampoObrigatorio, "Descrição"), TypeMessage.Error); return(false); } bool novoItem = false; var caixa = caixaRepository.ObterPeloId(dto.Id, l => l.CentroCusto); if (caixa == null) { caixa = new Caixa(); novoItem = true; } caixa.Descricao = dto.Descricao; caixa.Situacao = dto.Situacao; caixa.CentroContabil = dto.CentroContabil; caixa.CodigoCentroCusto = dto.CentroCusto.Codigo; if (Validator.IsValid(caixa, out validationErrors)) { if (novoItem) { caixaRepository.Inserir(caixa); } else { caixaRepository.Alterar(caixa); } caixaRepository.UnitOfWork.Commit(); messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success); return(true); } else { messageQueue.AddRange(validationErrors, TypeMessage.Error); } return(false); }
public IActionResult Put(int id, [FromBody] Caixa caixa) { try { _repo.Alterar(caixa); return(Ok(_repo.SelecionarTudo())); } catch (System.Exception) { return(StatusCode(500)); } }
public async Task <Caixa> Alterar(int idCaixa, Caixa caixa) { try { await ValidarCaixaExistente(idCaixa); return(await _caixaRepository.Alterar(caixa)); } catch (Exception ex) { throw ex; } }