示例#1
0
        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));
            }
        }
示例#2
0
        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);
        }
示例#3
0
 public IActionResult Put(int id, [FromBody] Caixa caixa)
 {
     try
     {
         _repo.Alterar(caixa);
         return(Ok(_repo.SelecionarTudo()));
     }
     catch (System.Exception)
     {
         return(StatusCode(500));
     }
 }
示例#4
0
        public async Task <Caixa> Alterar(int idCaixa, Caixa caixa)
        {
            try
            {
                await ValidarCaixaExistente(idCaixa);

                return(await _caixaRepository.Alterar(caixa));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }