Пример #1
0
        public void CotaBO_ValidarCotas()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();

            compra.Login         = new Login();
            compra.CarrinhoItens = carrinhoBO.Listar("02kfpvahztwniota0ugz2nnv", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            compra                 = carrinhoBO.CalcularValores(compra);
            compra.SessionID       = "02kfpvahztwniota0ugz2nnv";
            compra.Login.ClienteID = 3465690;
            compra                 = cotaBO.CarregarCotaInformacao(compra);
            tDonoIngresso dono = new DonoIngressoBO().Consultar(2);

            foreach (var item in compra.CarrinhoItens)
            {
                item.CotaItemObject.DonoIngresso                          = new tDonoIngresso();
                item.CotaItemObject.DonoIngresso.ID                       = dono.ID;
                item.CotaItemObject.DonoIngresso.ClienteID                = dono.ClienteID;
                item.CotaItemObject.DonoIngresso.Nome                     = dono.Nome;
                item.CotaItemObject.DonoIngresso.CPF                      = dono.CPF;
                item.CotaItemObject.DonoIngresso.NomeResponsavel          = dono.NomeResponsavel;
                item.CotaItemObject.DonoIngresso.CPFResponsavel           = dono.CPFResponsavel;
                item.CotaItemObject.DonoIngresso.Telefone                 = dono.Telefone;
                item.CotaItemObject.DonoIngresso.RG                       = dono.RG;
                item.CotaItemObject.DonoIngresso.DataNascimentoAsDateTime = new DateTime(1990, 01, 01);
                item.CotaItemObject.DonoIngresso.Email                    = dono.Email;
            }
            compra = cotaBO.ValidarCotas(compra).Retorno;
            Assert.AreEqual(true, compra.CarrinhoItens[0].CotaItemObject.NominalAsBool || compra.CarrinhoItens[0].CotaItemObject.ValidaBinAsBool);
        }
Пример #2
0
        public void ValeIngressoBO_VerificarCompraSemVales()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();

            compra.CarrinhoItens = carrinhoBO.Listar("0003zo4qtrvb2ckt4c2qdy00", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            compra = carrinhoBO.CalcularValores(compra);
            RetornoModel <CompraModel> retorno = valeIngressoBO.VerificarCompra(compra);

            Assert.AreEqual(true, retorno.Sucesso);
        }
Пример #3
0
        /// <summary>
        /// Método que remove um vale ingresso de uma compra e retorna a compra com valor recalculado.
        /// </summary>
        /// <param name="compra"></param>
        /// <param name="valeIngresso"></param>
        /// <returns></returns>
        public CompraModel RemoverValeIngresso(CompraModel compra, tValeIngresso valeIngresso)
        {
            CarrinhoBO carrinhoBO = new CarrinhoBO(ado);

            if (compra.ValeIngressos != null && valeIngresso != null)
            {
                compra.ValeIngressos.RemoveAll(x => x.ID == valeIngresso.ID);
                compra = carrinhoBO.CalcularValores(compra);
            }
            return(compra);
        }
Пример #4
0
        /// <summary>
        /// Método que Verifica se pode ser inserido um valeIngresso em uma compra.
        /// </summary>
        /// <param name="compra"></param>
        /// <param name="valeIngresso"></param>
        /// <returns></returns>
        public RetornoModel <CompraModel> VerificarCompra(CompraModel compra, tValeIngresso valeIngresso = null)
        {
            RetornoModel <CompraModel> retorno = new RetornoModel <CompraModel>();

            retorno.Sucesso  = true;
            retorno.Mensagem = "Vale Ingresso pode ser inserido.";
            retorno.Retorno  = compra;
            //
            if (compra.CarrinhoItens != null && compra.CarrinhoItens.Count(x => x.CotaItemObject != null && x.CotaItemObject.ValidaBinAsBool) != 0)
            {
                retorno.Sucesso  = false;
                retorno.Mensagem = "O carrinho possui um item com cota bin, por isso não podem ser adicionados VIRs.";
            }
            //Teste de valor
            else if (compra.Total == null || compra.Total.ValorTotal == 0)
            {
                retorno.Sucesso  = false;
                retorno.Mensagem = "O carrinho está com valor total 0, por isso não podem ser adicionados VIRs.";
            }
            //teste que veirifica se existe um vale não acumulativo inserido
            else if (compra.ValeIngressos != null && compra.ValeIngressos.Count(x => !(x.ValeIngressoTipo.AcumulativoAsBool)) > 0)
            {
                retorno.Sucesso  = false;
                retorno.Mensagem = "A compra possui um vale ingresso não acumulativo, por isso não podem se adicionados VIRs.";
            }

            else if (valeIngresso != null)
            {
                //verifica se o VIR é não acumulativo e se já tem VIRs na compra
                if (!(valeIngresso.ValeIngressoTipo.AcumulativoAsBool) && compra.ValeIngressos.Count > 0)
                {
                    retorno.Sucesso  = false;
                    retorno.Mensagem = "A compra possui um ou mais vale(s) ingresso(s) e o vale ingresso que está sendo inserido não é acumulativo, por isso não pode ser adicionado.";
                }
                //Faz uma cópia do objeto compra adicionando o vale ingresso passado no parametro. Se o VIR adicionado não afetar o valor da compra não deixa inserir
                else
                {
                    CarrinhoBO  carrinhoBO = new CarrinhoBO(ado);
                    CompraModel compraAux  = new CompraModel();
                    compraAux.CopyFrom(compra);
                    compraAux.ValeIngressos = compra.ValeIngressos.ToList();
                    compraAux.ValeIngressos.Add(valeIngresso);
                    carrinhoBO.CalcularValores(compraAux);
                    if (compra.Total.ValorTotal == compraAux.Total.ValorTotal)
                    {
                        retorno.Sucesso  = false;
                        retorno.Mensagem = "O VIR que está sendo adicionado não altera o valor total da compra, por isso ele não pode ser adicionado.";
                    }
                }
            }

            return(retorno);
        }
Пример #5
0
        public void CotaBO_VerificarCota()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();

            compra.Login         = new Login();
            compra.CarrinhoItens = carrinhoBO.Listar("02kfpvahztwniota0ugz2nnv", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            compra                 = carrinhoBO.CalcularValores(compra);
            compra.SessionID       = "02kfpvahztwniota0ugz2nnv";
            compra.Login.ClienteID = 3465690;
            compra                 = cotaBO.CarregarCotaInformacao(compra);
            Assert.AreEqual(true, compra.CarrinhoItens[0].CotaItemObject.NominalAsBool || compra.CarrinhoItens[0].CotaItemObject.ValidaBinAsBool);
        }
Пример #6
0
        public void ValeIngressoBO_VerificarCompraValeNaoAcumulativo()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();

            compra.CarrinhoItens = carrinhoBO.Listar("0003zo4qtrvb2ckt4c2qdy00", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            compra.ValeIngressos = new List <tValeIngresso>();
            compra.ValeIngressos.Add(valeIngressoBO.ValidarCodigo("abc123teste2"));
            compra = carrinhoBO.CalcularValores(compra);
            RetornoModel <CompraModel> retorno = valeIngressoBO.VerificarCompra(compra);

            Assert.AreEqual(true, !retorno.Sucesso && retorno.Mensagem.Equals("A compra possui um vale ingresso não acumulativo, por isso não podem se adicionados VIRs."));
        }
Пример #7
0
        public void ValeIngressoBO_VerificarCompraComValorZerado()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();

            compra.CarrinhoItens = carrinhoBO.Listar("0003zo4qtrvb2ckt4c2qdy00", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            compra.ValeIngressos = new List <tValeIngresso>();
            compra.ValeIngressos.Add(valeIngressoBO.ValidarCodigo("abc123teste1"));
            compra = carrinhoBO.CalcularValores(compra);
            RetornoModel <CompraModel> retorno = valeIngressoBO.VerificarCompra(compra);

            Assert.AreEqual(false, retorno.Sucesso && retorno.Mensagem.Equals("O carrinho está com valor total 0, por isso não podem ser adicionados VIRs."));
        }
Пример #8
0
        public void ValeIngressoBO_VerificarCompraCotaBIN()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();
            CotaBO      cotaBO     = new CotaBO();

            compra.CarrinhoItens = carrinhoBO.Listar("02kfpvahztwniota0ugz2nnv", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            //Seta os valores em compra que são necessários para carregar o objeto Cota
            compra                 = carrinhoBO.CalcularValores(compra);
            compra.SessionID       = "02kfpvahztwniota0ugz2nnv";
            compra.Login           = new Login();
            compra.Login.ClienteID = 3465690;

            //carrega cota
            compra = cotaBO.CarregarCotaInformacao(compra);

            compra.ValeIngressos = new List <tValeIngresso>();
            compra.ValeIngressos.Add(valeIngressoBO.ValidarCodigo("abc123teste2"));
            compra = carrinhoBO.CalcularValores(compra);
            RetornoModel <CompraModel> retorno = valeIngressoBO.VerificarCompra(compra);

            Assert.AreEqual(true, !retorno.Sucesso && retorno.Mensagem.Equals("O carrinho possui um item com cota bin, por isso não podem ser adicionados VIRs."));
        }
Пример #9
0
        public void ValeIngressoBO_RemoverVale()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();

            compra.CarrinhoItens = carrinhoBO.Listar("0003zo4qtrvb2ckt4c2qdy00", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            compra = carrinhoBO.CalcularValores(compra);
            tValeIngresso valeIngressoNaoAcumulativo = valeIngressoBO.ValidarCodigo("abc123teste2");
            tValeIngresso valeIngressoAcumulativo    = valeIngressoBO.ValidarCodigo("abc123teste3");
            RetornoModel <CompraModel> retorno       = valeIngressoBO.InserirValeIngresso(compra, valeIngressoAcumulativo);

            compra = retorno.Retorno;
            compra = valeIngressoBO.RemoverValeIngresso(compra, valeIngressoAcumulativo);
            Assert.AreEqual(true, compra.Total != null && compra.Total.ValorTotal == 118 && compra.ValeIngressos.Count == 0);
        }
Пример #10
0
        /// <summary>
        /// Método que insere um vale ingresso em um objeto compra.
        /// </summary>
        /// <param name="compra"></param>
        /// <param name="valeIngresso"></param>
        /// <returns></returns>
        public RetornoModel <CompraModel> InserirValeIngresso(CompraModel compra, tValeIngresso valeIngresso)
        {
            if (compra.ValeIngressos == null)
            {
                compra.ValeIngressos = new List <tValeIngresso>();
            }

            RetornoModel <CompraModel> retornoModel = VerificarCompra(compra, valeIngresso);

            if (retornoModel.Sucesso)
            {
                CarrinhoBO carrinhoBO = new CarrinhoBO(ado);
                retornoModel.Retorno.ValeIngressos.Add(valeIngresso);
                retornoModel.Retorno = carrinhoBO.CalcularValores(retornoModel.Retorno);
            }
            return(retornoModel);
        }
Пример #11
0
        public void ValeIngressoBO_InserirVales()
        {
            CarrinhoBO  carrinhoBO = new CarrinhoBO();
            CompraModel compra     = new CompraModel();

            compra.CarrinhoItens = carrinhoBO.Listar("0003zo4qtrvb2ckt4c2qdy00", IRCore.DataAccess.Model.Enumerator.enumCarrinhoStatus.reservado);
            compra = carrinhoBO.CalcularValores(compra);
            tValeIngresso valeIngressoNaoAcumulativo = valeIngressoBO.ValidarCodigo("abc123teste2");
            tValeIngresso valeIngressoAcumulativo    = valeIngressoBO.ValidarCodigo("abc123teste3");
            RetornoModel <CompraModel> retorno       = valeIngressoBO.InserirValeIngresso(compra, valeIngressoAcumulativo);

            compra = retorno.Retorno;
            Assert.AreEqual(true, retorno.Sucesso && compra.Total.ValorTotal == 18);
            //Segunda parte
            retorno = valeIngressoBO.InserirValeIngresso(compra, valeIngressoNaoAcumulativo);
            compra  = retorno.Retorno;
            Assert.AreEqual(true, !retorno.Sucesso && retorno.Mensagem.Equals("A compra possui um ou mais vale(s) ingresso(s) e o vale ingresso que está sendo inserido não é acumulativo, por isso não pode ser adicionado."));
        }