コード例 #1
0
        public async Task <PartialViewResult> _IndexGrid(String search)
        {
            //Permisos
            Permisos(ControllerContext.RouteData.Values["controller"].ToString());

            ViewBag.NombreListado = Etiquetas.TituloGridNotificaciones;
            //Búsqueda
            var listado = NotificacionesDAL.ListarNotificaciones();

            search = !string.IsNullOrEmpty(search) ? search.Trim() : "";

            if (!string.IsNullOrEmpty(search))//filter
            {
                var type       = listado.GetType().GetGenericArguments()[0];
                var properties = type.GetProperties();

                listado = listado.Where(x => properties
                                        .Any(p =>
                {
                    var value = p.GetValue(x);
                    return(value != null && value.ToString().ToLower().Contains(search.ToLower()));
                })).ToList();
            }
            // Only grid query values will be available here.
            return(PartialView(await Task.Run(() => listado)));
        }
コード例 #2
0
        private IGrid <NotificacionesInfo> CreateExportableGrid()
        {
            IGrid <NotificacionesInfo> grid = new Grid <NotificacionesInfo>(NotificacionesDAL.ListarNotificaciones());

            grid.ViewContext = new ViewContext {
                HttpContext = HttpContext
            };
            grid.Query = Request.QueryString;

            grid.Columns.Add(model => model.NombreTarea).Titled("Nombre");
            grid.Columns.Add(model => model.DescripcionTarea).Titled("Descripción");
            grid.Columns.Add(model => model.NombreEmisor).Titled("Emisor");
            grid.Columns.Add(model => model.CorreoEmisor).Titled("Correo Emisor");
            grid.Columns.Add(model => model.CorreosDestinarios).Titled("Correos Destinatarios");
            grid.Columns.Add(model => model.AsuntoCorreo).Titled("Asunto Correo");
            grid.Columns.Add(model => model.NombreArchivoPlantillaCorreo).Titled("Nombre Archivo Plantilla Correo");
            grid.Columns.Add(model => model.CorreosDestinarios).Titled("Correos Destinatarios");
            grid.Columns.Add(model => model.CuerpoCorreo).Titled("Cuerpo Correo");
            grid.Columns.Add(model => model.AdjuntosCorreo).Titled("Adjuntos Correo");
            grid.Columns.Add(model => model.CorreosDestinarios).Titled("Correos Destinatarios");
            grid.Columns.Add(model => model.FechaEnvioCorreo).Titled("Fecha de Envío Correo");
            grid.Columns.Add(model => model.EstadoNotificacion).Titled("Estado Activación");
            grid.Columns.Add(model => model.EstadoEjecucionNotificacion).Titled("Estado En Cola");
            grid.Columns.Add(model => model.EstadoEnviadoNotificacion).Titled("Estado Envío");
            grid.Columns.Add(model => model.DetalleEstadoEjecucionNotificacion).Titled("Detalle");


            foreach (IGridColumn column in grid.Columns)
            {
                column.Filter.IsEnabled = true;
                column.Sort.IsEnabled   = true;
            }

            return(grid);
        }
コード例 #3
0
        public ActionResult DescargarReporteFormatoCSV()
        {
            var comlumHeadrs = new string[]
            {
                "NOMBRE",
                "DESCRIPCION",
                "EMISOR",
                "CORREO EMISOR",
                "CORREOS DESTINATARIOS",
                "ASUNTO CORREO",
                "HTML PLANTILLA",
                "ADJUNTOS CORREO",
                "FECHA DE ENVÍO",
                "ESTADO ACTIVACIÓN",
                "ESTADO EN COLA",
                "ESTADO ENVÍO",
                "DETALLE"
            };

            var listado = (from item in NotificacionesDAL.ListarNotificaciones()
                           select new object[]
            {
                item.NombreTarea,
                item.DescripcionTarea,
                item.NombreEmisor,
                item.CorreoEmisor,
                item.CorreosDestinarios,
                item.AsuntoCorreo,
                item.NombreArchivoPlantillaCorreo,
                item.AdjuntosCorreo,
                item.FechaEnvioCorreo,
                item.EstadoActivacionNotificacion,
                item.EstadoEnColaNotificacion,
                item.EstadoEnvioNotificacion,
                item.DetalleEstadoEjecucionNotificacion
            }).ToList();

            // Build the file content
            var employeecsv = new StringBuilder();

            listado.ForEach(line =>
            {
                employeecsv.AppendLine(string.Join(",", line));
            });

            byte[] buffer = Encoding.Default.GetBytes($"{string.Join(",", comlumHeadrs)}\r\n{employeecsv.ToString()}");
            return(File(buffer, "text/csv", $"Notificaciones.csv"));
        }
コード例 #4
0
        public ActionResult DescargarReporteFormatoPDF()
        {
            // Seleccionar las columnas a exportar
            var results = NotificacionesDAL.ListarNotificaciones().Select(s => new NotificacionesCompletaPDF
            {
                NombreTarea                        = s.NombreTarea,
                DescripcionTarea                   = s.DescripcionTarea,
                NombreEmisor                       = s.NombreEmisor,
                CorreoEmisor                       = s.CorreoEmisor,
                CorreosDestinarios                 = s.CorreosDestinarios,
                AsuntoCorreo                       = s.AsuntoCorreo,
                HtmlPlantilla                      = s.NombreArchivoPlantillaCorreo,
                AdjuntosCorreo                     = s.AdjuntosCorreo,
                FechaEnvioCorreo                   = s.FechaEnvioCorreo,
                EstadoActivacionNotificacion       = s.EstadoActivacionNotificacion,
                EstadoEnColaNotificacion           = s.EstadoEnColaNotificacion,
                EstadoEnvioNotificacion            = s.EstadoEnvioNotificacion,
                DetalleEstadoEjecucionNotificacion = s.DetalleEstadoEjecucionNotificacion
            }).Take(10).ToList();

            var list = Reportes.SerializeToJSON(results);

            return(Content(list, "application/json"));
        }