private void SetGuardarOperacionManual()
        {
            eOperacionVC eo = new eOperacionVC();
            eo._Ide_Contrato = ddl_contrato_m.SelectedItem.Value;
            eo._Tip_Operacion = ddl_tipope_m.SelectedItem.Value;
            eo._Tipo_Registro = ddl_tipreg_m.SelectedItem.Value;
            eo._Cod_Reasegurador = ddl_reasegurador_m.SelectedItem.Value;
            eo._Ano_Operacion = Convert.ToInt32(Session["aniovigente"]);
            eo._Mes_Operacion = Session["mesvigente"].ToString();
            eo._Cod_Asegurado = ddl_codasegurado_m.SelectedItem.Value;
            eo._Cod_Ramo = ddl_codramo_m.SelectedItem.Value;
            eo._Cod_Moneda = ddl_codmoneda_m.SelectedItem.Value;
            eo._Pri_Ced_Mes = txt_primaced_m.Text;
            eo._Des_Reg_Mes = "OPERACION " + ddl_tipope_m.SelectedItem.Text + " (MANUAL)";
            eo._Imp_Impuesto_Mes = txt_impuesto_m.Text;
            eo._Pri_Xpag_Rea_Ced = txt_prima_x_pag_m.Text;
            eo._Pri_Xcob_Rea_Ace = txt_prima_x_cob_m.Text;
            eo._Sin_Directo = txt_sin_directo_m.Text;
            eo._Sin_Xcob_Rea_Ced = txt_sin_x_cob_m.Text;
            eo._Sin_Xpag_Rea_Ace = txt_sin_x_pag_m.Text;
            eo._Otr_Cta_Xcob_Rea_Ced = txt_otr_x_cob_m.Text;
            eo._Otr_Cta_Xpag_Rea_Ace = txt_otr_x_pag_m.Text;
            eo._Dscto_Comis_Rea = txt_dscto_comis_m.Text;
            eo._Estado = "A";
            eo._Usu_Reg = Session["username"].ToString();
            eo._Tip_Comprobante = ddl_comprobante.SelectedItem.Value;

            bOperacionVC bo = new bOperacionVC();
            Int32 resp = bo.SetGuardarOperacionManual(eo);
            if (resp != 0) {
                MessageBox("Operación Guardada Correctamente");
            }
        }
        public static object GetSelectOperacionDetalle(int jtStartIndex, int jtPageSize, string jtSorting, String[] data)
        {
            int totalI;
            int indexPage;
            if (jtStartIndex != 0)
            {
                indexPage = jtStartIndex / jtPageSize;
            }
            else
            {
                indexPage = jtStartIndex;
            }
            eOperacionVC ope = new eOperacionVC();
            ope._Ide_Contrato = data[0];
            ope._Tip_Operacion = data[1];
            ope._Mes_Operacion = mes_vigente.ToString();
            ope._Ano_Operacion = anio_vigente;
            ope._Formato_Moneda = formato_moneda;

            bOperacionSelectVC bos = new bOperacionSelectVC();
            List<eOperacionVC> listI = bos.GetSelectOperacionDetalle(ope, indexPage, jtPageSize, jtSorting.Substring(1), out totalI);
            return new { Result = "OK", Records = listI, TotalRecordCount = totalI };
        }
        protected void btn_exportar_Click(object sender, ImageClickEventArgs e)
        {
            eOperacionVC eo = new eOperacionVC();
            if (txt_operacion_o.Text != "")
                eo._Nro_Operacion = Int32.Parse(txt_operacion_o.Text);
            else
                eo._Nro_Operacion = 0;
            if (ddl_tipcom_o.SelectedItem.Value != "0")
                eo._Tip_Operacion = ddl_tipcom_o.SelectedItem.Value;
            else
                eo._Tip_Operacion = "0";

            if (txt_fec_ini_o.Text != "" && txt_fec_hasta_o.Text != "")
            {
                eo._fecha_fin = Convert.ToDateTime(txt_fec_hasta_o.Text);
                eo._fecha_ini = Convert.ToDateTime(txt_fec_ini_o.Text);
                eo._token_fecha = "SI";
            }
            else
            {
                eo._fecha_fin = System.DateTime.Today;
                eo._fecha_ini = System.DateTime.Today;
                eo._token_fecha = "NO";
            }
            if (ddl_ramo_o.SelectedItem.Value != "0")
                eo._Cod_Ramo = ddl_ramo_o.SelectedItem.Value;
            else
                eo._Cod_Ramo = "0";
            if (ddl_contrato_o.SelectedItem.Value != "")
                eo._Ide_Contrato = ddl_contrato_o.SelectedItem.Value;
            else
                eo._Ide_Contrato = "0";
            eo._Formato_Moneda = formato_moneda;

            exportarDatoExcel(eo);
        }
        public Int32 SetProcesaPrima(eOperacionVC o)
        {
            Int32 _bool = 0;
            try
            {
                int mes_devengue1 = 0;
                int mes_devengue2 = 0;
                int mes_contable = 0;
                if (Convert.ToInt32(o._Mes_Operacion) < 10)
                {
                    if (Convert.ToInt32(o._Mes_Operacion) == 1)
                    {
                        mes_devengue2 = Convert.ToInt32((Convert.ToInt32(o._Ano_Operacion)) - 1 + "" + (Convert.ToInt32(o._Mes_Operacion) + 10));
                        mes_devengue1 = Convert.ToInt32((Convert.ToInt32(o._Ano_Operacion)) - 1 + "" + (Convert.ToInt32(o._Mes_Operacion) + 11));
                        mes_contable = Convert.ToInt32(o._Ano_Operacion + "0" + (o._Mes_Operacion));
                    }
                    else if (Convert.ToInt32(o._Mes_Operacion) == 2)
                    {
                        mes_devengue2 = Convert.ToInt32((Convert.ToInt32(o._Ano_Operacion)) - 1 + "" + (Convert.ToInt32(o._Mes_Operacion) + 10));
                        mes_devengue1 = Convert.ToInt32((o._Ano_Operacion) + "0" + (Convert.ToInt32(o._Mes_Operacion) - 1));
                        mes_contable = Convert.ToInt32(o._Ano_Operacion + "0" + (o._Mes_Operacion));
                    }
                    else
                    {
                        mes_devengue2 = Convert.ToInt32(o._Ano_Operacion + "0" + (Convert.ToInt32(o._Mes_Operacion) - 2));
                        mes_devengue1 = Convert.ToInt32(o._Ano_Operacion + "0" + (Convert.ToInt32(o._Mes_Operacion) - 1));
                        mes_contable = Convert.ToInt32(o._Ano_Operacion + "0" + (o._Mes_Operacion));
                    }
                }
                else
                {
                    if (Convert.ToInt32(o._Mes_Operacion) - 2 < 10)
                        mes_devengue2 = Convert.ToInt32(o._Ano_Operacion + "0" + (Convert.ToInt32(o._Mes_Operacion) - 2));
                    else
                        mes_devengue2 = Convert.ToInt32(o._Ano_Operacion + "" + (Convert.ToInt32(o._Mes_Operacion) - 2));

                    if (Convert.ToInt32(o._Mes_Operacion) - 1 < 10)
                        mes_devengue1 = Convert.ToInt32(o._Ano_Operacion + "0" + (Convert.ToInt32(o._Mes_Operacion) - 1));
                    else
                        mes_devengue1 = Convert.ToInt32(o._Ano_Operacion + "" + (Convert.ToInt32(o._Mes_Operacion) - 1));
                    mes_contable = Convert.ToInt32(o._Ano_Operacion + "" + (o._Mes_Operacion));
                }
                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sProcesaPrima;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.VarChar).Value = o._Ide_Contrato;
                sqlcmd.Parameters.Add("@TIPO_REGISTRO", SqlDbType.Char).Value = o._Tipo_Registro;
                sqlcmd.Parameters.Add("@TIPO_OPERACION", SqlDbType.Char).Value = o._Tip_Operacion;
                sqlcmd.Parameters.Add("@MES_DEVENGUE2", SqlDbType.VarChar).Value = mes_devengue2;
                sqlcmd.Parameters.Add("@MES_DEVENGUE1", SqlDbType.Char).Value = mes_devengue1;
                sqlcmd.Parameters.Add("@MES_CONTABLE", SqlDbType.Char).Value = mes_contable;
                sqlcmd.Parameters.Add("@DESCRIPCION_REG", SqlDbType.VarChar).Value = o._Des_Reg_Mes;
                sqlcmd.Parameters.Add("@USU_REG", SqlDbType.VarChar).Value = o._Usu_Reg;

                _bool = sqlcmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            return _bool;
        }
        public List<eOperacionVC> GetSelectOperacion(eOperacionVC o, int start, int size, String orderBy, out int total,out String monedaS)
        {
            List<eOperacionVC> list = new List<eOperacionVC>();
            int DBtotRow = 0;
            try
            {
                conexion.Open();

                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sSelectOperacion;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.Char).Value = o._Ide_Contrato;
                sqlcmd.Parameters.Add("@TIPO_OPERACION", SqlDbType.Char).Value = o._Tip_Operacion;
                sqlcmd.Parameters.Add("@COD_RAMO", SqlDbType.Char).Value = o._Cod_Ramo;
                sqlcmd.Parameters.Add("@NRO_OPERACION", SqlDbType.Int).Value = o._Nro_Operacion;
                sqlcmd.Parameters.Add("@FECHA_INI", SqlDbType.Date).Value = o._fecha_ini;
                sqlcmd.Parameters.Add("@FECHA_HASTA", SqlDbType.Date).Value = o._fecha_fin;
                sqlcmd.Parameters.Add("@TOKEN_DATE", SqlDbType.Char).Value = o._token_fecha;
                sqlcmd.Parameters.Add("@ORDERBY", SqlDbType.VarChar).Value = orderBy;
                sqlcmd.Parameters.Add("@START", SqlDbType.Int).Value = start;
                sqlcmd.Parameters.Add("@FIN", SqlDbType.Int).Value = size;
                sqlcmd.Parameters.Add("@TOTALROW", SqlDbType.Int).Direction = ParameterDirection.Output;

                SqlDataReader dr = sqlcmd.ExecuteReader();
                while (dr.Read())
                {
                    var ec = new eOperacionVC();
                    ec._Nro_Operacion = dr.GetInt32(1);
                    ec._Tip_Operacion = dr.GetString(2);
                    ec._Cod_Reasegurador = dr.GetString(3);
                    ec._Fec_Operacion = dr.GetDateTime(4);
                    ec._Ano_Operacion = dr.GetInt32(5);
                    ec._Mes_Operacion = meses[dr.GetInt32(6)];
                    ec._Cod_Asegurado = dr.GetString(7);
                    ec._Ide_Contrato = dr.GetString(8);
                    ec._Cod_Ramo = dr.GetString(9);
                    ec._Cod_Moneda = dr.GetString(10);
                    ec._Entorno_Prima_T_2 = String.Format(o._Formato_Moneda, dr.GetDecimal(11)).Substring(3);
                    ec._Entorno_Prima_T_1 = String.Format(o._Formato_Moneda, dr.GetDecimal(12)).Substring(3);
                    ec._Prima_Abonada = String.Format(o._Formato_Moneda, dr.GetDecimal(13)).Substring(3);
                    ec._Prima_Reg_Contab = String.Format(o._Formato_Moneda, dr.GetDecimal(14)).Substring(3);
                    ec._Pri_Ced_Mes = String.Format(o._Formato_Moneda, dr.GetDecimal(15)).Substring(3);
                    ec._Des_Reg_Mes = dr.GetString(16);
                    ec._Imp_Impuesto_Mes = String.Format(o._Formato_Moneda,dr.GetDecimal(17)).Substring(3);
                    ec._Pri_Xpag_Rea_Ced = String.Format(o._Formato_Moneda, dr.GetDecimal(18)).Substring(3);
                    ec._Pri_Xcob_Rea_Ace = String.Format(o._Formato_Moneda, dr.GetDecimal(19)).Substring(3);
                    ec._Sin_Directo = String.Format(o._Formato_Moneda, dr.GetDecimal(20)).Substring(3);
                    ec._Sin_Xcob_Rea_Ced = String.Format(o._Formato_Moneda, dr.GetDecimal(21)).Substring(3);
                    ec._Sin_Xpag_Rea_Ace = String.Format(o._Formato_Moneda, dr.GetDecimal(22)).Substring(3);
                    ec._Otr_Cta_Xcob_Rea_Ced = String.Format(o._Formato_Moneda, dr.GetDecimal(23)).Substring(3);
                    ec._Otr_Cta_Xpag_Rea_Ace = String.Format(o._Formato_Moneda, dr.GetDecimal(24)).Substring(3);
                    ec._Dscto_Comis_Rea = String.Format(o._Formato_Moneda, dr.GetDecimal(25)).Substring(3);
                    ec._Saldo_Deudor = String.Format(o._Formato_Moneda, dr.GetDecimal(26)).Substring(3);
                    ec._Saldo_Acreedor = String.Format(o._Formato_Moneda, dr.GetDecimal(27)).Substring(3);
                    ec._Saldo_Deudor_Comp = String.Format(o._Formato_Moneda, dr.GetDecimal(28)).Substring(3);
                    ec._Saldo_Acreedor_Comp = String.Format(o._Formato_Moneda, dr.GetDecimal(29)).Substring(3);
                    ec._Estado = dr.GetString(30);
                    ec._Fec_Reg = dr.GetDateTime(31);
                    ec._Usu_Reg = dr.GetString(32);

                    list.Add(ec);
                }
                dr.Close();
                DBtotRow = (int)sqlcmd.Parameters["@TOTALROW"].Value;
            }
            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            total = DBtotRow;
            monedaS = o._Formato_Moneda;
            return list;
        }
        public Int32 SetProcesaPago(eOperacionVC o)
        {
            Int32 _bool = 0;
            try
            {
                Int32 mes_vigente = 0;
                if (Convert.ToInt32(o._Mes_Operacion) < 10)
                    mes_vigente = Convert.ToInt32(o._Ano_Operacion + "0" + o._Mes_Operacion);
                else
                    mes_vigente = Convert.ToInt32(o._Ano_Operacion + "" + o._Mes_Operacion);

                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sProcesaPago;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.VarChar).Value = o._Ide_Contrato;
                sqlcmd.Parameters.Add("@TIPO_REGISTRO", SqlDbType.Char).Value = o._Tipo_Registro;
                sqlcmd.Parameters.Add("@TIPO_OPERACION", SqlDbType.Char).Value = o._Tip_Operacion;
                sqlcmd.Parameters.Add("@MES_VIGENTE", SqlDbType.Int).Value = mes_vigente;
                sqlcmd.Parameters.Add("@DESCRIPCION_REG", SqlDbType.VarChar).Value = o._Des_Reg_Mes;
                sqlcmd.Parameters.Add("@USU_REG", SqlDbType.Char).Value = o._Usu_Reg;

                _bool = sqlcmd.ExecuteNonQuery();
            }

            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            return _bool;
        }
        public Int32 SetGuardarOperacionManual(eOperacionVC o)
        {
            Int32 _bool = 0;
            try
            {
                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sSinsertarOperacionManual;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@TIP_OPERACION", SqlDbType.Char).Value = o._Tip_Operacion;
                sqlcmd.Parameters.Add("@TIPO_REGISTRO", SqlDbType.Char).Value = o._Tipo_Registro;
                sqlcmd.Parameters.Add("@COD_REASEGURADOR", SqlDbType.Char).Value = o._Cod_Reasegurador;
                sqlcmd.Parameters.Add("@ANO_OPERACION", SqlDbType.Int).Value = o._Ano_Operacion;
                sqlcmd.Parameters.Add("@MES_OPERACION", SqlDbType.Int).Value = o._Mes_Operacion;
                sqlcmd.Parameters.Add("@COD_ASEGURADO", SqlDbType.Char).Value = o._Cod_Asegurado;
                sqlcmd.Parameters.Add("@IDE_CONTRATO", SqlDbType.VarChar).Value = o._Ide_Contrato;
                sqlcmd.Parameters.Add("@COD_RAMO", SqlDbType.Char).Value = o._Cod_Ramo;
                sqlcmd.Parameters.Add("@COD_MONEDA", SqlDbType.Char).Value = o._Cod_Moneda;
                sqlcmd.Parameters.Add("@PRI_CED_MES", SqlDbType.Decimal).Value = o._Pri_Ced_Mes;
                sqlcmd.Parameters.Add("@DES_REG_MES", SqlDbType.VarChar).Value = o._Des_Reg_Mes;
                sqlcmd.Parameters.Add("@IMP_IMPUESTO_MES", SqlDbType.Decimal).Value = o._Imp_Impuesto_Mes;
                sqlcmd.Parameters.Add("@PRI_XPAG_REA_CED", SqlDbType.Decimal).Value = o._Pri_Xpag_Rea_Ced;
                sqlcmd.Parameters.Add("@PRI_XCOB_REA_ACE", SqlDbType.Decimal).Value = o._Pri_Xcob_Rea_Ace;
                sqlcmd.Parameters.Add("@SIN_DIRECTO", SqlDbType.Decimal).Value = o._Sin_Directo;
                sqlcmd.Parameters.Add("@SIN_XCOB_REA_CED", SqlDbType.Decimal).Value = o._Sin_Xcob_Rea_Ced;
                sqlcmd.Parameters.Add("@SIN_XPAG_REA_ACE", SqlDbType.Decimal).Value = o._Sin_Xpag_Rea_Ace;
                sqlcmd.Parameters.Add("@OTR_CTA_XCOB_REA_CED", SqlDbType.Decimal).Value = o._Otr_Cta_Xcob_Rea_Ced;
                sqlcmd.Parameters.Add("@OTR_CTA_XPAG_REA_ACE", SqlDbType.Decimal).Value = o._Otr_Cta_Xpag_Rea_Ace;
                sqlcmd.Parameters.Add("@DSCTO_COMIS_REA", SqlDbType.Decimal).Value = o._Dscto_Comis_Rea;
                sqlcmd.Parameters.Add("@ESTADO", SqlDbType.Char).Value = o._Estado;
                sqlcmd.Parameters.Add("@USU_REG", SqlDbType.VarChar).Value = o._Usu_Reg;
                sqlcmd.Parameters.Add("@TIP_COMPROBANTE", SqlDbType.VarChar).Value = o._Tip_Comprobante;

                _bool = sqlcmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            return _bool;
        }
        private void exportarDatoExcel(eOperacionVC o)
        {
            int total;
            String filename = "OPERACION " + ddl_tipcom_o.SelectedItem.Value + " " + String.Format("{0:dd/MM/yyyy}", System.DateTime.Today) + ".xls";
            Response.ContentType = "application/vnd.ms-excel";
            Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", filename));
            Response.Clear();

            var output = new MemoryStream();
            var writer = new StreamWriter(output);

            HSSFWorkbook xssfworkbook = new HSSFWorkbook();
            ISheet sheet = xssfworkbook.CreateSheet("OPERACION");

            IFont titleFont = xssfworkbook.CreateFont();
            titleFont.FontName = "Calibri";
            titleFont.Boldweight = (short)FontBoldWeight.Bold;
            titleFont.Color = (IndexedColors.Black.Index);
            titleFont.FontHeightInPoints = 11;

            ICellStyle styleCabecera = xssfworkbook.CreateCellStyle();
            styleCabecera.Alignment = HorizontalAlignment.Center;
            styleCabecera.VerticalAlignment = VerticalAlignment.Center;
            styleCabecera.SetFont(titleFont);
            styleCabecera.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
            styleCabecera.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
            styleCabecera.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
            styleCabecera.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;

            bOperacionSelectVC operacion = new bOperacionSelectVC();
            DataTable dt = operacion.GetSelectOperacionExport(o, 0, 1000000, "NRO_OPERACION ASC", out total);
            IRow dataHeader = sheet.CreateRow(0);
            ICell dataCellH;
            for (int cl1 = 0; cl1 < 11; cl1++)
            {
                sheet.SetColumnWidth(cl1, 150 * 25);
            }
            for (int cl = 11; cl <= 21; cl++)
            {
                sheet.SetColumnWidth(cl, 300 * 25);
            }
            //cabecera excel
            for (int h = 0; h < (dt.Columns.Count); h++)
            {
                dataCellH = dataHeader.CreateCell(h);
                dataCellH.SetCellValue(dt.Columns[h].ToString());
                dataCellH.CellStyle = styleCabecera;
                dataCellH.CellStyle.WrapText = true;
            }
            //cuerpo excel
            for (int r = 0; r < dt.Rows.Count; r++)
            {
                IRow datacell = sheet.CreateRow(1+r);
                for (int c = 0; c < dt.Columns.Count; c++)
                {
                    datacell.CreateCell(c, CellType.String).SetCellValue(dt.Rows[r][c].ToString());

                }
            }
            xssfworkbook.Write(output);
            writer.Flush();

            dt.Rows.Clear();
            dt.Columns.Clear();
            dt.Clear();

            Response.BinaryWrite(output.GetBuffer());
            Response.End();
        }
 public Int32 SetProcesaPrima(eOperacionVC o)
 {
     dSqlOperacionVC ope = new dSqlOperacionVC();
     return ope.SetProcesaPrima(o);
 }
 public Int32 SetGuardarOperacionManual(eOperacionVC o)
 {
     dSqlOperacionVC ope = new dSqlOperacionVC();
     return ope.SetGuardarOperacionManual(o);
 }
        private void SetInertarCierreProceso()
        {
            int registro_procesado, registro_creado;
            String monto_acumulado;

            eCierreProceso ec = new eCierreProceso();
            ec._Nro_Contrato = ddl_contrato_c.SelectedItem.Value;
            ec._Tipo_Cierre = ddl_tipo_cierre.SelectedItem.Value;
            ec._Tipo_Info = ddl_tipinfo_c.SelectedItem.Value;
            ec._Anio_Cierre = anio_vigente;
            ec._Mes_Cierre = mes_vigente.ToString();
            ec._Usu_Reg = Session["username"].ToString();
            bCierreProcesoVC bc = new bCierreProcesoVC();
            Int32 resp = bc.SetInsertarCierreProceso(ec);
            if (resp != 0)
            {
                String tipo_tabla = "";
                String tipo_info = "";
                eOperacionVC opt = new eOperacionVC();
                opt._Ide_Contrato = ddl_contrato_c.SelectedItem.Value;
                if (ddl_tipo_cierre.SelectedItem.Value.ToUpper() == "TRI"){
                    tipo_tabla = "2";
                    tipo_info = "C"+ddl_tipinfo_c.SelectedItem.Value.Substring(1);
                    opt._Tip_Operacion = ddl_tipinfo_c.SelectedItem.Value;
                    opt._Ano_Operacion = anio_vigente;
                    opt._Mes_Operacion = mes_vigente.ToString();
                    opt._Formato_Moneda = formato_moneda;
                }
                else{
                    tipo_tabla = "1";
                    tipo_info = "R" + ddl_tipinfo_c.SelectedItem.Value.Substring(1);
                    opt._Tip_Operacion = "R" + ddl_tipinfo_c.SelectedItem.Value.Substring(1);
                    opt._Ano_Operacion = anio_vigente;
                    opt._Mes_Operacion = mes_vigente.ToString();
                    opt._Formato_Moneda = formato_moneda;
                }

                String[] tabla = { tipo_tabla, tipo_info };
                bOperacionSelectVC bos = new bOperacionSelectVC();
                bos.GetSelectTotalOperacion(opt, tabla, out registro_procesado, out registro_creado, out monto_acumulado);
                lbl_regprocesado_c.Text = registro_procesado.ToString();
                lbl_opecreada_c.Text = registro_creado.ToString();
                lbl_totimporte_c.Text = monto_acumulado.ToString();

                MessageBox("Operación Ejecutada Correctamente");
            }
            else {
                MessageBox("No se Encontró Registros Para Procesar");
            }
        }
 public void GetSelectTotalOperacion(eOperacionVC o,String[] dataparam, out int registro_procesado, out int registro_creado, out String total_suma)
 {
     dSqlOperacionSelectVC ope = new dSqlOperacionSelectVC();
     ope.GetSelectTotalOperacion(o,dataparam,out registro_procesado,out registro_creado,out total_suma);
 }
 public DataTable GetSelectOperacionExport(eOperacionVC o, int start, int size, String orderBy, out int total)
 {
     dSqlOperacionSelectVC ope = new dSqlOperacionSelectVC();
     return ope.GetSelectOperacionExport(o,start,size,orderBy ,out total);
 }
 public List<eOperacionVC> GetSelectOperacionDetalle(eOperacionVC o,int start, int size, String orderBy, out int total)
 {
     dSqlOperacionSelectVC ope = new dSqlOperacionSelectVC();
     return ope.GetSelectOperacionDetalle(o,start,size,orderBy,out total);
 }
        private void SetValidarCierreXTipoRegistro(String tiporegistro,Int32 mes_actual,Int32 mes_anterior,Int32 mes_x_trimestre)
        {
            int registro_procesado, registro_creado;
            String monto_acumulado;

            Int32 resp = 0;
            eOperacionVC ope = new eOperacionVC();
            ope._Ide_Contrato = ddl_contrato_o.SelectedItem.Value;
            ope._Tip_Operacion = ddl_tipinfo.SelectedItem.Value;
            ope._Tipo_Registro = ddl_tipo_registro.SelectedItem.Value;
            ope._Ano_Operacion = anio_vigente;
            ope._Mes_Operacion = mes_vigente.ToString();
            ope._Formato_Moneda = formato_moneda;
            ope._Des_Reg_Mes = "OPERACION " + ope._Tipo_Registro + " (" + ope._Tip_Operacion + ")";
            ope._Usu_Reg = Session["username"].ToString();

            if (/*existe_mes_anterior > 0 &&mes_actual == 0 &&*/ ope._Tipo_Registro.ToUpper() == "MEN")
            {
                bOperacionVC bo = new bOperacionVC();
                if (ope._Tip_Operacion == "RP")
                {
                    resp = bo.SetProcesaPago(ope);
                }
                else if (ope._Tip_Operacion == "RI")
                {
                    resp = bo.SetProcesaIbnr(ope);
                }
                else if (ope._Tip_Operacion == "RR")
                {
                    resp = bo.SetProcesoRsp(ope);
                }
                else
                {
                    resp = bo.SetProcesaPrima(ope);
                }

                if (resp != 0)
                {
                    String[] tabla = {"1","NO"};
                    bOperacionSelectVC bos = new bOperacionSelectVC();
                    bos.GetSelectTotalOperacion(ope, tabla, out registro_procesado, out registro_creado, out monto_acumulado);

                    lbl_regprocesado.Text = registro_procesado.ToString();
                    lbl_opecreada.Text = registro_creado.ToString();
                    lbl_totimporte.Text = monto_acumulado.ToString();
                    MessageBox(registro_creado + " Registros Creados");
                }
                else
                {
                    MessageBox("Aviso => No hay registros y/o ya fueron procesados verifique.");
                }
            }
            else if (mes_actual == 0 && mes_x_trimestre == 0 && ope._Tipo_Registro.ToUpper() == "TRI")
            {

                bOperacionVC bo = new bOperacionVC();
                if (ope._Tip_Operacion == "RP")
                {
                    resp = bo.SetProcesaPago(ope);
                }
                else if (ope._Tip_Operacion == "RI")
                {
                    resp = bo.SetProcesaIbnr(ope);
                }
                else if (ope._Tip_Operacion == "RR")
                {
                    resp = bo.SetProcesoRsp(ope);
                }
                else
                {
                    resp = bo.SetProcesaPrima(ope);
                }

                if (resp != 0)
                {
                    String[] tabla = { "2", "C"+ddl_tipinfo.SelectedItem.Value.Substring(1)};
                    bOperacionSelectVC bos = new bOperacionSelectVC();
                    bos.GetSelectTotalOperacion(ope, tabla, out registro_procesado, out registro_creado, out monto_acumulado);

                    lbl_regprocesado.Text = registro_procesado.ToString();
                    lbl_opecreada.Text = registro_creado.ToString();
                    lbl_totimporte.Text = monto_acumulado.ToString();
                    MessageBox(registro_creado + " Registros Creados");
                }
                else
                {
                    MessageBox("Aviso => No hay registros y/o ya fueron procesados verifique.");
                }
            }
            else {
                MessageBox("El Tipo de Operación "+ddl_tipinfo.SelectedItem.Value+" ya fue Procesado");
            }
        }
        //PROCESO DE RESP
        public Int32 SetProcesaRsp(eOperacionVC o)
        {
            Int32 _bool = 0;
            try
            {
                int mes_anterior = 0;
                int mes_actual = 0;
                if (Convert.ToInt32(o._Mes_Operacion) < 10)
                {
                    if (Convert.ToInt32(o._Mes_Operacion) == 1)
                    {
                        mes_anterior = Convert.ToInt32((Convert.ToInt32(o._Ano_Operacion)) - 1 + "" + (Convert.ToInt32(o._Mes_Operacion) + 11));
                        mes_actual = Convert.ToInt32(o._Ano_Operacion + "0" + (o._Mes_Operacion));
                    }
                    else
                    {
                        mes_anterior = Convert.ToInt32(o._Ano_Operacion + "0" + (Convert.ToInt32(o._Mes_Operacion) - 1));
                        mes_actual = Convert.ToInt32(o._Ano_Operacion + "0" + (o._Mes_Operacion));
                    }
                }
                else
                {
                    if (Convert.ToInt32(o._Mes_Operacion) - 1 < 10)
                        mes_anterior = Convert.ToInt32(o._Ano_Operacion + "0" + (Convert.ToInt32(o._Mes_Operacion) - 1));
                    else
                        mes_anterior = Convert.ToInt32(o._Ano_Operacion + "" + (Convert.ToInt32(o._Mes_Operacion) - 1));
                    mes_actual = Convert.ToInt32(o._Ano_Operacion + "" + (o._Mes_Operacion));
                }

                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sProcesaRsp;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.VarChar).Value = o._Ide_Contrato;
                sqlcmd.Parameters.Add("@TIPO_REGISTRO", SqlDbType.Char).Value = o._Tipo_Registro;
                sqlcmd.Parameters.Add("@TIPO_OPERACION", SqlDbType.Char).Value = o._Tip_Operacion;
                sqlcmd.Parameters.Add("@MES_ANTERIOR", SqlDbType.Int).Value = mes_anterior;
                sqlcmd.Parameters.Add("@MES_VIGENTE", SqlDbType.Int).Value = mes_actual;
                sqlcmd.Parameters.Add("@DESCRIPCION_REG", SqlDbType.VarChar).Value = o._Des_Reg_Mes;
                sqlcmd.Parameters.Add("@USU_REG", SqlDbType.VarChar).Value = o._Usu_Reg;
                _bool = sqlcmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
              return _bool;
        }
 public List<eOperacionVC>GetSelectOperacion(eOperacionVC o,int start,int size,String orderby,out int total)
 {
     dSqlOperacionVC ope = new dSqlOperacionVC();
     return ope.GetSelectOperacion(o,start,size,orderby,out total,out moneda);
 }
        public void GetSelectTotalOperacion(eOperacionVC o,String[] dataparam, out int registro_procesado, out int registro_creado, out String total_suma)
        {
            Int32 conteo_total = 0;
            Int32 conteo_procesado = 0;
            Decimal suma_total = 0.00m;
            try{
                Int32 mes_vigente = 0;
                String tipo_info = "";
                switch (o._Tip_Operacion.ToUpper()){
                    case "RR":
                         tipo_info = "01"; //cuando es rsp
                        break;
                    case "RI":
                        tipo_info = "08";//cuando es ibnr
                        break;
                    case "RM":
                        tipo_info = "07"; //cuando es primas
                        break;
                    default:
                        tipo_info = "PG"; //son pagos
                        break;
                }
                if (Convert.ToInt32(o._Mes_Operacion) < 10)
                    mes_vigente = Convert.ToInt32(o._Ano_Operacion+"0"+Convert.ToInt32(o._Mes_Operacion));
                else
                    mes_vigente = Convert.ToInt32(o._Ano_Operacion + "" + Convert.ToInt32(o._Mes_Operacion));

                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sSelectTotalOperacion;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO ", SqlDbType.VarChar).Value = o._Ide_Contrato;
                sqlcmd.Parameters.Add("@TIPO_TABLA", SqlDbType.Int).Value = dataparam[0];
                sqlcmd.Parameters.Add("@TIPO_INFO", SqlDbType.Char).Value = tipo_info;
                sqlcmd.Parameters.Add("@TIPO_OPERACION", SqlDbType.Char).Value = o._Tip_Operacion;
                sqlcmd.Parameters.Add("@TIPO_COMPROBANTE", SqlDbType.Char).Value = dataparam[1];
                sqlcmd.Parameters.Add("@MES_VIGENTE", SqlDbType.Int).Value = mes_vigente;

                SqlDataReader dr = sqlcmd.ExecuteReader();
                while (dr.Read())
                {
                    conteo_procesado = dr.GetInt32(0);
                    conteo_total = dr.GetInt32(1);
                    suma_total = dr.GetDecimal(2);
                }
            }
            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            registro_procesado = conteo_procesado;
            registro_creado = conteo_total;
            total_suma = String.Format(o._Formato_Moneda,suma_total).Substring(3);
        }
 public Int32 SetProcesaIbnr(eOperacionVC o)
 {
     dSqlOperacionVC ope = new dSqlOperacionVC();
     return ope.SetProcesaIBNR(o);
 }
        public DataTable GetSelectOperacionExport(eOperacionVC o, int start, int size, String orderBy, out int total)
        {
            String[] cabeceraPrima = {"N° Operación","Tipo Operación","Reasegurador","Fecha de Operacón","Año","Mes","Asegurado","N° Contrato","Ramo","Descripción","Moneda","Extorno de Prima t-2",
                                       "Extorno de Prima t-1","Prima Abonada","Prima Registrada Contablemente","Prima Cedida","Impuesto","Prima por Pagar","Estado","Fecha Registro","usuario Registro"};
            String[] cabeceraIbnr = {"N° Operación","Tipo Operación","Reasegurador","Fecha de Operacón","Año","Mes","Asegurado","N° Contrato","Ramo","Descripción","Moneda","Siniestros Directos",
                                    "Siniestros Cedidos","Comisiones / Descuentos","Siniestros por Cobrar","Estado","Fecha Registro","usuario Registro"};
            String[] cabeceraPago = { "N° Operación", "Tipo Operación", "Reasegurador", "Fecha de Operacón", "Año", "Mes", "Asegurado", "N° Contrato", "Ramo","Moneda", "Descripción", "Primas por \n pagar Reaseguros \n Cedidos",
                                    "Primas por Cobrar \n Reaseguros \n Aceptados","Siniestros por \n Cobrar Reaseguros \n Cedidos","Siniestros por \n Pagar Reaseguros \n Aceptados","Otras Cuentas por \n Cobrar Reaseguros \n Cedidos",
                                    "Otras Cuentas por \n  Pagar Reaseguros \n Aceptados","Descuento y \n Comisiones de \nReaseguros","Saldo Deudor","Saldo Acreedor","Saldo Deudor \n (COMPENSADOS)","Saldo Acreedor \n (COMPENSADOS)","Estado","Fecha Registro","usuario Registro"};

            DataTable dt = new DataTable();
            if (o._Tip_Operacion.ToUpper().Equals("RM"))
            {
                for (int c = 0; c < cabeceraPrima.Length; c++)
                {
                    dt.Columns.Add(cabeceraPrima[c]);
                }
            }
            else if (o._Tip_Operacion.ToUpper().Equals("RI") || o._Tip_Operacion.ToUpper().Equals("RR"))
            {
                for (int c = 0; c < cabeceraIbnr.Length; c++)
                {
                    dt.Columns.Add(cabeceraIbnr[c]);
                }
            }
            else {
                for (int c = 0; c < cabeceraPago.Length; c++)
                {
                    dt.Columns.Add(cabeceraPago[c]);
                }
            }

            int DBtotRow = 0;
            try
            {
                conexion.Open();

                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sSelectOperacion;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.Char).Value = o._Ide_Contrato;
                sqlcmd.Parameters.Add("@TIPO_OPERACION", SqlDbType.Char).Value = o._Tip_Operacion;
                sqlcmd.Parameters.Add("@COD_RAMO", SqlDbType.Char).Value = o._Cod_Ramo;
                sqlcmd.Parameters.Add("@NRO_OPERACION", SqlDbType.Int).Value = o._Nro_Operacion;
                sqlcmd.Parameters.Add("@FECHA_INI", SqlDbType.Date).Value = o._fecha_ini;
                sqlcmd.Parameters.Add("@FECHA_HASTA", SqlDbType.Date).Value = o._fecha_fin;
                sqlcmd.Parameters.Add("@TOKEN_DATE", SqlDbType.Char).Value = o._token_fecha;
                sqlcmd.Parameters.Add("@ORDERBY", SqlDbType.VarChar).Value = orderBy;
                sqlcmd.Parameters.Add("@START", SqlDbType.Int).Value = start;
                sqlcmd.Parameters.Add("@FIN", SqlDbType.Int).Value = size;
                sqlcmd.Parameters.Add("@TOTALROW", SqlDbType.Int).Direction = ParameterDirection.Output;

                SqlDataReader dr = sqlcmd.ExecuteReader();
                while (dr.Read())
                {
                    if (o._Tip_Operacion.ToUpper().Equals("RM")){
                        Object[] obj = new Object[cabeceraPrima.Length];
                        obj[0] = dr.GetInt32(1);
                        obj[1] = dr.GetString(2);
                        obj[2] = dr.GetString(3);
                        obj[3] = dr.GetDateTime(4).ToShortDateString();
                        obj[4] = dr.GetInt32(5);
                        obj[5] = meses[dr.GetInt32(6)];
                        obj[6] = dr.GetString(7);
                        obj[7] = dr.GetString(8);
                        obj[8] = dr.GetString(9);
                        obj[9] = dr.GetString(16);
                        obj[10] = dr.GetString(10);
                        obj[11] = String.Format(o._Formato_Moneda, dr.GetDecimal(11)).Substring(3);
                        obj[12] = String.Format(o._Formato_Moneda, dr.GetDecimal(12)).Substring(3);
                        obj[13] = String.Format(o._Formato_Moneda, dr.GetDecimal(13)).Substring(3);
                        obj[14] = String.Format(o._Formato_Moneda, dr.GetDecimal(14)).Substring(3);
                        obj[15] = String.Format(o._Formato_Moneda, dr.GetDecimal(15)).Substring(3);
                        obj[16] = String.Format(o._Formato_Moneda, dr.GetDecimal(17)).Substring(3);
                        obj[17] = String.Format(o._Formato_Moneda, dr.GetDecimal(18)).Substring(3);
                        obj[18] = dr.GetString(30);
                        obj[19] = dr.GetDateTime(31);
                        obj[20] = dr.GetString(32);

                        dt.Rows.Add(obj);
                    }
                    else if (o._Tip_Operacion.ToUpper().Equals("RI") || o._Tip_Operacion.ToUpper().Equals("RR"))
                    {
                        Object[] obj = new Object[cabeceraIbnr.Length];
                        obj[0] = dr.GetInt32(1);
                        obj[1] = dr.GetString(2);
                        obj[2] = dr.GetString(3);
                        obj[3] = dr.GetDateTime(4).ToShortDateString();
                        obj[4] = dr.GetInt32(5);
                        obj[5] = meses[dr.GetInt32(6)];
                        obj[6] = dr.GetString(7);
                        obj[7] = dr.GetString(8);
                        obj[8] = dr.GetString(9);
                        obj[9] = dr.GetString(16);
                        obj[10] = dr.GetString(10);
                        obj[11] = String.Format(o._Formato_Moneda, dr.GetDecimal(20)).Substring(3);
                        obj[12] = String.Format(o._Formato_Moneda, dr.GetDecimal(21)).Substring(3);
                        obj[13] = String.Format(o._Formato_Moneda, dr.GetDecimal(25)).Substring(3);
                        obj[14] = String.Format(o._Formato_Moneda, dr.GetDecimal(22)).Substring(3);
                        obj[15] = dr.GetString(30);
                        obj[16] = dr.GetDateTime(31);
                        obj[17] = dr.GetString(32);

                        dt.Rows.Add(obj);
                    }
                    else
                    {
                        Object[] obj = new Object[cabeceraPago.Length];
                        obj[0] = dr.GetInt32(1);
                        obj[1] = dr.GetString(2);
                        obj[2] = dr.GetString(3);
                        obj[3] = dr.GetDateTime(4).ToShortDateString();
                        obj[4] = dr.GetInt32(5);
                        obj[5] = meses[dr.GetInt32(6)];
                        obj[6] = dr.GetString(7);
                        obj[7] = dr.GetString(8);
                        obj[8] = dr.GetString(9);
                        obj[9] = dr.GetString(10);
                        obj[10] = dr.GetString(16);
                        obj[11] = String.Format(o._Formato_Moneda, dr.GetDecimal(18)).Substring(3);
                        obj[12] = String.Format(o._Formato_Moneda, dr.GetDecimal(19)).Substring(3);
                        obj[13] = String.Format(o._Formato_Moneda, dr.GetDecimal(21)).Substring(3);
                        obj[14] = String.Format(o._Formato_Moneda, dr.GetDecimal(22)).Substring(3);
                        obj[15] = String.Format(o._Formato_Moneda, dr.GetDecimal(23)).Substring(3);
                        obj[16] = String.Format(o._Formato_Moneda, dr.GetDecimal(24)).Substring(3);
                        obj[17] = String.Format(o._Formato_Moneda, dr.GetDecimal(25)).Substring(3);
                        obj[18] = String.Format(o._Formato_Moneda, dr.GetDecimal(26)).Substring(3);
                        obj[19] = String.Format(o._Formato_Moneda, dr.GetDecimal(27)).Substring(3);
                        obj[22] = String.Format(o._Formato_Moneda, dr.GetDecimal(28)).Substring(3);
                        obj[21] = String.Format(o._Formato_Moneda, dr.GetDecimal(29)).Substring(3);
                        obj[22] = dr.GetString(30);
                        obj[23] = dr.GetDateTime(31);
                        obj[24] = dr.GetString(32);

                        dt.Rows.Add(obj);
                    }
                }
                dr.Close();
                DBtotRow = (int)sqlcmd.Parameters["@TOTALROW"].Value;
            }
            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            total = DBtotRow;
            return dt;
        }
 public Int32 SetProcesoRsp(eOperacionVC o)
 {
     dSqlOperacionVC ope = new dSqlOperacionVC();
     return ope.SetProcesaRsp(o);
 }
 private static eOperacionVC SetParametros(String[] dataFrm)
 {
     Int32 nro_comprob = 0;
     String fecha_token = "NO";
     if (dataFrm[3] != "") { nro_comprob = Int32.Parse(dataFrm[3]); }
     if (dataFrm[4] != "") { fecha_token = "SI"; }
     eOperacionVC eo = new eOperacionVC();
     eo._Ide_Contrato = dataFrm[0];
     eo._Tip_Operacion = dataFrm[1];
     eo._Cod_Ramo = dataFrm[2];
     eo._Nro_Operacion = nro_comprob;
     eo._Formato_Moneda = formato_moneda;
     if (dataFrm[4] != "" || dataFrm[5] != "")
     {
         eo._token_fecha = fecha_token;
         eo._fecha_ini = Convert.ToDateTime(dataFrm[4]);
         eo._fecha_fin = Convert.ToDateTime(dataFrm[5]);
     }
     else
     {
         eo._token_fecha = fecha_token;
         eo._fecha_ini = System.DateTime.Today;
         eo._fecha_fin = System.DateTime.Today;
     }
     return eo;
 }