private DataTable GetDatasourceGrid(eDatoM o, Int32 tab_selected)
        {
            bRegistroDatoVC rdm = new bRegistroDatoVC();
            DataTable       dtr = rdm.GetSelectDatoMGrid(o);

            return(dtr);
        }
        private void GetSelectDatoM(Int32 tab_selected)
        {
            eDatoM    edm    = this.SetEntityDatoM(tab_selected);
            DataTable dtresp = this.GetDatasourceGrid(edm, tab_selected);

            if (dtresp.Rows.Count > 0 && tab_selected == 0)
            {
                gvPrima.DataSource = dtresp;
                gvPrima.DataBind();
            }
            else if (dtresp.Rows.Count > 0 && tab_selected == 1)
            {
                gvIbnr.DataSource = dtresp;
                gvIbnr.DataBind();
            }
            else
            {
                Boolean resp = SetInsertarDataM(tab_selected);
                if (resp == true && tab_selected == 0)
                {
                    gvPrima.DataSource = this.GetDatasourceGrid(edm, tab_selected);
                    gvPrima.DataBind();
                }
                else if (resp == true && tab_selected == 1)
                {
                    gvIbnr.DataSource = this.GetDatasourceGrid(edm, tab_selected);
                    gvIbnr.DataBind();
                }
                else
                {
                    MessageBox("No se encontró registros ingresados para el mes anterior");
                }
            }
        }
        protected void gvIbnr_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            eDatoM      p   = new eDatoM();
            GridViewRow row = gvIbnr.Rows[e.RowIndex];

            p._id_Empresa     = Convert.ToInt32(Session["idempresa"]);
            p._ide_Data_M     = Convert.ToInt32(((TextBox)(row.Cells[2].Controls[0])).Text.ToString());
            p._tipo_info      = "08";
            p._nro_Contrato   = ddl_contrato_ib.SelectedItem.Value;
            p._anio_Vigente   = anio_vigente_session;
            p._mes_Contable   = SetConcatenarMesAnioContable();
            p._cod_Ramo       = ddl_ramo_ib.SelectedItem.Value;
            p._cod_Producto   = ddl_producto_ib.SelectedItem.Value;
            p._mto_Abonado    = Convert.ToDecimal(((TextBox)(row.Cells[3].Controls[0])).Text.ToString());
            p._mto_Prima_Est  = Convert.ToDecimal(((TextBox)(row.Cells[4].Controls[0])).Text.ToString());
            p._Formato_Moneda = formato_moneda;
            p._estado         = "A";
            p._usu_mod        = Session["username"].ToString();

            gvIbnr.EditIndex = -1;

            bRegistroDatoVC ba   = new bRegistroDatoVC();
            Int32           resp = ba.SetActualizarDatoM(p);

            if (resp > 0)
            {
                gvIbnr.DataSource = GetDatasourceGrid(p, 1);
                gvIbnr.DataBind();
            }
        }
        protected void gvIbnr_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            eDatoM dm = SetEntityDatoM(1);

            gvIbnr.EditIndex  = -1;
            gvIbnr.DataSource = GetDatasourceGrid(dm, 1);
            gvIbnr.DataBind();
        }
        protected void gvPrima_RowEditing(object sender, GridViewEditEventArgs e)
        {
            eDatoM dm = SetEntityDatoM(0);

            gvPrima.EditIndex  = e.NewEditIndex;
            gvPrima.DataSource = GetDatasourceGrid(dm, 0);
            gvPrima.DataBind();
        }
示例#6
0
        public DataTable GetSelectDatoMGrid(eDatoM o)
        {
            int totalContrato;
            dSqlRegistroDatoVC dr     = new dSqlRegistroDatoVC();
            DataTable          dtm    = dr.GetSelectDatoMGrid(o);
            DataTable          dtedit = new DataTable();

            if (dtm.Rows.Count > 0)
            {
                eContratoVC ecn = new eContratoVC();
                ecn._inicio       = 0;
                ecn._fin          = 1000000;
                ecn._orderby      = "IDE_CONTRATO ASC";
                ecn._nro_Contrato = o._nro_Contrato;
                ecn._estado       = "A";

                bContratoVC        bcn             = new bContratoVC();
                List <eContratoVC> list            = bcn.GetSelecionarContrato(ecn, out totalContrato);
                DateTime           inicio_contrato = list[0]._fec_Ini_Vig;
                DateTime           fin_contrato    = list[0]._fec_Fin_Vig;

                Int32 mes_vigente = inicio_contrato.Month;

                for (int c = 0; c < 4; c++)
                {
                    dtedit.Columns.Add(column[c]);
                }
                for (int r = 0; r < dtm.Rows.Count; r++)
                {
                    if (mes_vigente > 12)
                    {
                        mes_vigente = 1;
                    }
                    Object[] row = new Object[dtedit.Columns.Count];
                    row[0] = SetCalcularMesDevengueString(inicio_contrato.Year, inicio_contrato.Month, r, mes_vigente);
                    for (int cl = 1; cl < dtedit.Columns.Count; cl++)
                    {
                        if (cl == 1)
                        {
                            row[cl] = dtm.Rows[r][cl - 1];
                        }
                        else
                        {
                            row[cl] = String.Format(o._Formato_Moneda, Convert.ToDecimal(dtm.Rows[r][cl - 1]));
                        }
                    }
                    dtedit.Rows.Add(row);
                    mes_vigente++;
                }
            }
            return(dtedit);
        }
示例#7
0
        public DataTable GetSelectDatoM(eDatoM o, out int total_column)
        {
            int       DBtotRow = 0;
            DataTable dt       = new DataTable();

            String[] column = { "FEC_INI", "FEC_FIN", "ANIO", "DEVENGUE", "CONTABLE", "ABONO", "PRIMA" };
            for (int i = 0; i < column.Length; i++)
            {
                dt.Columns.Add(column[i]);
            }
            try
            {
                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection  = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sSelectDatoM;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@TIPO_INFO", SqlDbType.Char).Value       = o._tipo_info;
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.Char).Value    = o._nro_Contrato;
                sqlcmd.Parameters.Add("@COD_RAMO", SqlDbType.Char).Value        = o._cod_Ramo;
                sqlcmd.Parameters.Add("@COD_PRODUCTO", SqlDbType.Char).Value    = o._cod_Producto;
                sqlcmd.Parameters.Add("@TOTAL_COLUMN", SqlDbType.Int).Direction = ParameterDirection.Output;

                SqlDataReader dr = sqlcmd.ExecuteReader();
                while (dr.Read())
                {
                    object[] obj = new object[7];
                    obj[0] = dr.GetDateTime(0);
                    obj[1] = dr.GetDateTime(1);
                    obj[2] = dr.GetInt32(2);
                    obj[3] = dr.GetInt32(3);
                    obj[4] = dr.GetInt32(4);
                    obj[5] = dr.GetDecimal(5);
                    obj[6] = dr.GetDecimal(6);
                    dt.Rows.Add(obj);
                }
                dr.Close();
                DBtotRow = (int)sqlcmd.Parameters["@TOTAL_COLUMN"].Value;
            }
            catch (Exception ex)
            {
            }
            finally
            {
                conexion.Close();
            }
            total_column = DBtotRow;
            return(dt);
        }
        private void SetEliminarDatoM(Int32 tabIdex)
        {
            try
            {
                eDatoM edm = new eDatoM();
                if (tabIdex == 0)
                {
                    edm._nro_Contrato = ddl_contrato_p.SelectedItem.Value;
                    edm._tipo_info    = "07";
                    edm._cod_Producto = ddl_producto_p.SelectedItem.Value;
                    edm._cod_Ramo     = ddl_ramo_p.SelectedItem.Value;
                    edm._mes_Contable = SetConcatenarMesAnioContable();
                }
                else if (tabIdex == 1)
                {
                    edm._nro_Contrato = ddl_contrato_ib.SelectedItem.Value;
                    edm._tipo_info    = "08";
                    edm._cod_Producto = ddl_producto_ib.SelectedItem.Value;
                    edm._cod_Ramo     = ddl_ramo_ib.SelectedItem.Value;
                    edm._mes_Contable = SetConcatenarMesAnioContable();
                }

                bRegistroDatoVC brd  = new bRegistroDatoVC();
                Int32           resp = brd.SetEliminarDatoM(edm);
                if (resp != 0)
                {
                    MessageBox(resp + " Registro (s) Eliminado (s) Correctamente");
                    if (tabIdex == 0)
                    {
                        gvPrima.DataSource = this.GetDatasourceGrid(edm, tabIdex);
                        gvPrima.DataBind();
                    }
                    else
                    {
                        gvIbnr.DataSource = this.GetDatasourceGrid(edm, tabIdex);
                        gvIbnr.DataBind();
                    }
                }
                else
                {
                    MessageBox("No hay registros para realizar esta acción.");
                }
            }
            catch (Exception e)
            {
                MessageBox("ERROR =>" + e.Message);
            }
        }
示例#9
0
        public DataTable GetSelectDatoMGrid(eDatoM o)
        {
            DataTable dt = new DataTable();

            String[] column = { "ID", "MONTO", "PRIMA" };
            for (int i = 0; i < column.Length; i++)
            {
                dt.Columns.Add(column[i]);
            }
            try
            {
                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection  = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                sqlcmd.CommandText = _db.sSelectDatoMGrid;

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.VarChar).Value = o._nro_Contrato;
                sqlcmd.Parameters.Add("@TIPO_INFO", SqlDbType.Char).Value       = o._tipo_info;
                sqlcmd.Parameters.Add("@MES_CONTABLE", SqlDbType.Int).Value     = o._mes_Contable;
                sqlcmd.Parameters.Add("@COD_RAMO", SqlDbType.Char).Value        = o._cod_Ramo;

                SqlDataReader dr = sqlcmd.ExecuteReader();
                while (dr.Read())
                {
                    Object[] obj = new Object[3];
                    obj[0] = dr.GetInt32(0);
                    obj[1] = dr.GetDecimal(1);
                    obj[2] = dr.GetDecimal(2);
                    dt.Rows.Add(obj);
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                conexion.Close();
            }
            return(dt);
        }
        protected void btn_detalle_Click(object sender, EventArgs e)
        {
            int tabSelected = Int32.Parse(menuTabs.SelectedItem.Value);

            if (tabSelected == 0)
            {
                eDatoM edm = new eDatoM();
                edm._nro_Contrato   = ddl_contrato_p.SelectedItem.Value;
                edm._tipo_info      = "07";
                edm._cod_Producto   = ddl_producto_p.SelectedItem.Value;
                edm._cod_Ramo       = ddl_ramo_p.SelectedItem.Value;
                edm._anio_Vigente   = anio_vigente_session;
                edm._mes_Vigente    = mes_vigente_session;
                edm._Formato_Moneda = formato_moneda;

                bRegistroDatoVC ba = new bRegistroDatoVC();
                gvDatoM.Caption    = "Registro " + ddl_ramo_p.SelectedItem.Text;
                gvDatoM.DataSource = ba.GetSelectdatoM(edm, out totalContable, out totalDevengue);
                gvDatoM.DataBind();
                Page.ClientScript.RegisterStartupScript(this.GetType(), "clientscript", "document.getElementById('divPopPup').style.visibility = 'visible';", true);
                lbl_totAbono.Text    = totalContable;
                lbl_totDevengue.Text = totalDevengue;
            }
            else
            {
                eDatoM edm = new eDatoM();
                edm._nro_Contrato   = ddl_contrato_ib.SelectedItem.Value;
                edm._tipo_info      = "08";
                edm._cod_Producto   = ddl_producto_ib.SelectedItem.Value;
                edm._cod_Ramo       = ddl_ramo_ib.SelectedItem.Value;
                edm._mes_Vigente    = mes_vigente_session;
                edm._Formato_Moneda = formato_moneda;

                bRegistroDatoVC ba = new bRegistroDatoVC();
                gvDatoM.Caption    = "Registro " + ddl_ramo_ib.SelectedItem.Text;
                gvDatoM.DataSource = ba.GetSelectdatoM(edm, out totalContable, out totalDevengue);
                gvDatoM.DataBind();
                Page.ClientScript.RegisterStartupScript(this.GetType(), "clientscript", "document.getElementById('divPopPup').style.visibility = 'visible';", true);
                lbl_toto_Abono_ib.Text   = totalContable;
                lbl_tot_devengue_ib.Text = totalDevengue;
            }
        }
示例#11
0
        public List <eDatoM> listMesDevengue(eDatoM datoM)
        {
            var listDatoM = new List <eDatoM>();

            try
            {
                conexion.Open();
                var sqlcmd = new SqlCommand()
                {
                    Connection  = conexion,
                    CommandType = CommandType.StoredProcedure,
                    CommandText = _db.sValidaRegistroManual
                };

                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NroContrato", SqlDbType.VarChar).Value = datoM._nro_Contrato;
                sqlcmd.Parameters.Add("@TipoInfo", SqlDbType.Char).Value       = datoM._tipo_info;
                sqlcmd.Parameters.Add("@CodRamo", SqlDbType.Char).Value        = datoM._cod_Ramo;
                sqlcmd.Parameters.Add("@CodProducto", SqlDbType.Char).Value    = datoM._cod_Producto;

                var reader = sqlcmd.ExecuteReader();
                while (reader.Read())
                {
                    var eDatoM = new eDatoM()
                    {
                        _mes_Contable = Convert.ToInt32(reader["MES_CONTABLE"].ToString())
                    };
                    listDatoM.Add(eDatoM);
                }
                return(listDatoM);
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                conexion.Close();
            }
        }
        private eDatoM SetEntityDatoM(Int32 tab_selected)
        {
            eDatoM p = new eDatoM();

            if (tab_selected == 0)
            {
                p._nro_Contrato   = ddl_contrato_p.SelectedItem.Value;
                p._tipo_info      = "07";
                p._mes_Contable   = SetConcatenarMesAnioContable();
                p._cod_Ramo       = ddl_ramo_p.SelectedItem.Value;
                p._Formato_Moneda = formato_moneda;
            }
            else
            {
                p._nro_Contrato   = ddl_contrato_ib.SelectedItem.Value;
                p._tipo_info      = "08";
                p._mes_Contable   = SetConcatenarMesAnioContable();
                p._cod_Ramo       = ddl_ramo_ib.SelectedItem.Value;
                p._Formato_Moneda = formato_moneda;
            }
            return(p);
        }
示例#13
0
        public Int32 SetActualizarDatoM(eDatoM o)
        {
            Int32 _bool = 0;

            try
            {
                conexion.Open();

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

                sqlcmd.Parameters.Add("@IDE_DATA_M", SqlDbType.Int).Value        = o._ide_Data_M;
                sqlcmd.Parameters.Add("@TIPO_INFO", SqlDbType.Char).Value        = o._tipo_info;
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.VarChar).Value  = o._nro_Contrato;
                sqlcmd.Parameters.Add("@ANIO_VIGENTE", SqlDbType.Int).Value      = o._anio_Vigente;
                sqlcmd.Parameters.Add("@COD_RAMO", SqlDbType.Char).Value         = o._cod_Ramo;
                sqlcmd.Parameters.Add("@COD_PRODUCTO", SqlDbType.Char).Value     = o._cod_Producto;
                sqlcmd.Parameters.Add("@MTO_ABONADO", SqlDbType.Decimal).Value   = o._mto_Abonado;
                sqlcmd.Parameters.Add("@MTO_PRIMA_EST", SqlDbType.Decimal).Value = o._mto_Prima_Est;
                sqlcmd.Parameters.Add("@ESTADO", SqlDbType.Char).Value           = o._estado;
                sqlcmd.Parameters.Add("@USU_MOD", SqlDbType.VarChar).Value       = o._usu_mod;


                _bool = sqlcmd.ExecuteNonQuery();
            }

            catch (Exception ex)
            {
            }
            finally
            {
                conexion.Close();
            }
            return(_bool);
        }
示例#14
0
        public Int32 SetEliminarDatoM(eDatoM o)
        {
            Int32 resp = 0;

            try
            {
                String query = "DELETE FROM DATO_M WHERE NRO_CONTRATO = " + o._nro_Contrato + " AND TIPO_INFO = " + o._tipo_info + " AND COD_RAMO = " + o._cod_Ramo + " AND MES_CONTABLE = " + o._mes_Contable;
                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection  = conexion;
                sqlcmd.CommandType = CommandType.Text;
                sqlcmd.CommandText = query;

                resp = sqlcmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                conexion.Close();
            }
            return(resp);
        }
示例#15
0
        public Int32 SetActualizarDatoM(eDatoM o)
        {
            dSqlRegistroDatoVC dm = new dSqlRegistroDatoVC();

            return(dm.SetActualizarDatoM(o));
        }
示例#16
0
 public List <eDatoM> listMesDevengue(eDatoM datoM)
 {
     return(new dSqlRegistroDatoVC().listMesDevengue(datoM));
 }
示例#17
0
        public Int32 SetEliminarDatoM(eDatoM o)
        {
            dSqlRegistroDatoVC dm = new dSqlRegistroDatoVC();

            return(dm.SetEliminarDatoM(o));
        }
示例#18
0
        public DataTable GetSelectdatoM(eDatoM ent, out String totalContable, out String totalDevengue)
        {
            Int32 total_column;
            dSqlRegistroDatoVC dm = new dSqlRegistroDatoVC();
            var dt = dm.GetSelectDatoM(ent, out total_column);

            DataTable piramide = new DataTable();

            if (dt.Rows.Count != 0)
            {
                //variables
                //String[] cabecera = {"INICIO","FIN","AÑO VIGENTE","MES DEVENGUE","MES CONTABLE","MONTO ABONADO","MTO PRIMA EST."};
                DataTable dtHidden    = new DataTable();
                DateTime  fec_fin_vig = Convert.ToDateTime(dt.Rows[0]["FEC_FIN"]);
                DateTime  fec_ini_vig = Convert.ToDateTime(dt.Rows[0]["FEC_INI"]);

                //funcion de llenado de columnas dinamicas
                int anio_inicio, anio_fin;
                int mes_inicio, mes_fin, mes_devengue_inicial;
                int meses_del_contrat = (1 + CalcularMesesDeDiferencia(fec_ini_vig, fec_fin_vig));

                //int total
                anio_inicio = fec_ini_vig.Year;
                anio_fin    = fec_fin_vig.Year;

                mes_fin    = fec_fin_vig.Month;
                mes_inicio = fec_ini_vig.Month;

                //FOR PARA CALCULAR COLUMNAS DE LA TABLA
                for (int cl = 0; cl < total_column; cl++)
                {
                    if (mes_inicio > 12)
                    {
                        mes_inicio = 1;
                    }

                    if (cl == 0)
                    {
                        piramide.Columns.Add(mes[0]);
                        dtHidden.Columns.Add("0");
                    }
                    piramide.Columns.Add(SetCalcularMesDevengueString(anio_inicio, fec_ini_vig.Month, cl, mes_inicio));
                    dtHidden.Columns.Add(SetCalculaMesDevengue(anio_inicio, fec_ini_vig.Month, cl, mes_inicio));
                    mes_inicio++;
                }
                piramide.Columns.Add(mes[13]);
                dtHidden.Columns.Add(mes[13]);

                object[] obj = new object[piramide.Columns.Count];

                /* Llena Grilla con datos resumen */
                mes_devengue_inicial = fec_ini_vig.Month;
                int nregistro = 0;

                /*for (int o = 1; o < (meses_del_contrat + 2); o++)
                 * {
                 *  obj[o] = String.Format(ent._Formato_Moneda, 0.00m);
                 * }*/
                int Max_filas = meses_del_contrat;
                for (int nfila = 0; nfila < Max_filas; nfila++)
                {
                    if (nregistro < dt.Rows.Count)
                    {
                        if (mes_devengue_inicial > 12)
                        {
                            mes_devengue_inicial = 1;
                        }

                        obj[0] = SetCalcularMesDevengueString(fec_ini_vig.Year, fec_ini_vig.Month, nfila, mes_devengue_inicial);
                        Decimal costo_fila = 0.00m;
                        for (int ncolumna = 1; ncolumna < (piramide.Columns.Count - 1); ncolumna++)
                        {
                            if (nregistro < dt.Rows.Count)
                            {
                                var columna1 = dt.Rows[nregistro][4].ToString();
                                var columna2 = dtHidden.Columns[ncolumna].ToString();

                                if (dt.Rows[nregistro][4].ToString().Equals(dtHidden.Columns[ncolumna].ToString()))
                                {
                                    obj[ncolumna] = String.Format(ent._Formato_Moneda, Convert.ToDecimal(dt.Rows[nregistro][5]));
                                    obj[piramide.Columns.Count - 1] = String.Format(ent._Formato_Moneda, costo_fila += Convert.ToDecimal(dt.Rows[nregistro][5]));
                                    nregistro++;
                                }
                                else
                                {
                                    obj[ncolumna] = String.Format(ent._Formato_Moneda, 0.00m);
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                    else
                    {
                        break;
                    }
                    //if (nregistro >= dt.Rows.Count) {break; }

                    piramide.Rows.Add(obj);
                    mes_devengue_inicial++;
                }
                for (int rt = 1; rt < piramide.Columns.Count; rt++)
                {
                    obj[0] = "TOT ABONO";
                    Decimal suma = 0;
                    for (int ct = 0; ct < piramide.Rows.Count; ct++)
                    {
                        suma += Convert.ToDecimal(piramide.Rows[ct][rt]);
                    }
                    obj[rt] = String.Format(ent._Formato_Moneda, suma);
                }

                piramide.Rows.Add(obj);

                //calcular variable total del mes
                Decimal mes_devengue = 0;
                Decimal mes_contable = 0;
                String  condicion_mes_vigente;
                if (ent._mes_Vigente < 10)
                {
                    condicion_mes_vigente = Convert.ToString(ent._anio_Vigente + "0" + ent._mes_Vigente);
                }
                else
                {
                    condicion_mes_vigente = Convert.ToString(ent._anio_Vigente + "" + ent._mes_Vigente);
                }

                for (int l = 0; l < dt.Rows.Count; l++)
                {
                    if (Convert.ToString(condicion_mes_vigente) == Convert.ToString(dt.Rows[l][4]))
                    {
                        mes_devengue += Convert.ToDecimal(dt.Rows[l][5]);
                    }
                }
                for (int f = 0; f < dt.Rows.Count; f++)
                {
                    if (Convert.ToString(condicion_mes_vigente) == Convert.ToString(dt.Rows[f][3]))
                    {
                        mes_contable += Convert.ToDecimal(dt.Rows[f][5]);
                    }
                }
                //añadiendo valor a las variables de salida
                totalContable = String.Format(ent._Formato_Moneda, mes_contable);
                totalDevengue = String.Format(ent._Formato_Moneda, mes_devengue);
            }
            else
            {
                totalContable = "0";
                totalDevengue = "0";
            }
            return(piramide);
        }
        //funciones de grabado de primas Y ibnr
        private Boolean SetInsertarDataM(Int32 tab_selected)
        {
            var ecn = new eContratoVC()
            {
                _inicio       = 0,
                _fin          = 1000000,
                _orderby      = "IDE_CONTRATO ASC",
                _nro_Contrato = tab_selected == 0 ? ddl_contrato_p.SelectedItem.Value : ddl_contrato_ib.SelectedItem.Value,
                _estado       = "A"
            };
            var      bcn             = new bContratoVC();
            var      list            = bcn.GetSelecionarContrato(ecn, out totalContrato);
            DateTime inicio_contrato = list[0]._fec_Ini_Vig;
            DateTime fin_contrato    = list[0]._fec_Fin_Vig;
            Int32    mes_vigente     = inicio_contrato.Month;

            //Validar que se hayan ingresado todos los meses en forma secuencial
            var datoM = new eDatoM()
            {
                _nro_Contrato = ecn._nro_Contrato,
                _tipo_info    = tab_selected == 0?"07":"08",
                _cod_Ramo     = ddl_ramo_p.SelectedItem.Value,
                _cod_Producto = ddl_producto_p.SelectedItem.Value
            };
            var listDatoM       = new bRegistroDatoVC().listMesDevengue(datoM);
            var mesContable     = SetConcatenarMesAnioContable().ToString();
            var mesInicioContrt = Convert.ToInt32(inicio_contrato.Year.ToString() + "" + (mes_vigente < 10?"0" + mes_vigente.ToString(): mes_vigente.ToString()));
            var sigueSecuencia  = false;

            if (listDatoM.Count > 0)
            {
                mesContable = Convert.ToInt32(mesContable.Substring(4, 2)) == 1 ? (Convert.ToInt32(mesContable.Substring(0, 4)) - 1).ToString() + "12" : (Convert.ToInt32(mesContable) - 1).ToString();
                var encontroAnterior = listDatoM.FindAll(a => a._mes_Contable == (int.Parse(mesContable)));
                if (encontroAnterior.Count > 0)
                {
                    sigueSecuencia = true;
                }
            }

            if (Convert.ToInt32(mesContable) == mesInicioContrt || sigueSecuencia == true)
            {
                try
                {
                    var   dm = new bRegistroDatoVC();
                    Int32 total_mes_contrato = dm.CalcularMesesDeDiferencia(inicio_contrato, fin_contrato);
                    var   listdm             = new List <eDatoM>();
                    for (int m = 0; m <= total_mes_contrato; m++)
                    {
                        if (mes_vigente > 12)
                        {
                            mes_vigente = 1;
                        }
                        var p = new eDatoM();
                        if (tab_selected == 0)
                        {
                            p._id_Empresa     = Convert.ToInt32(Session["idempresa"]);
                            p._tipo_info      = "07";
                            p._nro_Contrato   = ddl_contrato_p.SelectedItem.Value;
                            p._anio_Vigente   = anio_vigente_session;
                            p._mes_Vigente    = SetCalculaMesDevengue(inicio_contrato.Year, inicio_contrato.Month, m, mes_vigente);
                            p._mes_Contable   = SetConcatenarMesAnioContable();
                            p._cod_Ramo       = ddl_ramo_p.SelectedItem.Value;
                            p._cod_Producto   = ddl_producto_p.SelectedItem.Value;
                            p._mto_Abonado    = 0.00m;
                            p._mto_Prima_Est  = 0.00m;
                            p._Formato_Moneda = formato_moneda;
                            p._estado         = "A";
                            p._usu_reg        = Session["username"].ToString();
                        }
                        else
                        {
                            p._id_Empresa    = Convert.ToInt32(Session["idempresa"]);
                            p._nro_Contrato  = ddl_contrato_ib.SelectedItem.Value;
                            p._tipo_info     = "08";
                            p._anio_Vigente  = anio_vigente_session;
                            p._mes_Vigente   = SetCalculaMesDevengue(inicio_contrato.Year, inicio_contrato.Month, m, mes_vigente);
                            p._mes_Contable  = SetConcatenarMesAnioContable();
                            p._cod_Ramo      = ddl_ramo_ib.SelectedItem.Value;
                            p._cod_Producto  = ddl_producto_ib.SelectedItem.Value;
                            p._mto_Abonado   = 0.00m;
                            p._mto_Prima_Est = 0.00m;
                            p._estado        = "A";
                            p._usu_reg       = Session["username"].ToString();
                        }

                        listdm.Add(p);
                        mes_vigente++;
                    }
                    dm.SetInsertarDatoM(listdm);
                    return(true);
                }
                catch (Exception ex)
                {
                    MessageBox("ERROR => " + ex.Message.Replace(Environment.NewLine, ""));
                    throw;
                }
            }
            else
            {
                return(false);
            }
        }