Пример #1
0
        /// <summary>
        /// Agrega la información del asegurado a la carátula.
        /// </summary>
        /// <param name="reader">El lector obtenido al ejecutar el procedimiento almacenado.</param>
        /// <param name="caratula">La carátula de daños.</param>
        private void AgregarAsegurado(IDataReader reader, ref CaratulaDanosResultSet caratula)
        {
            var table = new DataTable();

            table.Load(reader);
            caratula.Asegurado = new AseguradoRS();

            caratula.Asegurado.Contratante = table.Rows[0]["NOMBRE"] as string;
            caratula.Asegurado.RFC         = table.Rows[0]["RFC"] as string;

            table.Reset();
            table.Load(reader);
            caratula.Asegurado.FechaNacimiento = table.Rows[0]["FEC_NACIMIENTO"] as string;

            // Se saltan los resultados no relevantes (5 consultas del SP)
            reader.NextResult();
            reader.NextResult();
            reader.NextResult();
            reader.NextResult();
            reader.NextResult();

            table.Reset();
            table.Load(reader);
            caratula.Asegurado.Domicilio = new DomicilioRS {
                Calle     = table.Rows[0]["CALLE"] as string,
                Poblacion = table.Rows[0]["POBLACION"] as string,
                Colonia   = table.Rows[0]["COLONIA"] as string,
                CP        = table.Rows[0]["CP"] as string,
                Ciudad    = table.Rows[0]["CIUDAD"] as string,
                Estado    = table.Rows[0]["ESTADO"] as string,
                Numero    = table.Rows[0]["NUMERO"] as string,
                Interior  = table.Rows[0]["INTERIOR"] as string
            };
        }
Пример #2
0
        /// <summary>
        /// Agrega información sobre las fechas de inicio y vigencia de la póliza.
        /// </summary>
        /// <param name="reader">El lector obtenido al ejecutar el procedimiento almacenado.</param>
        /// <param name="caratula">La carátula de daños.</param>
        private void AgregarVigencia(IDataReader reader, ref CaratulaDanosResultSet caratula)
        {
            var auxTable = new DataTable();

            // Se agregan las fechas y hora de inicio de vigencia de la póliza.
            auxTable.Reset();
            auxTable.Load(reader);
            caratula.InfoPoliza.Dia1 = auxTable.Rows[0]["DIA1"] as string;
            caratula.InfoPoliza.Mes1 = auxTable.Rows[0]["MES1"] as string;
            caratula.InfoPoliza.Ano1 = (int)auxTable.Rows[0]["ANO1"];

            auxTable.Reset();
            auxTable.Load(reader);
            caratula.InfoPoliza.HoraDesde = auxTable.Rows[0]["HORADESDE"] as string;

            // Se agregan las fechas y hora de fin de vigencia de la póliza.
            auxTable.Reset();
            auxTable.Load(reader);
            caratula.InfoPoliza.Dia2 = auxTable.Rows[0]["DIA2"] as string;
            caratula.InfoPoliza.Mes2 = auxTable.Rows[0]["MES2"] as string;
            caratula.InfoPoliza.Ano2 = (int)auxTable.Rows[0]["ANO2"];

            auxTable.Reset();
            auxTable.Load(reader);
            caratula.InfoPoliza.HoraHasta = auxTable.Rows[0]["HORAHASTA"] as string;
        }
Пример #3
0
 /// <summary>
 /// Genera una nueva instancia con el encabezado indicado.
 /// </summary>
 /// <param name="encabezado">Los datos del encabezado del reporte.</param>
 /// <param name="caratula">Los datos de la carátula del reporte.</param>
 /// <param name="rutaCompilador">La ruta absoluta al compilador (.exe) de LaTex.</param>
 /// <param name="inputDir">La ruta del directorio de multimedia de la plantilla.</param>
 public DanosLectorEscritor(
     EncabezadoReportesEmisionResultSet encabezado,
     CaratulaDanosResultSet caratula,
     string rutaCompilador,
     string inputDir)
     : base(rutaCompilador, inputDir)
 {
     this.encabezado = encabezado;
     this.caratula   = caratula;
 }
Пример #4
0
        /// <summary>
        /// Agrega información adicional de la póliza y el footer a la carátula de daños.
        /// </summary>
        /// <param name="reader">El lector obtenido al ejecutar el procedimiento almacenado.</param>
        /// <param name="caratula">La carátula de daños.</param>
        private void AgregarInfoAdicionalYFooter(IDataReader reader, ref CaratulaDanosResultSet caratula)
        {
            var table = new DataTable();

            table.Load(reader);

            var row = table.Rows[0];

            caratula.Footer = row["FOOTER_ID_PV_BARRAS"] as string;

            caratula.InfoPoliza = new InfoPolizaRS {
                Vigencia  = (double)row["VIGENCIA"],
                FormaPago = row["PAGO"] as string,
                Moneda    = row["MONEDA"] as string
            };
        }
Пример #5
0
        public CaratulaDanosResultSet ObtenerCaratulaDanos(int idPv)
        {
            var rs        = new CaratulaDanosResultSet();
            var cmd       = db.Database.Connection.CreateCommand();
            var paramIdPv = cmd.CreateParameter();

            cmd.CommandText         = "EXEC sp_pp_caratula_danos @IdPv";
            paramIdPv.ParameterName = "@IdPv";
            paramIdPv.Value         = idPv;
            cmd.Parameters.Add(paramIdPv);

            try {
                db.Database.Connection.Open();
                var reader   = cmd.ExecuteReader(); // Obtiene el primer RS ([IMP41], [IVA41])
                var auxTable = new DataTable();

                reader.NextResult(); // Se obtiene el siguiente RS ([PREC], [PIVA], [P41])
                reader.NextResult(); // Se obtiene el siguiente RS ([FRACC], [IMPORTEFRACC], [PRIMA], [GASTOS], [IMPORTEIVA], [TOTAL], [SUMA_ASEG], [TOTALPRIMA], [ETIQUETA])
                rs.Importes = ObtenerImportes(reader);

                reader.NextResult(); // Se obtiene el siguiente RS ([PAQUETE])

                // Se obtiene el siguiente RS ([LUGAR])
                reader.NextResult();
                auxTable.Load(reader);
                rs.Oficina = auxTable.Rows[0]["LUGAR"] as string;

                // Se obtiene el siguiente RS ([DESC_POR_RAMO], [cod_tipo_poliza], [cod_tipo_poliza], [cod_desc])
                auxTable.Reset();
                auxTable.Load(reader);
                rs.DescPorRamo = auxTable.Rows[0]["DESC_POR_RAMO"] as string;

                // Se obtiene información adicional acerca de la póliza y el footer del documento.
                AgregarInfoAdicionalYFooter(reader, ref rs);

                // Se agrega la información de la vigencia de la póliza.
                AgregarVigencia(reader, ref rs);

                // Se agrega la información del asegurado.
                AgregarAsegurado(reader, ref rs);

                // Se obtiene al agente.
                reader.NextResult();
                auxTable.Reset();
                auxTable.Load(reader);
                rs.Agentes = auxTable.Rows[0]["AGENTES"] as string;

                // Se obtiene la fecha de emisión de la póliza.
                reader.NextResult();
                reader.NextResult();
                auxTable.Reset();
                auxTable.Load(reader);
                rs.InfoPoliza.Dia = auxTable.Rows[0]["DIA"] as string;
                rs.InfoPoliza.Mes = auxTable.Rows[0]["MES"] as string;
                rs.InfoPoliza.Ano = (int)auxTable.Rows[0]["ANO"];
            } catch {
                // TODO: Posible log.
                throw;
            } finally {
                db.Database.Connection.Close();
            }

            return(rs);
        }