Esempio n. 1
0
        public void EfetuarSangria(decimal valor)
        {
            if (CaixaCorrente != null && CaixaCorrente.Situacao == EnumCaixaSituacao.Fechado.ToString())
            {
                AdicionarMensagem("O caixa não está aberto.", EnumStatusDoResultado.RegraDeNegocioInvalida);
            }
            else
            {
                if (CaixaCorrente == null)
                {
                    AdicionarMensagem("Nome do caixa não foi encontrado.", EnumStatusDoResultado.RegraDeNegocioInvalida);
                }

                if (CaixaCorrente == null || CaixaCorrente.Situacao == EnumCaixaSituacao.Fechado.ToString())
                {
                    AdicionarMensagem("Não é possível efetuar sangria pois o caixa está fechado.", EnumStatusDoResultado.RegraDeNegocioInvalida);
                }
                else
                {
                    RegistrarMovimentacaoCaixa(EnumCaixaTipoOperacao.Sangria, valor, CaixaCorrente.CodigoOperacaoDeAbertura);
                    AdicionarMensagem("Sangria efetuada com sucesso.");
                    OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Sangria);
                }
            }
        }
Esempio n. 2
0
 public void FecharCaixa(decimal valorContabilizadoNoFechamento)
 {
     if (CaixaCorrente.Situacao == EnumCaixaSituacao.Fechado.ToString())
     {
         AdicionarMensagem("Não é possível fechar o caixa. Abra-o primeiro e tente novamente.", EnumStatusDoResultado.RegraDeNegocioInvalida);
     }
     else
     {
         var operacaoFechamento = RegistrarMovimentacaoCaixa(EnumCaixaTipoOperacao.Fechamento, valorContabilizadoNoFechamento, CaixaCorrente.CodigoOperacaoDeAbertura);
         CaixaCorrente.Situacao = EnumCaixaSituacao.Fechado.ToString();
         _repositorio.Atualizar(CaixaCorrente);
         RegistrarResultadoFechamento(operacaoFechamento, valorContabilizadoNoFechamento);
         AdicionarMensagem("Caixa fechado com sucesso.");
         OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Fechamento);
     }
 }
Esempio n. 3
0
 public void AbrirCaixa(decimal valor)
 {
     if (CaixaCorrente.Situacao == EnumCaixaSituacao.Aberto.ToString())
     {
         AdicionarMensagem("Não é possível abrir o caixa. Feche-o primeiro e tente novamente.", EnumStatusDoResultado.RegraDeNegocioInvalida);
     }
     else
     {
         var operacaoCorrente = RegistrarMovimentacaoCaixa(EnumCaixaTipoOperacao.Abertura, valor, string.Empty);
         CaixaCorrente.Situacao = EnumCaixaSituacao.Aberto.ToString();
         CaixaCorrente.CodigoOperacaoDeAbertura = operacaoCorrente.CodigoOperacaoCaixa;
         CaixaCorrente.OperacaoCaixas.Add(operacaoCorrente);
         _repositorio.Atualizar(CaixaCorrente);
         AdicionarMensagem("Caixa aberto com sucesso.");
         OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Abertura);
     }
 }
Esempio n. 4
0
 public void SincronizarCaixa()
 {
     OnOperacaoExecutada?.Invoke(EnumCaixaTipoOperacao.Sincronismo);
 }