示例#1
0
        public DTOCaixa ObterCaixaAtual()
        {
            Caixa caixaAtual = this._repositorio.ObterUltimoCaixaAberto();

            try
            {
                DTOCaixa dto = new DTOCaixa();
                dto.DataAbertura              = caixaAtual.DataAbertura;
                dto.EstaAberto                = caixaAtual.EstaAberto;
                dto.SaldoAbertura             = caixaAtual.SaldoAbertura;
                dto.SaldoCartaoCredito        = caixaAtual.SaldoCartaoCredito;
                dto.SaldoCartaoDebito         = caixaAtual.SaldoCartaoDebito;
                dto.SaldoDinheiro             = caixaAtual.SaldoDinheiro;
                dto.SaldoGeral                = caixaAtual.SaldoGeral;
                dto.TotalAtendimentosDinheiro = caixaAtual.TotalAtendimentosDinheiro;
                dto.TotalReforcos             = caixaAtual.TotalReforcos;
                dto.TotalSangrias             = caixaAtual.TotalSangrias;
                dto.TotalTrocos               = caixaAtual.TotalTrocos;

                return(dto);
            }
            catch (NullReferenceException)
            {
                throw new ExcecaoNenhumCaixaAberto();
            }
        }
示例#2
0
        public void Nao_Devo_Conseguir_Obter_O_Caixa_Atual_Aberto_Se_Nao_Houver_Nenhum_Caixa_Aberto()
        {
            var repositorioCaixa = new Mock <ICaixaRepositorio>();

            repositorioCaixa.Setup(r => r.ObterUltimoCaixaAberto())
            .Returns <Caixa>(null);

            IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixa.Object);
            DTOCaixa      dto     = fachada.ObterCaixaAtual();
        }
示例#3
0
 public Boolean VerificaDataAberturaIgualDiaCorrente(DTOCaixa dto)
 {
     try
     {
         return(dto.DataAbertura.Date.Equals(DateTime.Now.Date));
     }
     catch (NullReferenceException)
     {
         throw new ExcecaoParametroInvalido("dto");
     }
 }
示例#4
0
        public void Devo_Conseguir_Verificar_Data_Abertura_Caixa_Atual_Igual_Dia_Corrente()
        {
            DTOCaixa caixaDTO = new DTOCaixa();

            caixaDTO.DataAbertura = Convert.ToDateTime("01/01/2013");

            IFachadaCaixa fachadaCaixa = new FachadaCaixa(null);

            Assert.IsFalse(fachadaCaixa.VerificaDataAberturaIgualDiaCorrente(caixaDTO));

            caixaDTO.DataAbertura = DateTime.Now;

            Assert.IsTrue(fachadaCaixa.VerificaDataAberturaIgualDiaCorrente(caixaDTO));
        }
示例#5
0
        public ControladorSaldoDoCaixa(IVisaoSaldoDoCaixa visao) : base(visao)
        {
            this._fachada = ObjectFactory.GetInstance <IFachadaCaixa>();

            DTOCaixa dto = null;

            try
            {
                dto = this._fachada.ObterCaixaAtual();
            }
            catch (ExcecaoNenhumCaixaAberto ex)
            {
                this._visaoPadrao.ExibirErro(ex.Message);
                this._visao.VoltarParaTelaAnterior();
            }

            this._visao.SetDataAbertura(dto.DataAbertura);

            if (dto.SaldoDinheiro > 0)
            {
                this._visao.MostrarSaldoDinheiro(true);
                this._visao.SetSaldoDinheiro(dto.SaldoDinheiro);
            }
            else
            {
                this._visao.MostrarSaldoDinheiro(false);
            }

            if (dto.SaldoCartaoCredito > 0)
            {
                this._visao.MostrarSaldoCartaoCredito(true);
                this._visao.SetSaldoCartaoCredito(dto.SaldoCartaoCredito);
            }
            else
            {
                this._visao.MostrarSaldoCartaoCredito(false);
            }


            if (dto.SaldoCartaoDebito > 0)
            {
                this._visao.MostrarSaldoCartaoDebito(true);
                this._visao.SetSaldoCartaoDebito(dto.SaldoCartaoDebito);
            }
            else
            {
                this._visao.MostrarSaldoCartaoDebito(false);
            }
        }
示例#6
0
 private void AlterarSituacaoCaixa(DTOCaixa dto)
 {
     try
     {
         if (dto.EstaAberto)
         {
             this._visao.AlterarSituacaoCaixa(true);
             this._visao.ExibirAvisoDataCaixaDifereDataAtual(!this._fachadaCaixa.VerificaDataAberturaIgualDiaCorrente(dto));
         }
     }
     catch (NullReferenceException)
     {
         this._visao.AlterarSituacaoCaixa(false);
         this._visao.ExibirAvisoDataCaixaDifereDataAtual(false);
     }
 }
示例#7
0
        public void Devo_Conseguir_Obter_O_Caixa_Aberto_Atual_Com_Os_Valores_De_Saldo_Detalhado()
        {
            var caixa = new Mock <Caixa>();

            caixa.Setup(c => c.EstaAberto).Returns(true);
            caixa.Setup(c => c.DataAbertura).Returns(DateTime.Now);

            caixa.Setup(c => c.SaldoAbertura).Returns(100);
            caixa.Setup(c => c.TotalAtendimentosDinheiro).Returns(3000);
            caixa.Setup(c => c.TotalSangrias).Returns(300);
            caixa.Setup(c => c.TotalReforcos).Returns(100);
            caixa.Setup(c => c.TotalTrocos).Returns(100);

            caixa.Setup(c => c.SaldoDinheiro).Returns(2900);
            caixa.Setup(c => c.SaldoCartaoCredito).Returns(232);
            caixa.Setup(c => c.SaldoCartaoDebito).Returns(87);
            caixa.Setup(c => c.SaldoGeral).Returns(3219);

            var repositorioCaixa = new Mock <ICaixaRepositorio>();

            repositorioCaixa.Setup(r => r.ObterUltimoCaixaAberto())
            .Returns(caixa.Object);

            IFachadaCaixa fachada = new FachadaCaixa(repositorioCaixa.Object);
            DTOCaixa      dto     = fachada.ObterCaixaAtual();

            Assert.IsTrue(dto.EstaAberto);
            Assert.AreEqual(DateTime.Today, dto.DataAbertura.Date);
            Assert.AreEqual(100m, dto.SaldoAbertura);
            Assert.AreEqual(3000m, dto.TotalAtendimentosDinheiro);
            Assert.AreEqual(300m, dto.TotalSangrias);
            Assert.AreEqual(100m, dto.TotalReforcos);
            Assert.AreEqual(2900m, dto.SaldoDinheiro);
            Assert.AreEqual(232m, dto.SaldoCartaoCredito);
            Assert.AreEqual(87m, dto.SaldoCartaoDebito);
            Assert.AreEqual(3219m, dto.SaldoGeral);
            Assert.AreEqual(100, dto.TotalTrocos);
        }
示例#8
0
        public ControladorExtratoDoCaixa(IVisaoExtratoDoCaixa visao)
            : base(visao)
        {
            this._fachada = ObjectFactory.GetInstance <IFachadaCaixa>();

            try
            {
                DTOCaixa dto = this._fachada.ObterCaixaAtual();

                this._visao.SetDataAbertura(dto.DataAbertura);
                this._visao.SetTotalDinheiro(dto.SaldoDinheiro);
                this._visao.SetTotalCartaoCredito(dto.SaldoCartaoCredito);
                this._visao.SetTotalCartaoDebito(dto.SaldoCartaoDebito);
            }
            catch (ExcecaoNenhumCaixaAberto ex)
            {
                this._visaoPadrao.ExibirErro(ex.Message);
                this._visao.VoltarParaTelaAnterior();
            }

            IEnumerable <DTOLancamentoCaixa> extrato = this._fachada.ObterExtrato();

            foreach (DTOLancamentoCaixa l in extrato)
            {
                switch (l.TipoPagamento)
                {
                case TipoPagamentoLancamentoCaixa.Dinheiro:      this._visao.AdicionarLancamento(l.DataHora, l.Descricao, l.Valor, 0, 0);
                    break;

                case TipoPagamentoLancamentoCaixa.CartaoCredito: this._visao.AdicionarLancamento(l.DataHora, l.Descricao, 0, l.Valor, 0);
                    break;

                case TipoPagamentoLancamentoCaixa.CartaoDebito:  this._visao.AdicionarLancamento(l.DataHora, l.Descricao, 0, 0, l.Valor);
                    break;
                }
            }
        }
        public ControladorSaldoDoCaixaDetalhado(IVisaoSaldoDoCaixaDetalhado visao)
            : base(visao)
        {
            this._fachada = ObjectFactory.GetInstance <IFachadaCaixa>();

            try
            {
                DTOCaixa dto = this._fachada.ObterCaixaAtual();

                this._visao.SetDataAbertura(dto.DataAbertura);

                // Dinheiro
                if (dto.SaldoDinheiro > 0)
                {
                    // Saldo de abertura
                    if (dto.SaldoAbertura > 0)
                    {
                        this._visao.SetSaldoAbertura(dto.SaldoAbertura);
                    }
                    else
                    {
                        this._visao.OcultarSaldoAbertura();
                    }

                    // Total de Atendimentos
                    if (dto.TotalAtendimentosDinheiro > 0)
                    {
                        this._visao.SetTotalAtendimentosDinheiro(dto.TotalAtendimentosDinheiro);
                    }
                    else
                    {
                        this._visao.OcultarTotalAtendimentosDinheiro();
                    }

                    // Reforços
                    if (dto.TotalReforcos > 0)
                    {
                        this._visao.SetTotalReforcos(dto.TotalReforcos);
                    }
                    else
                    {
                        this._visao.OcultarTotalReforcos();
                    }

                    // Sangrias
                    if (dto.TotalSangrias > 0)
                    {
                        this._visao.SetTotalSangrias(dto.TotalSangrias);
                    }
                    else
                    {
                        this._visao.OcultarTotalSangrias();
                    }

                    // Trocos
                    if (dto.TotalTrocos > 0)
                    {
                        this._visao.SetTotalTrocos(dto.TotalTrocos);
                    }
                    else
                    {
                        this._visao.OcultarTotalTrocos();
                    }

                    // Saldo
                    this._visao.SetSaldoDinheiro(dto.SaldoDinheiro);
                }
                else
                {
                    this._visao.OcultarDinheiro();
                }

                // Cartão de Crédito
                if (dto.SaldoCartaoCredito > 0)
                {
                    this._visao.SetTotalAtendimentosCartaoCredito(dto.SaldoCartaoCredito);
                    this._visao.SetSaldoCartaoCredito(dto.SaldoCartaoCredito);
                }
                else
                {
                    this._visao.OcultarCartaoCredito();
                }

                // Cartão de Débito
                if (dto.SaldoCartaoDebito > 0)
                {
                    this._visao.SetTotalAtendimentosCartaoDebito(dto.SaldoCartaoDebito);
                    this._visao.SetSaldoCartaoDebito(dto.SaldoCartaoDebito);
                }
                else
                {
                    this._visao.OcultarCartaoDebito();
                }
            }
            catch (ExcecaoNenhumCaixaAberto ex)
            {
                this._visaoPadrao.ExibirErro(ex.Message);
                this._visao.VoltarParaTelaAnterior();
            }
        }