public List<eCierreProceso> GetSelectCierreOperacion(eCierreProceso o,out int total,int start,int size,String orderBy)
        {
            List<eCierreProceso> list = new List<eCierreProceso>();
            int DBtotRow = 0;
            try
            {
                conexion.Open();

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

                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("@START ", SqlDbType.Int).Value = start;
                sqlcmd.Parameters.Add("@SIZE ", SqlDbType.Int).Value = size;
                sqlcmd.Parameters.Add("@ORDERBY ", SqlDbType.VarChar).Value = orderBy;
                sqlcmd.Parameters.Add("@TOTAL ", SqlDbType.Int).Direction = ParameterDirection.Output;

                SqlDataReader dr = sqlcmd.ExecuteReader();
                while (dr.Read())
                {
                    var ec = new eCierreProceso();
                    ec._Id_Cierre = dr.GetInt32(1);
                    ec._Nro_Contrato = dr.GetString(2);
                    ec._Tipo_Info = dr.GetString(3);
                    ec._Fec_Cie = dr.GetDateTime(4);
                    ec._Anio_Cierre = dr.GetInt32(5);
                    ec._Mes_Cierre = meses[dr.GetInt32(6)];
                    ec._Nro_Registro = dr.GetInt32(7);
                    ec._Tipo_Cierre = dr.GetString(8);
                    ec._Total_Monto = String.Format(o._Formato_Moneda,dr.GetDecimal(9)).Substring(3);
                    ec._Estado = dr.GetString(10);
                    ec._Fec_Reg = dr.GetDateTime(11);
                    ec._Usu_Reg = dr.GetString(12);
                    list.Add(ec);
                }
                dr.Close();
                DBtotRow = (int)sqlcmd.Parameters["@TOTAL "].Value;
            }
            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            total = DBtotRow;
            return list;
        }
        public static object GetSelectCierreProceso(int jtStartIndex, int jtPageSize, string jtSorting, String[] data)
        {
            int totalI;
            int indexPage;
            if (jtStartIndex != 0)
            {
                indexPage = jtStartIndex / jtPageSize;
            }
            else
            {
                indexPage = jtStartIndex;
            }
            eCierreProceso ocm = new eCierreProceso();
            ocm._Nro_Contrato = data[0];
            ocm._Tipo_Info = data[1];
            ocm._Formato_Moneda = formato_moneda;

            bCierreProcesoVC bco = new bCierreProcesoVC();
            List<eCierreProceso> listI = bco.GetSelectCierreOperacion(ocm, out totalI, indexPage, jtPageSize, jtSorting.Substring(1));
            return new { Result = "OK", Records = listI, TotalRecordCount = totalI };
        }
        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");
            }
        }
        private void SetExportarExcel()
        {
            int total;
            eCierreProceso ec = new eCierreProceso();
            ec._Nro_Contrato = ddl_contrato_detC.SelectedItem.Value;
            ec._Tipo_Info = ddl_tipinfo_detC.SelectedItem.Value;
            ec._Formato_Moneda = formato_moneda;

            bCierreProcesoVC bc = new bCierreProcesoVC();
            List<eCierreProceso> list = bc.GetSelectCierreOperacion(ec,out total,0,10000,"TIPO_INFO ASC");
            PropertyDescriptorCollection pro = TypeDescriptor.GetProperties(typeof(eCierreProceso));
            DataTable dtexcel = new DataTable();
            foreach (PropertyDescriptor prop in pro)
            {
                dtexcel.Columns.Add(prop.Name.ToUpper(), Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
            }
            foreach (eCierreProceso item in list)
            {
                DataRow row = dtexcel.NewRow();
                foreach (PropertyDescriptor prop in pro)
                    row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
                    dtexcel.Rows.Add(row);
            }

            String datetime = System.DateTime.Today.Day +"/"+System.DateTime.Today.Month+"/"+System.DateTime.Today.Year;
            String filename = "CIERRE_DETALL" + " " + datetime + " " + ddl_tipinfo_detC.SelectedItem.Value + ".xls";
            Response.ContentType = "application/vnd.ms-excel";
            Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", filename));
            Response.Clear();

            var output = new MemoryStream();

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

            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.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;

            IRow dataHeader = sheet.CreateRow(0);
            ICell dataCellH;
            for (int h = 0; h < dtexcel.Columns.Count; h++)
            {
                dataCellH = dataHeader.CreateCell(h);
                dataCellH.SetCellValue(dtexcel.Columns[h].ToString().Substring(1));
                sheet.AutoSizeColumn(dtexcel.Columns[h].Ordinal);
                dataCellH.CellStyle = styleCabecera;
            }
            for (int r = 0; r < dtexcel.Rows.Count; r++)
            {
                dataHeader = sheet.CreateRow(1 + r);
                for (int c = 0; c < dtexcel.Columns.Count; c++)
                {
                    dataHeader.CreateCell(c, CellType.String).SetCellValue(dtexcel.Rows[r][c].ToString());
                }
            }
            xssfworkbook.Write(output);

            dtexcel.Rows.Clear();
            dtexcel.Columns.Clear();
            dtexcel.Clear();

            Response.BinaryWrite(output.GetBuffer());
            Response.End();
        }
 public Int32 SetInsertarCierreProceso(eCierreProceso o)
 {
     dSqlCierreProcesoVC dc = new dSqlCierreProcesoVC();
     return dc.SetInsertarCierreProceso(o);
 }
 public List<eCierreProceso> GetSelectCierreOperacion(eCierreProceso o, out int total, int start, int size, String orderBy)
 {
     dSqlCierreProcesoVC dco = new dSqlCierreProcesoVC();
     return dco.GetSelectCierreOperacion(o,out total,start,size,orderBy);
 }
        public Int32 SetInsertarCierreProceso(eCierreProceso o)
        {
            Int32 _bool = 0;
            try
            {
                conexion.Open();
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.Connection = conexion;
                sqlcmd.CommandType = CommandType.StoredProcedure;
                if(o._Tipo_Info.ToUpper() == "RP")
                    sqlcmd.CommandText = _db.sSinsertarCierrePago;
                else if(o._Tipo_Info.ToUpper() == "RI")
                    sqlcmd.CommandText = _db.sSinsertarCierreIbnr;
                else if(o._Tipo_Info.ToUpper() == "RR")
                    sqlcmd.CommandText = _db.sSinsertarCierreRsp;
                else
                    sqlcmd.CommandText = _db.sSinsertarCierrePrima;
                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.Add("@NRO_CONTRATO", SqlDbType.VarChar).Value = o._Nro_Contrato;
                sqlcmd.Parameters.Add("@TIPO_OPERACION", SqlDbType.Char).Value = o._Tipo_Info;
                sqlcmd.Parameters.Add("@ANIO_OPERACION", SqlDbType.Int).Value = o._Anio_Cierre;
                sqlcmd.Parameters.Add("@MES_OPERACION", SqlDbType.Int).Value = o._Mes_Cierre;
                sqlcmd.Parameters.Add("@TIPO_CIERRE", SqlDbType.Char).Value = o._Tipo_Cierre;
                sqlcmd.Parameters.Add("@USU_REG", SqlDbType.VarChar).Value = o._Usu_Reg;

                _bool = sqlcmd.ExecuteNonQuery();
            }

            catch (Exception ex)
            {

            }
            finally
            {
                conexion.Close();
            }
            return _bool;
        }