Exemple #1
0
        /// <summary>
        /// Devuelve la las colunas para una grilla en formato de json acuerdo a un tipo de regla
        /// </summary>
        /// <param name="regla"></param>
        /// <returns></returns>
        public StringBuilder getColumnGridByArchivo(ReglaArchivo regla, string gridFor, string columnsAdd = null)
        {
            var total     = 0;
            var listRegla = new dReglaArchivo().getListReglaArchivo(regla, 0, 1000, "CaracterInicial ASC", out total);
            //if (regla.Archivo.Equals("0"))
            //{
            //    listRegla = listRegla.GroupBy(x => new { x.NombreCampo, x.TituloColumna,x.TipoCampo })
            //                       .Select(y => new ReglaArchivo() { NombreCampo = y.Key.NombreCampo, TituloColumna = y.Key.TituloColumna,TipoCampo = y.Key.TipoCampo }).ToList();
            //}
            var sb = new StringBuilder();

            sb.Append("var fields = {");
            if (!gridFor.ToUpper().Equals("CARGA"))
            {
                sb.Append("Estado:{ title: 'Estado'},");
                sb.Append("NombreArchivo: { title: 'NombreArchivo'},");
                sb.Append("FechaInsert:{title:'Fecha_Carga',display: function (data) {return ConvertNumberToDateTime(data.record.FechaInsert);}},");
                sb.Append("FechaAprobacion:{title:'Fecha_Aprobación',display: function (data) {return ConvertNumberToDateTime(data.record.FechaAprobacion);}},");
            }
            for (int i = 1; i <= listRegla.Count; i++)
            {
                var type = listRegla[i - 1].TipoCampo.Trim() == "DATETIME" ? ",type: 'date', displayFormat: 'dd/mm/yy'" : "";
                sb.Append(listRegla[i - 1].NombreCampo + ":{");
                sb.Append("title:" + "'" + listRegla[i - 1].TituloColumna + "'" + type + "}" + (i == listRegla.Count ? "" : ","));
            }
            sb.Append(columnsAdd);
            sb.Append("}");
            return(sb);
        }
        private void setMostrarRegistroCargadosOK(string tipoArchivo)
        {
            filters[0] = nombreArchivo;
            txt_nombre_archivo_det.Text   = nombreArchivo;
            txt_tipo_informacion_det.Text = ddl_tipo_archivo.SelectedItem.Text;

            var columns = ",ReglaObservada:{title:'Observaciones'}";

            if (tipoArchivo == "NOMINA")
            {
                nomina.IDE_CONTRATO = Convert.ToInt32(ddl_conrato1.SelectedItem.Value);
            }
            else
            {
                historiaCab.IDE_CONTRATO = Convert.ToInt32(ddl_conrato1.SelectedItem.Value);
            }

            var action      = tipoArchivo == "NOMINA"? "/WebPage/ModuloDIS/Operaciones/frmCargaDatos.aspx/listNominaByArchivoOK" : "/WebPage/ModuloDIS/Operaciones/frmCargaDatos.aspx/listHistoriaDetalleByArchivoOK";
            var tipoLinea   = tipoArchivo == "NOMINA" ? "*" : "D";
            var sorter      = tipoArchivo == "NOMINA" ? "RUC_ORDE ASC" : "TIP_REGI ASC";
            var contratoSis = new nContratoSis().listContratoByID(new CONTRATO_SYS()
            {
                IDE_CONTRATO = Convert.ToInt32(ddl_conrato1.SelectedItem.Value)
            });
            var regla = new ReglaArchivo()
            {
                Archivo = ddl_tipo_archivo.SelectedItem.Value, TipoLinea = tipoLinea, NUM_CONT_LIC = Convert.ToInt32(contratoSis.NRO_CONTRATO), vigente = 1
            };
            var fields = new nReglaArchivo().getColumnGridByArchivo(regla, "Carga", columns).ToString();
            var grid   = new gridCreator().getGrid("frmCargaExito", "5000", action, sorter).ToString();

            Page.ClientScript.RegisterStartupScript(GetType(), "Grid", string.Format("{0};{1}", fields, grid), true);
        }
        public void actualizarReglaArchivo(ReglaArchivo regla)
        {
            try
            {
                using (var db = new DISEntities())
                {
                    var entity = db.ReglaArchivos.Find(regla.IdReglaArchivo);
                    entity.Archivo          = regla.Archivo;
                    entity.TipoLinea        = regla.TipoLinea;
                    entity.CaracterInicial  = regla.CaracterInicial;
                    entity.LargoCampo       = regla.LargoCampo;
                    entity.TipoCampo        = regla.TipoCampo;
                    entity.InformacionCampo = regla.InformacionCampo;
                    entity.FormatoContenido = regla.FormatoContenido;
                    entity.TipoValidacion   = regla.TipoValidacion;
                    entity.ReglaValidacion  = regla.ReglaValidacion;
                    entity.vigente          = regla.vigente;
                    entity.NombreCampo      = regla.NombreCampo;
                    entity.TituloColumna    = regla.TituloColumna;
                    entity.NUM_CONT_LIC     = regla.NUM_CONT_LIC;

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw(new Exception(ex.Message));
            }
        }
 public void grabarReglaArchivo(ReglaArchivo regla)
 {
     try
     {
         using (var db = new DISEntities())
         {
             db.ReglaArchivos.Add(regla);
             db.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         throw (new Exception(ex.Message));
     }
 }
        protected void btn_consultar_Click1(object sender, ImageClickEventArgs e)
        {
            var nombreTipoArchivo = ddl_tipo_archivo.SelectedItem.Value;
            //AQUI SE AGREGAN DATOS FIJOS A LA GRILLA DE CONSULTA
            var columnsAux = String.Empty;

            setLlenarEntiddes();
            var action      = nombreTipoArchivo == "NOMINA"? "/WebPage/ModuloDIS/Consultas/frmSegConsulta.aspx/listNominaConsulta" : "/WebPage/ModuloDIS/Consultas/frmSegConsulta.aspx/listHistoriaDetalle";
            var tipoLinea   = nombreTipoArchivo == "NOMINA"?"*":"D";
            var sorter      = nombreTipoArchivo == "NOMINA" ? "RUC_ORDE ASC" : "TIP_REGI ASC";
            var contratoSis = new nContratoSis().listContratoByID(new CONTRATO_SYS()
            {
                IDE_CONTRATO = Convert.ToInt32(ddl_contrato.SelectedItem.Value)
            });
            var regla = new ReglaArchivo()
            {
                Archivo = ddl_tipo_archivo.SelectedItem.Value, TipoLinea = tipoLinea, NUM_CONT_LIC = Convert.ToInt32(contratoSis.NRO_CONTRATO), vigente = 1
            };
            var fields = new nReglaArchivo().getColumnGridByArchivo(regla, "Consulta", columnsAux).ToString();
            var grid   = new gridCreator().getGrid("frmSeqConsulta", "5000", action, sorter).ToString();

            Page.ClientScript.RegisterStartupScript(GetType(), "Fields", string.Format("{0};{1}", fields, grid), true);
        }
 private void setGrabarActualizarReglaArchivo()
 {
     try
     {
         var regla = new ReglaArchivo()
         {
             IdReglaArchivo   = Convert.ToInt32(txt_idRegla.Text),
             Archivo          = ddl_Archivo.SelectedItem.Value,
             TipoLinea        = ddl_tipo_linea.SelectedItem.Value,
             CaracterInicial  = Convert.ToInt32(txt_caracter_inicial.Text),
             LargoCampo       = Convert.ToInt32(txt_largo_Campo.Text),
             TipoCampo        = txt_tipo_Campo.Text,
             InformacionCampo = txt_informacion.Text,
             FormatoContenido = txt_formato.Text,
             TipoValidacion   = ddl_tipo_validacion.SelectedItem.Value,
             ReglaValidacion  = txt_regla_validacion.Text,
             vigente          = Convert.ToInt16(ddl_vigente.SelectedItem.Value),
             NombreCampo      = txt_nombre_Campo.Text,
             TituloColumna    = txt_titulo.Text,
             NUM_CONT_LIC     = Convert.ToInt32(ddl_contrato.SelectedItem.Value),
         };
         if (regla.IdReglaArchivo == 0)
         {
             new nReglaArchivo().grabarReglaArchivo(regla);
             Page.ClientScript.RegisterStartupScript(GetType(), "alert", string.Format("mostrarMensajeAlert({0})", "Regla grabado correctamente"), true);
         }
         else
         {
             new nReglaArchivo().actualizarReglaArchivo(regla);
             Page.ClientScript.RegisterStartupScript(GetType(), "alert", string.Format("mostrarMensajeAlert({0})", "Regla actualizado correctamente"), true);
         }
     }
     catch (Exception ex)
     {
         Page.ClientScript.RegisterStartupScript(GetType(), "alert", string.Format("mostrarMensajeAlert({0})", ex.Message.Replace(Environment.NewLine, "")), true);
     }
 }
Exemple #7
0
 public void actualizarReglaArchivo(ReglaArchivo regla)
 {
     new dReglaArchivo().actualizarReglaArchivo(regla);
 }
Exemple #8
0
 public void grabarReglaArchivo(ReglaArchivo regla)
 {
     new dReglaArchivo().grabarReglaArchivo(regla);
 }
Exemple #9
0
 /// <summary>
 /// Retorna el listado de regla por nombre paginado
 /// </summary>
 /// <param name="regla"></param>
 /// <param name="jtStartIndex"></param>
 /// <param name="jtPageSize"></param>
 /// <param name="total"></param>
 /// <returns></returns>
 public List <ReglaArchivo> getListReglaArchivo(ReglaArchivo regla, int jtStartIndex, int jtPageSize, string jtSorting, out int total)
 {
     return(new dReglaArchivo().getListReglaArchivo(regla, jtStartIndex, jtPageSize, jtSorting, out total));
 }
        public static object listReglaArchivo(int jtStartIndex, int jtPageSize, string jtSorting, ReglaArchivo regla)
        {
            var listRegla = new nReglaArchivo().getListReglaArchivo(regla, jtStartIndex, jtPageSize, jtSorting, out total);

            return(new { Result = "OK", Records = listRegla, TotalRecordCount = total });
        }
        public static object listReglaArchivo(int jtStartIndex, int jtPageSize, string jtSorting, ReglaArchivo regla)
        {
            var contratoSis = new nContratoSis().listContratoByID(new CONTRATO_SYS()
            {
                IDE_CONTRATO = tipoArchivo.Equals("NOMINA")? nomina.IDE_CONTRATO:historiaCab.IDE_CONTRATO
            });

            regla.NUM_CONT_LIC = Convert.ToInt32(contratoSis.NRO_CONTRATO);
            var negocio = new nReglaArchivo();

            return(new { Result = "OK", Records = negocio.getListReglaArchivo(regla, jtStartIndex, jtPageSize, jtSorting, out total), TotalRecordCount = total });
        }
        public List <ReglaArchivo> getListReglaArchivo(ReglaArchivo regla, int jtStartIndex, int jtPageSize, string jtSorting, out int total)
        {
            var listReglaArchivo = new List <ReglaArchivo>();

            try
            {
                var sort = jtSorting.Split(' ');
                using (var db = new DISEntities())
                {
                    var query = db.ReglaArchivos.OrderBy(a => a.CaracterInicial)
                                .Where(a => (a.Archivo.Equals(regla.Archivo) || regla.Archivo.Equals("0")) &&
                                       (a.TipoLinea.Equals(regla.TipoLinea) || regla.TipoLinea.Equals("0")) && a.vigente == regla.vigente &&
                                       a.NUM_CONT_LIC == regla.NUM_CONT_LIC && (a.IdReglaArchivo == regla.IdReglaArchivo || regla.IdReglaArchivo == 0)).ToList();
                    switch (sort[0])
                    {
                    case "TipoLinea":
                        query = sort[1].Equals("ASC")? query.OrderBy(a => a.TipoLinea).ToList() : query.OrderByDescending(a => a.TipoLinea).ToList();
                        break;

                    case "Archivo":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.Archivo).ToList() : query.OrderByDescending(a => a.Archivo).ToList();
                        break;

                    case "CaracterInicial":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.CaracterInicial).ToList() : query.OrderByDescending(a => a.CaracterInicial).ToList();
                        break;

                    case "LargoCampo":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.LargoCampo).ToList() : query.OrderByDescending(a => a.LargoCampo).ToList();
                        break;

                    case "TipoCampo":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.TipoCampo).ToList() : query.OrderByDescending(a => a.TipoCampo).ToList();
                        break;

                    case "InformacionCampo":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.InformacionCampo).ToList() : query.OrderByDescending(a => a.InformacionCampo).ToList();
                        break;

                    case "TipoValidacion":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.TipoValidacion).ToList() : query.OrderByDescending(a => a.TipoValidacion).ToList();
                        break;

                    case "ReglaValidacion":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.ReglaValidacion).ToList() : query.OrderByDescending(a => a.ReglaValidacion).ToList();
                        break;

                    case "NombreCampo":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.NombreCampo).ToList() : query.OrderByDescending(a => a.NombreCampo).ToList();
                        break;

                    case "TituloColumna":
                        query = sort[1].Equals("ASC") ? query.OrderBy(a => a.TituloColumna).ToList() : query.OrderByDescending(a => a.TituloColumna).ToList();
                        break;

                    default:
                        query = query.OrderBy(a => a.IdReglaArchivo).ToList();
                        break;
                    }
                    total = query.Count();
                    foreach (var item in query.Skip(jtStartIndex).Take(jtPageSize))
                    {
                        var reglaArchivo = new ReglaArchivo()
                        {
                            IdReglaArchivo   = item.IdReglaArchivo,
                            Archivo          = item.Archivo,
                            NombreCampo      = item.NombreCampo,
                            InformacionCampo = item.InformacionCampo,
                            TipoLinea        = item.TipoLinea,
                            CaracterInicial  = item.CaracterInicial,
                            LargoCampo       = item.LargoCampo,
                            TipoCampo        = item.TipoCampo,
                            FormatoContenido = item.FormatoContenido,
                            TituloColumna    = item.TituloColumna,
                            ReglaValidacion  = item.ReglaValidacion,
                            TipoValidacion   = item.TipoValidacion,
                            vigente          = item.vigente
                        };
                        listReglaArchivo.Add(reglaArchivo);
                    }
                }
                return(listReglaArchivo);
            }
            catch (Exception ex)
            {
                throw(new Exception(ex.Message));
            }
        }
        /// <summary>
        /// Crea un archivo excel acuerdo a los filtros especificados
        /// </summary>
        /// <param name="cab"></param>
        /// <param name="det"></param>
        /// <param name="filterParam"></param>
        /// <returns></returns>
        public string getDescargarConsulta(HistorialCargaArchivo_LinCab cab, NOMINA nomina, HistorialCargaArchivo_LinDet det, object[] filterParam)
        {
            var helperStyle = new Helpers.excelStyle();

            try
            {
                var nombreArchivo = "Archivo " + filterParam[0].ToString() + " " + DateTime.Now.ToString("yyyyMMdd");
                var rutaTemporal  = @HttpContext.Current.Server.MapPath("~/Temp/Descargas/" + nombreArchivo + ".xlsx");
                int total;
                var tipoLinea = filterParam[0].ToString() == "NOMINA" ? "*" : "D";
                //new Utils.DeleteFile().deleteFile(HttpContext.Current.Server.MapPath(@"~/Utils/xlsxs/"));
                XSSFWorkbook book        = new XSSFWorkbook();
                var          contratoSis = new nContratoSis().listContratoByID(new CONTRATO_SYS()
                {
                    IDE_CONTRATO = cab.IDE_CONTRATO
                });
                var reglaArchivo = new ReglaArchivo()
                {
                    Archivo = filterParam[0].ToString(), TipoLinea = tipoLinea, NUM_CONT_LIC = Convert.ToInt32(contratoSis.NRO_CONTRATO), vigente = 1
                };
                var listReglaArchivo = new nReglaArchivo().getListReglaArchivo(reglaArchivo, 0, 1000, "IdReglaArchivo ASC", out total);
                if (reglaArchivo.Archivo.Equals("0"))
                {
                    listReglaArchivo = listReglaArchivo.GroupBy(x => new { x.NombreCampo, x.TituloColumna })
                                       .Select(y => new ReglaArchivo()
                    {
                        NombreCampo = y.Key.NombreCampo, TituloColumna = y.Key.TituloColumna
                    }).ToList();
                }
                //crear el libro
                var sheet       = book.CreateSheet(nombreArchivo);
                var rowCabecera = sheet.CreateRow(1);
                var headerStyle = helperStyle.setFontText(12, true, book);
                var bodyStyle   = helperStyle.setFontText(11, false, book);
                //construir cabecera
                ICell cellCabecera;
                for (int i = 0; i < listReglaArchivo.Count; i++)
                {
                    cellCabecera = rowCabecera.CreateCell(i + 1);
                    cellCabecera.SetCellValue(listReglaArchivo[i].TituloColumna);
                    cellCabecera.CellStyle = headerStyle;
                }
                //consultar datos segun los filtros especificados
                if (filterParam[0].ToString() == "NOMINA")
                {
                    var listNomina = new nNomina().listNominaConsulta(nomina, filterParam, 0, 100000, out total);
                    for (int i = 0; i < listNomina.Count; i++)
                    {
                        IRow  rowBody = sheet.CreateRow(i + 2);
                        ICell cellBody;
                        for (int c = 0; c < listReglaArchivo.Count; c++)
                        {
                            cellBody = rowBody.CreateCell(c + 1);
                            var property = listNomina[i].GetType().GetProperty(listReglaArchivo[c].NombreCampo.ToString().Trim(), BindingFlags.Public | BindingFlags.Instance);
                            cellBody.SetCellValue(property.GetValue(listNomina[i], null) == null ? "" : property.GetValue(listNomina[i], null).ToString());
                            cellBody.CellStyle = bodyStyle;
                        }
                    }
                }
                else
                {
                    var listHistoriaLinDet = new dPagoCargado().listArchivoCargado(cab, det, filterParam, 0, 100000, "TipoLinea ASC", out total);
                    for (int i = 0; i < listHistoriaLinDet.Count; i++)
                    {
                        IRow  rowBody = sheet.CreateRow(i + 2);
                        ICell cellBody;
                        for (int c = 0; c < listReglaArchivo.Count; c++)
                        {
                            cellBody = rowBody.CreateCell(c + 1);
                            var property = listHistoriaLinDet[i].GetType().GetProperty(listReglaArchivo[c].NombreCampo.ToString().Trim(), BindingFlags.Public | BindingFlags.Instance);
                            cellBody.SetCellValue(property.GetValue(listHistoriaLinDet[i], null) == null ? "" : property.GetValue(listHistoriaLinDet[i], null).ToString());
                            cellBody.CellStyle = bodyStyle;
                        }
                    }
                }
                if (File.Exists(rutaTemporal))
                {
                    File.Delete(rutaTemporal);
                }
                //guardar el archivo creado en memoria
                using (var file = new FileStream(rutaTemporal, FileMode.Create, FileAccess.ReadWrite))
                {
                    book.Write(file);
                    file.Close();
                    book.Close();
                }
                return(rutaTemporal);
            }
            catch (System.Exception ex)
            {
                throw;
            }
        }