예제 #1
0
 private async Task <bool> VoucherExists(string NrVoucher, CancellationToken cancelationToken)
 {
     return(await contextService.GetContextVoucher(NrVoucher)
            .PoPolizas
            .Where(x => x.NumeroPoliza == NrVoucher.Substring(0, NrVoucher.Length - 2))
            .ToListAsync(cancelationToken) == null ? false : true);
 }
예제 #2
0
        private async Task <bool> PoPolizaExists(string NrVoucher, CancellationToken cancellationToken)
        {
            string proposta = NrVoucher.Substring(0, NrVoucher.Length - 2);

            return(await contextService.GetContextVoucher(NrVoucher).PoPolizas
                   .Where(x => x.NumeroPoliza == proposta).FirstOrDefaultAsync(cancellationToken) == null ? false : true);
        }
예제 #3
0
        public async Task <Unit> Handle(UpdateCadastroPessoaCommand request, CancellationToken cancellationToken)
        {
            var    context  = contextService.GetContextVoucher(request.NrVoucher);
            string proposta = request.NrVoucher.Substring(0, request.NrVoucher.Length - 2);

            int IdPoliza = context.PoPolizas.Where(x => x.NumeroPoliza == proposta).Select(x => x.IdPoliza).FirstOrDefault();

            int IdPersona = context.PoBeneficiariosPoliza.Where(x => x.IdPoliza == IdPoliza).Select(x => x.IdPersona).FirstOrDefault();

            //ToDo Massive work
            if (request.Person.PeDocumentosPersonaFisica.Any())
            {
                var peDocumentosPersonaFisica = await context.PeDocumentosPersonaFisica.Where(p => p.IdPersona == request.Person.IdPersona).FirstOrDefaultAsync();

                mapper.Map <PeDocumentosPersonaFisica, PeDocumentosPersonaFisica>(request.Person.PeDocumentosPersonaFisica.ToArray()[0], peDocumentosPersonaFisica);
            }
            //if (request.Person.PeDomiciliosPersona.Any())
            //{
            //    var peDocumentosPersonaFisica = await context.PeDocumentosPersonaFisica.Where(p => p.IdPersona == request.Person.IdPersona).FirstOrDefaultAsync();
            //    context.PeDomiciliosPersona.UpdateRange(pePersonaFisica.PeDomiciliosPersona.ToArray());

            //}

            await context.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }
예제 #4
0
        public async Task <Unit> Handle(CancelSaleCommand request, CancellationToken cancellationToken)
        {
            var context = contextService.GetContextVoucher(request.NrVoucher);

            string proposta   = request.NrVoucher.Substring(0, request.NrVoucher.Length - 2);
            string passageiro = request.NrVoucher.Substring(request.NrVoucher.Length - 2);

            PoPolizas poliza = await context.PoPolizas.Where(x => x.NumeroPoliza == proposta).FirstOrDefaultAsync(cancellationToken);

            var bilhetes = context.PoBeneficiariosPoliza.Where(x => x.IdPoliza == poliza.IdPoliza);

            foreach (var bilhete in bilhetes)
            {
                bilhete.FechaAnulacion = poliza.FechaDesde;
                context.PoBeneficiariosPoliza.Update(bilhete);
            }


            poliza.FechaAnulacion = poliza.FechaDesde;


            await context.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }
예제 #5
0
        public async Task <BilheteDTO> Handle(GetBilheteQuery request, CancellationToken cancellationToken)
        {
            var context = contextService.GetContextVoucher(request.NrBilhete);

            string proposta = request.NrBilhete.Substring(0, request.NrBilhete.Length - 2);

            int passageiro = int.Parse(request.NrBilhete.Substring(request.NrBilhete.Length - 2));

            var poliza = await context.PoPolizas.Where(x => x.NumeroPoliza == proposta)
                         .Include(x => x.PoBeneficiariosPoliza)
                         .Include(x => x.PoDetalleFormasPago)
                         .FirstOrDefaultAsync();

            var poBeneficiariosPoliza = context.PoBeneficiariosPoliza.Where(x => x.IdPoliza == poliza.IdPoliza && x.Secuencia == passageiro).FirstOrDefault();

            var pePersonaFisica = context.PePersonaFisica.Where(x => x.IdPersona == poBeneficiariosPoliza.IdPersona).Include(x => x.PeDocumentosPersonaFisica).Include(x => x.PeCanalesPersona).FirstOrDefault();

            var coAgencia = context.CoAgencias.Where(x => x.IdAgencia == poliza.IdAgencia).FirstOrDefault();

            var pePersonaJuridica = context.PePersonaJuridica.Where(x => x.IdPersonaJuridica == coAgencia.IdPersonaJuridica).FirstOrDefault();

            var bilhete = new BilheteDTO();

            bilhete.NrVoucher      = request.NrBilhete;
            bilhete.Inicio         = poliza.FechaDesde;
            bilhete.Termino        = poliza.FechaHasta;
            bilhete.Emissao        = poliza.FechaEmision;
            bilhete.DtCancelamento = poliza.FechaAnulacion;

            bilhete.ContatoEmergencia         = poliza.NombreContactoEmergencia + " " + poliza.ApellidoContactoEmergencia;
            bilhete.ContatoEmergenciaTelefone = poliza.TelefonoContactoEmergencia;

            bilhete.Nome         = pePersonaFisica.Nombre + " " + pePersonaFisica.Apellido;
            bilhete.sexo         = pePersonaFisica.Sexo;
            bilhete.DtNascimento = pePersonaFisica.FechaNacimiento;
            bilhete.CPF          = pePersonaFisica.PeDocumentosPersonaFisica.Where(x => x.IdTipoDocumento == 9).Select(x => x.Numero).FirstOrDefault();
            bilhete.Telefone     = pePersonaFisica.PeCanalesPersona.Where(x => x.IdTipoCanal == 2).Select(x => x.DetalleCanal).FirstOrDefault();
            bilhete.Celular      = pePersonaFisica.PeCanalesPersona.Where(x => x.IdTipoCanal == 3).Select(x => x.DetalleCanal).FirstOrDefault();
            bilhete.Email        = pePersonaFisica.PeCanalesPersona.Where(x => x.IdTipoCanal == 1).Select(x => x.DetalleCanal).FirstOrDefault();

            bilhete.FormaPgto = context.BsFormasPago
                                .Where(x => x.IdFormaPagoBs == poliza.PoDetalleFormasPago.FirstOrDefault().IdFormaPago)
                                .Select(x => x.DescripcionFormaPagoBs)
                                .FirstOrDefault();
            bilhete.Valor      = poBeneficiariosPoliza.Importe;
            bilhete.ValorDolar = context.BsMonedasCotizaciones.Where(x => x.FechaCotizacion.CompareTo(bilhete.Emissao.Date) == 0).Select(x => x.Importe).FirstOrDefault();
            bilhete.Agencia    = pePersonaJuridica.RazonSocial;
            bilhete.Cupom      = poliza.CodigoCupon;
            bilhete.Produto    = context.PrProducto.Where(x => x.IdProducto == poliza.IdProducto).Select(x => x.DenominacionProducto).FirstOrDefault();
            bilhete.Destino    = context.BsPaises.Where(x => x.IdPais == poliza.IdDestino).Select(x => x.DenominacionPais).FirstOrDefault();

            return(bilhete);
        }
예제 #6
0
        public async Task <Unit> Handle(CancelVoucherCommand request, CancellationToken cancellationToken)
        {
            var context = contextService.GetContextVoucher(request.NrBilhete);

            string proposta   = request.NrBilhete.Substring(0, request.NrBilhete.Length - 2);
            string passageiro = request.NrBilhete.Substring(request.NrBilhete.Length - 2);

            PoPolizas poliza = context.PoPolizas.Where(x => x.NumeroPoliza == proposta).FirstOrDefault();

            var bilhete = context.PoBeneficiariosPoliza.Where(x => x.IdPoliza == poliza.IdPoliza && x.Secuencia == int.Parse(passageiro)).FirstOrDefault();

            bilhete.FechaAnulacion = poliza.FechaDesde;

            poliza.FechaAnulacion = poliza.FechaDesde;

            await context.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }
예제 #7
0
        public async Task <Unit> Handle(CancelVoucherRetroactCommand request, CancellationToken cancellationToken)
        {
            var context = contextService.GetContextVoucher(request.NrVoucher);

            var dataCancelamento = DateTime.ParseExact(request.Data, "d-M-yyyy", CultureInfo.InvariantCulture);

            string proposta   = request.NrVoucher.Substring(0, request.NrVoucher.Length - 2);
            string passageiro = request.NrVoucher.Substring(request.NrVoucher.Length - 2);

            PoPolizas poliza = await context.PoPolizas.Where(x => x.NumeroPoliza == proposta).FirstOrDefaultAsync(cancellationToken);

            var bilhete = context.PoBeneficiariosPoliza.Where(x => x.IdPoliza == poliza.IdPoliza && x.Secuencia == int.Parse(passageiro)).FirstOrDefault();

            poliza.FechaAnulacion = dataCancelamento;

            bilhete.FechaAnulacion = poliza.FechaDesde;

            await context.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }
예제 #8
0
        public async Task <PePersonaFisicaDTO> Handle(GetCadastroPessoaQuery request, CancellationToken cancellationToken)
        {
            var context = contextService.GetContextVoucher(request.NrVoucher);


            string proposta = request.NrVoucher.Substring(0, request.NrVoucher.Length - 2);

            int passageiro = int.Parse(request.NrVoucher.Substring(request.NrVoucher.Length - 2));

            int IdPoliza = await context.PoPolizas.Where(x => x.NumeroPoliza == proposta).Select(x => x.IdPoliza)
                           .FirstOrDefaultAsync();

            int IdPersona = await context.PoBeneficiariosPoliza.Where(x => x.IdPoliza == IdPoliza && x.Secuencia == passageiro)
                            .Select(x => x.IdPersona)
                            .FirstOrDefaultAsync();

            var pessoa = await context.PePersonaFisica.Where(x => x.IdPersona == IdPersona)
                         .Include(x => x.PeDomiciliosPersona)
                         .ThenInclude(x => x.IdDomicilioNavigation)
                         .Include(x => x.PeDocumentosPersonaFisica)
                         .FirstOrDefaultAsync();

            return(mapper.Map <PePersonaFisicaDTO>(pessoa));
        }
예제 #9
0
        public async Task <List <AgenciaDTO> > Handle(ListAgencyComissionQuery request, CancellationToken cancellationToken)
        {
            var context = contextService.GetContextVoucher(request.Ambiente);
            var isName  = false;

            foreach (char c in request.Id)
            {
                if (Char.IsLetter(c))
                {
                    isName = true;
                    break;
                }
            }

            if (isName)
            {
                var pePersonaJuridica = await context.PePersonaJuridica.Where(x => x.RazonSocial.Contains(request.Id) || x.NombreFantasia.Contains(request.Id))
                                        .ToListAsync(cancellationToken);

                List <AgenciaDTO> retorno = new List <AgenciaDTO>();

                foreach (var item in pePersonaJuridica)
                {
                    var aux = new AgenciaDTO();

                    aux.NomeFantasia = item.NombreFantasia;
                    aux.RazaoSocial  = item.RazonSocial;
                    aux.CNPJ         = context.PeDocumentosPersonaJuridica.Where(x => x.IdPersona == item.IdPersonaJuridica && x.IdTipoDocumento == 8)
                                       .Select(x => x.Numero).FirstOrDefault();
                    aux.IdAgencia = context.CoAgencias.Where(x => x.IdPersonaJuridica == item.IdPersonaJuridica).Select(x => x.IdAgencia).FirstOrDefault();
                    aux.Comissao  = context.CoComisionesAgencias.Where(x => x.IdAgencia == aux.IdAgencia && x.FechaBaja == null).Select(x => x.Comision).FirstOrDefault();
                    retorno.Add(aux);
                }

                return(retorno);
            }
            else
            {
                var peDocumentosPersonaJuridica = context.PeDocumentosPersonaJuridica.Where(x => x.IdTipoDocumento == 8 &&
                                                                                            x.Numero.Replace("/", "").Replace(".", "").Replace("-", "").Replace(" ", "").Equals(request.Id)).FirstOrDefault();

                var pePersonaJuridica = context.PePersonaJuridica.Where(x => x.IdPersonaJuridica == peDocumentosPersonaJuridica.IdPersona).FirstOrDefault();

                var coAgencias = context.CoAgencias.Where(x => x.IdPersonaJuridica == pePersonaJuridica.IdPersonaJuridica).FirstOrDefault();

                var Comissao = context.CoComisionesAgencias.Where(x => x.IdAgencia == coAgencias.IdAgencia && x.FechaBaja == null).FirstOrDefault();

                var retorno = new List <AgenciaDTO>();

                var aux = new AgenciaDTO();
                aux.NomeFantasia = pePersonaJuridica.NombreFantasia;
                aux.RazaoSocial  = pePersonaJuridica.RazonSocial;
                aux.CNPJ         = context.PeDocumentosPersonaJuridica.Where(x => x.IdPersona == pePersonaJuridica.IdPersonaJuridica && x.IdTipoDocumento == 8)
                                   .Select(x => x.Numero).FirstOrDefault();
                aux.IdAgencia = coAgencias.IdAgencia;
                aux.Comissao  = context.CoComisionesAgencias.Where(x => x.IdAgencia == aux.IdAgencia).Select(x => x.Comision).FirstOrDefault();

                retorno.Add(aux);
                return(retorno);
            }
        }