public AsegPaqueteModel ConsultaAsegPaquete(AsegPaqueteModel numeroModel)
        {
            try
            {
                iGenericDataAccess.OpenConnection();
                IList <AseguradoraPaquete> aseguradora = iGenericDataAccess.Consultar(CQuerysCotizador.QryAsegPaquete,
                                                                                      new AseguradoraPaquete()
                {
                    Numero = numeroModel.Numero
                }, new OptionsQueryZero()
                {
                    ExcludeBool             = true,
                    ExcludeNumericsDefaults = true
                });
                iGenericDataAccess.CloseConnection();

                AsegPaqueteModel asegPaquete = aseguradora.Select(x => new AsegPaqueteModel()
                {
                    Aseguradora   = x.Aseguradora,
                    Paquete       = x.Paquete,
                    AseguradoraId = x.AseguradoraId,
                    PaqueteId     = x.PaqueteId
                }).First();

                return(asegPaquete);
            }
            catch (Exception e)
            {
                iGenericDataAccess.CloseConnection();
                throw new DalException(CodesEmision.ERR_00_16, e);
            }
        }
        public SingleResponse <AsegPaqueteModel> ConsultaAsegPaquete(AsegPaqueteModel numeroModel)
        {
            SingleResponse <AsegPaqueteModel> response = new SingleResponse <AsegPaqueteModel>();

            try
            {
                #region ModelValidations

                if (null == numeroModel)
                {
                    throw new DomainException(Codes.ERR_00_01);
                }

                #endregion ModelValidations

                AsegPaqueteModel contratante = iImprimirDataAccess.ConsultaAsegPaquete(numeroModel);
                if (contratante != null)
                {
                    contratante = ConsultaPaquete(numeroModel, contratante);
                }
                response.Done(contratante, string.Empty);
            }
            catch (DomainValidationsException e)
            {
                response.SetValidations(e.Validations);
            }
            catch (DomainException e)
            {
                response.Error(e);
            }
            catch (DalException e)
            {
                response.Error(e);
            }
            catch (Exception e)
            {
                response.Error(new DomainException(Codes.ERR_00_01, e));
            }
            return(response);
        }
        private AsegPaqueteModel ConsultaPaquete(AsegPaqueteModel numeroModel, AsegPaqueteModel aseg)
        {
            AsegPaqueteModel    paquete = new AsegPaqueteModel();
            DatosSolicitudModel datos   = new DatosSolicitudModel();

            datos.SolicitudId = numeroModel.SolicitudId;
            IList <SolicitudCotizacionModel> listSolicitud = iComparadorDataAccess.ConsultarSolicitudCotizacion(datos);

            if (listSolicitud.Count == 0 || listSolicitud == null)
            {
                throw new DalException(CodesBenchmark.ERR_02_05);
            }
            SolicitudCotizacionModel solicitudCotizacionModel = listSolicitud[0];
            List <PaqueteModel>      listaCotizable           = iComparadorDataAccess.ConsultaPaquetesCotizable(solicitudCotizacionModel, aseg.AseguradoraId);
            Dictionary <int, string> paqueDictionary          = iComparadorDataAccess.ConsultaNombrePaqueteComparador(listaCotizable, solicitudCotizacionModel.ProductoId);
            Dictionary <int, string> paqueDictionaryCompleto  = iComparadorDataAccess.ConsultaNombrePaqueteComparadorCompleto(listaCotizable);

            paquete.Paquete       = (solicitudCotizacionModel.Flexible) ? ConstTipoPersonas.Paquete : paqueDictionary.ContainsKey(aseg.PaqueteId) ? paqueDictionary[aseg.PaqueteId] : paqueDictionaryCompleto[aseg.PaqueteId];
            paquete.Aseguradora   = aseg.Aseguradora;
            paquete.AseguradoraId = aseg.AseguradoraId;
            paquete.PaqueteId     = aseg.PaqueteId;

            return(paquete);
        }
 public SingleResponse <AsegPaqueteModel> ConsultaAsegPaquete(AsegPaqueteModel numeroModel)
 {
     return(iImprimirBusiness.ConsultaAsegPaquete(numeroModel));
 }