예제 #1
0
        public ActionResult Index()
        {
            TableroControlCatalogos vm = new TableroControlCatalogos();
            //int? idRol = 1;             //Convert.ToInt32(Session["IdUsuarioRolReportes"]);
            //int? idRolController = 1;  //Convert.ToInt32(Session["IdUsuarioController"]);
            //int UsusarioLog = 1;      //Convert.ToInt32(Session["UserLoggedId"]);

            int?idRol           = Convert.ToInt32(Session["IdUsuarioRolReportes"]);
            int?idRolController = Convert.ToInt32(Session["IdUsuarioController"]);
            int UsusarioLog     = Convert.ToInt32(Session["UserLoggedId"]);

            //vmtc.FiltrosTableroControl.psUserName = "******";

            if (idRol == 2)
            {
                string OcultarControlDeMenu = "hidden";
                Session["OcultarControlDeMenuVar"] = OcultarControlDeMenu;
                @ViewBag.OcultaOpcionMenuDias      = OcultarControlDeMenu;
            }
            if (idRolController == 3)
            {
                return(RedirectToAction("BandejaIndex", "BandejaDepeticiones"));
            }
            var viewModel = vm.cargaCatalogosTableroControl(UsusarioLog, idRol);

            vmtc = viewModel;
            if (viewModel.Delegacion.Count == 0 & viewModel.Status.Count == 0 & viewModel.TiposOpinion.Count == 0)
            {
                ViewBag.ErrorMessage = "Error al cargar las delegaciones, estatus y opiniones.";
            }


            return(View(viewModel));
        }
        public ViewModelTableroControl cargaCatalogosTableroControl(int pi, int?idRol)
        {
            ViewModelTableroControl      vmtc = new ViewModelTableroControl();
            ErrorProcedimientoAlmacenado errorProcedimientoAlmacenado = new ErrorProcedimientoAlmacenado();

            vmtc.Delegacion            = new List <SelectListItem>();
            vmtc.TiposOpinion          = new List <SelectListItem>();
            vmtc.Status                = new List <SelectListItem>();
            vmtc.FiltrosTableroControl = new FiltroTableroControl();
            try
            {
                var listaDelegaciones = rdnListaCatalogos.solicitarDelegaciones(pi, errorProcedimientoAlmacenado);
                var listaTipoOpinion  = rdnListaCatalogos.solicitarTipoOpinion(errorProcedimientoAlmacenado);
                var listaStatus       = rdnListaCatalogos.solicitarStatus(errorProcedimientoAlmacenado);
                if (idRol == 1)
                {
                    vmtc.Delegacion.Add(new SelectListItem {
                        Value = "", Text = "-Selecciona-", Selected = true
                    });
                }
                foreach (var item in listaDelegaciones)
                {
                    vmtc.Delegacion.Add(new SelectListItem {
                        Value = item.IdUnidadAdministrativa.ToString(), Text = item.Nombre
                    });
                }
                vmtc.TiposOpinion.Add(new SelectListItem {
                    Value = "", Text = "-Selecciona-", Selected = true
                });
                foreach (var item in listaTipoOpinion)
                {
                    vmtc.TiposOpinion.Add(new SelectListItem {
                        Value = item.Id.ToString(), Text = item.Nombre
                    });
                }
                vmtc.Status.Add(new SelectListItem {
                    Value = "", Text = "-Selecciona-", Selected = true
                });
                foreach (var item in listaStatus)
                {
                    vmtc.Status.Add(new SelectListItem {
                        Value = item.Id.ToString(), Text = item.Nombre
                    });
                }
                return(vmtc);
            }
            catch
            {
                return(vmtc);
            }
        }
예제 #3
0
        public ActionResult Index(ViewModelTableroControl vmtc)
        {
            //variables generales tablero
            #region
            PeticionesTablero.PeticionesTableroControl =
                ObtenerPeticionesTableroDeControl(vmtc.FiltrosTableroControl).PeticionesTableroControl;
            PeticionesTablero.EncabezadosTableroEstadisticas = ObtenerEncabezadosEstadisticas().EncabezadosTableroEstadisticas;
            #endregion

            //http://files.cnblogs.com/fan0136/Microsoft.Office.Interop.Excel.rar
            //Pagina de descarga para descarga de excel
            #region
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook    xlWorkBook;
            Microsoft.Office.Interop.Excel.Worksheet   xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;
            xlWorkBook  = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            #endregion

            //Encabezados Excel Detalle
            #region
            //xlWorkSheet.Cells.Style.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft;

            //seccion de encabezado imagen
            //xlWorkSheet.Shapes.AddPicture
            //(@"J:\ProyectoTableroDEcontrol\issste-logo.JPG",
            //Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue,
            //DatosGenerales.ImagenIzquierda, DatosGenerales.ImagenArriba, DatosGenerales.ImagenAncho, DatosGenerales.ImagenAlto);
            xlWorkSheet.Shapes.AddPicture
                (@"C:\ReportesExcelTablero\issste-logo.JPG",
                Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue,
                DatosGenerales.ImagenIzquierda, DatosGenerales.ImagenArriba, DatosGenerales.ImagenAncho, DatosGenerales.ImagenAlto);

            xlWorkSheet.Cells[DatosGenerales.FilaDos, DatosGenerales.ColumnaCinco] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == DatosGenerales.FilaDiezsiceis).FirstOrDefault().Encabezado;
            xlWorkSheet.Cells[DatosGenerales.FilaTres, DatosGenerales.ColumnaCinco] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == DatosGenerales.FilaCatorce).FirstOrDefault().Encabezado;
            xlWorkSheet.Cells[DatosGenerales.FilaCuatro, DatosGenerales.ColumnaCinco] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == DatosGenerales.FilaQuince).FirstOrDefault().Encabezado;

            //Seccion de punto de control

            int    FilaInicioencabezadoPuntoControl       = DatosGenerales.FilaOcho;
            string FilaInicioencabezadoPuntoControlString = FilaInicioencabezadoPuntoControl.ToString();
            string LetraColumnaInicioPuntoControl         = "B";
            string LetraColumnaFinPuntoControl            = "F";

            xlWorkSheet.Cells[FilaInicioencabezadoPuntoControl, 1].ColumnWidth = 5; // primera columna vacia

            //Punto de control
            xlWorkSheet.Range[xlWorkSheet.Cells[8, 2], xlWorkSheet.Cells[8, 3]].Merge();
            xlWorkSheet.Range[xlWorkSheet.Cells[9, 2], xlWorkSheet.Cells[9, 3]].Merge();
            xlWorkSheet.Range[xlWorkSheet.Cells[10, 2], xlWorkSheet.Cells[10, 3]].Merge();
            xlWorkSheet.Range[xlWorkSheet.Cells[11, 2], xlWorkSheet.Cells[11, 3]].Merge();
            xlWorkSheet.Range[xlWorkSheet.Cells[12, 2], xlWorkSheet.Cells[12, 3]].Merge();
            xlWorkSheet.Range[xlWorkSheet.Cells[13, 2], xlWorkSheet.Cells[13, 3]].Merge();

            xlWorkSheet.Range[LetraColumnaInicioPuntoControl + FilaInicioencabezadoPuntoControlString,
                              LetraColumnaFinPuntoControl + FilaInicioencabezadoPuntoControlString].Font.Bold = true;
            xlWorkSheet.Range[LetraColumnaInicioPuntoControl + FilaInicioencabezadoPuntoControlString,
                              LetraColumnaFinPuntoControl + FilaInicioencabezadoPuntoControlString].Borders.LineStyle = 1d;
            xlWorkSheet.Range[LetraColumnaInicioPuntoControl + FilaInicioencabezadoPuntoControlString,
                              LetraColumnaFinPuntoControl + FilaInicioencabezadoPuntoControlString].Interior.Color =
                System.Drawing.ColorTranslator.FromHtml("#75C9F7");

            //Asignacion de encabezados estadisticas
            xlWorkSheet.Cells[FilaInicioencabezadoPuntoControl, 2] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 1).FirstOrDefault().Encabezado;
            xlWorkSheet.Cells[FilaInicioencabezadoPuntoControl, 4] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 2).FirstOrDefault().Encabezado;
            xlWorkSheet.Cells[FilaInicioencabezadoPuntoControl, 5] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 3).FirstOrDefault().Encabezado;
            xlWorkSheet.Cells[FilaInicioencabezadoPuntoControl, 6] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 4).FirstOrDefault().Encabezado;

            //asignacion de registros Punto de control
            xlWorkSheet.Cells[9, DatosGenerales.ColumnaDos] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 1).FirstOrDefault().Nombre;
            xlWorkSheet.Cells[10, DatosGenerales.ColumnaDos] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 2).FirstOrDefault().Nombre;
            xlWorkSheet.Cells[11, DatosGenerales.ColumnaDos] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 3).FirstOrDefault().Nombre;
            xlWorkSheet.Cells[12, DatosGenerales.ColumnaDos] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 4).FirstOrDefault().Nombre;
            xlWorkSheet.Cells[13, DatosGenerales.ColumnaDos] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 5).FirstOrDefault().Nombre;
            //asignacion de registros  Dias
            xlWorkSheet.Cells[9, DatosGenerales.ColumnaCuatro] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 1).FirstOrDefault().DiasAsignadosPeticion.ToString();
            xlWorkSheet.Cells[10, DatosGenerales.ColumnaCuatro] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 2).FirstOrDefault().DiasAsignadosPeticion.ToString();
            xlWorkSheet.Cells[11, DatosGenerales.ColumnaCuatro] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 3).FirstOrDefault().DiasAsignadosPeticion.ToString();
            xlWorkSheet.Cells[12, DatosGenerales.ColumnaCuatro] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 4).FirstOrDefault().DiasAsignadosPeticion.ToString();
            xlWorkSheet.Cells[13, DatosGenerales.ColumnaCuatro] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 5).FirstOrDefault().DiasAsignadosPeticion.ToString();

            //asignacion de registros  Dias Promedio
            decimal DiasAsignacion =
                PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_AsignacionOperador != null).Sum(p => p.DiasTotalesAsignacion).Value;
            decimal NumeroDePeticionesAsignadas = PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_AsignacionOperador != null).Count();
            decimal DiasPromedioAsignacion      = (NumeroDePeticionesAsignadas == 0 ? 0 : (DiasAsignacion / NumeroDePeticionesAsignadas));

            decimal DiasConclusion =
                PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_ConclusionPeticion2 != null).Sum(p => p.DiasTotalesConclusion2).Value;
            decimal NumeroDePeticionesConcluidas = PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_ConclusionPeticion2 != null).Count();
            decimal DiasPromedioConclusion       = (NumeroDePeticionesConcluidas == 0 ? 0 : (DiasConclusion / NumeroDePeticionesConcluidas));

            decimal DiasCierre =
                PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_CierrePeticion != null).Sum(p => p.DiasTotalesCierre).Value;
            decimal NumeroDePeticionesCerradas = PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_CierrePeticion != null).Count();
            decimal DiasPromedioCerradas       = (NumeroDePeticionesCerradas == 0 ? 0 : (DiasCierre / NumeroDePeticionesCerradas));

            decimal TotalDiasPromedio = 1 + ((DiasPromedioAsignacion + DiasPromedioConclusion + DiasPromedioCerradas) / 3);

            xlWorkSheet.Cells[9, 5] =
                DiasConfiguracionTablero.Where(x => x.IdDiaAsignado == 1).FirstOrDefault().DiasAsignadosPeticion.ToString();
            xlWorkSheet.Cells[10, 5] = decimal.Round(DiasPromedioAsignacion);
            xlWorkSheet.Cells[11, 5] = decimal.Round(DiasPromedioConclusion);
            xlWorkSheet.Cells[12, 5] = decimal.Round(DiasPromedioCerradas);
            xlWorkSheet.Cells[13, 5] = decimal.Round(TotalDiasPromedio);
            //asignacion de registros  Cumplimiento

            decimal CumplimientoAsignacion =
                PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_AsignacionOperador != null && p.DiasTotalesAsignacion < 10).Count();
            decimal NoPeticionesCaduacdasEnAsignacion =
                PeticionesTablero.PeticionesTableroControl.Count();
            //PeticionesTablero.PeticionesTableroControl.Where(p => p.DiasTotalesTranscurridos > 10).Count();
            decimal PorcentajeCumplimientoAsignacion =
                (NoPeticionesCaduacdasEnAsignacion == 0 ? 0 : ((CumplimientoAsignacion / NoPeticionesCaduacdasEnAsignacion) * 100));

            decimal CumplimientoConclusion =
                PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_ConclusionPeticion2 != null && p.DiasTotalesConclusion2 < 21).Count();
            decimal NoPeticionesPorArribaEnConclusion =
                PeticionesTablero.PeticionesTableroControl.Count();
            //PeticionesTablero.PeticionesTableroControl.Where(p => p.DiasTotalesTranscurridos > 30).Count();
            decimal PorcentajeCumplimientoConclusion =
                (NoPeticionesPorArribaEnConclusion == 0 ? 0 : ((CumplimientoConclusion / NoPeticionesPorArribaEnConclusion) * 100));

            decimal CumplimientoCierre =
                PeticionesTablero.PeticionesTableroControl.Where(p => p.Fecha_CierrePeticion != null && p.DiasTotalesCierre < 11).Count();
            decimal NoPeticionesPorArribaEnCierre =
                PeticionesTablero.PeticionesTableroControl.Count();
            //PeticionesTablero.PeticionesTableroControl.Where(p => p.DiasTotalesTranscurridos > 40).Count();
            decimal PorcentajeCumplimientoCierre =
                (NoPeticionesPorArribaEnCierre == 0 ? 0 : ((CumplimientoCierre / NoPeticionesPorArribaEnCierre) * 100));

            xlWorkSheet.Cells[9, 6]  = (100).ToString();
            xlWorkSheet.Cells[10, 6] = decimal.Round(PorcentajeCumplimientoAsignacion);
            xlWorkSheet.Cells[11, 6] = decimal.Round(PorcentajeCumplimientoConclusion);
            xlWorkSheet.Cells[12, 6] = decimal.Round(PorcentajeCumplimientoCierre);

            //asignacion de registros  Estadisticas Globales
            #region
            int    FilaInicioencabezadoGlobal       = DatosGenerales.ColumnaNueve;
            string FilaInicioencabezadoGlogalString = FilaInicioencabezadoGlobal.ToString();
            int    FilaFinencabezadoGlobal          = 16;
            string FilaFinEncabezadoGlogalString    = FilaFinencabezadoGlobal.ToString();


            string LetraColumnaInicioGlobal = "H";
            string LetraColumnaFinGlobal    = "H";

            xlWorkSheet.Range[LetraColumnaInicioGlobal + FilaInicioencabezadoGlogalString,
                              LetraColumnaFinGlobal + FilaFinEncabezadoGlogalString].Font.Bold = true;
            //xlWorkSheet.Range[LetraColumnaInicioGlobal + FilaInicioencabezadoGlogalString,
            //                  LetraColumnaFinGlobal + FilaFinEncabezadoGlogalString].Borders.LineStyle = 1d;
            //xlWorkSheet.Range[LetraColumnaInicioGlobal + FilaInicioencabezadoGlogalString,
            //                  LetraColumnaFinGlobal + FilaFinEncabezadoGlogalString].Interior.Color =
            //System.Drawing.ColorTranslator.FromHtml("#75C9F7");

            //"Asignadas";
            xlWorkSheet.Cells[9, DatosGenerales.ColumnaOcho] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 6).FirstOrDefault().Encabezado;
            //"Concluida";
            xlWorkSheet.Cells[10, DatosGenerales.ColumnaOcho] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 7).FirstOrDefault().Encabezado;
            //"Cerradas";
            xlWorkSheet.Cells[11, DatosGenerales.ColumnaOcho] =
                //"Sin seguimiento";
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 8).FirstOrDefault().Encabezado;
            //Vencidas
            xlWorkSheet.Cells[12, DatosGenerales.ColumnaOcho] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 9).FirstOrDefault().Encabezado;
            //Sin Seguimiento
            xlWorkSheet.Cells[12, DatosGenerales.ColumnaOcho] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 13).FirstOrDefault().Encabezado;
            //"Total";
            xlWorkSheet.Cells[13, DatosGenerales.ColumnaOcho] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 10).FirstOrDefault().Encabezado;

            //"Días Pormedio";
            xlWorkSheet.Cells[15, DatosGenerales.ColumnaOcho] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 11).FirstOrDefault().Encabezado;
            //"Nivel de servicio";
            xlWorkSheet.Cells[16, DatosGenerales.ColumnaOcho] =
                PeticionesTablero.EncabezadosTableroEstadisticas.Where(x => x.IdTitulo == 12).FirstOrDefault().Encabezado;

            xlWorkSheet.Cells[9, DatosGenerales.ColumnaNueve]  = "s/n";
            xlWorkSheet.Cells[10, DatosGenerales.ColumnaNueve] = "s/n";
            xlWorkSheet.Cells[11, DatosGenerales.ColumnaNueve] = "s/n";
            xlWorkSheet.Cells[12, DatosGenerales.ColumnaNueve] = "s/n";
            xlWorkSheet.Cells[13, DatosGenerales.ColumnaNueve] = "s/n";
            xlWorkSheet.Cells[15, DatosGenerales.ColumnaNueve] = "s/n";
            xlWorkSheet.Cells[16, DatosGenerales.ColumnaNueve] = "s/n";

            #endregion

            //Seccion de encabezados detalle peticiones
            int    FilaInicioencabezado       = 19;
            string FilaInicioencabezadoString = FilaInicioencabezado.ToString();
            string LetraColumnaInicio         = "B";
            string LetraColumnaFin            = "L";

            ObtenerTableroTitulosDetalle().ToList().ForEach(p =>
            {
                xlWorkSheet.Cells.Style.HorizontalAlignment             = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft;
                xlWorkSheet.Cells[FilaInicioencabezado, 1].ColumnWidth  = 5; // primera columna vacia
                xlWorkSheet.Cells[FilaInicioencabezado, p.IdTitulo + 1] = p.Encabezado;
                xlWorkSheet.Cells[FilaInicioencabezado, 3].ColumnWidth  = 25;
                xlWorkSheet.Cells[FilaInicioencabezado, 4].ColumnWidth  = 25;
                xlWorkSheet.Cells[FilaInicioencabezado, 5].ColumnWidth  = 25;
                xlWorkSheet.Cells[FilaInicioencabezado, 6].ColumnWidth  = 30;
                xlWorkSheet.Cells[FilaInicioencabezado, 7].ColumnWidth  = 20;
                xlWorkSheet.Cells[FilaInicioencabezado, 8].ColumnWidth  = 20;
                xlWorkSheet.Cells[FilaInicioencabezado, 9].ColumnWidth  = 20;
                xlWorkSheet.Cells[FilaInicioencabezado, 10].ColumnWidth = 20;

                //xlWorkSheet.Cells[13, 2].Font.Bold = true;
                xlWorkSheet.Range[LetraColumnaInicio + FilaInicioencabezadoString, LetraColumnaFin + FilaInicioencabezadoString].Font.Bold         = true;
                xlWorkSheet.Range[LetraColumnaInicio + FilaInicioencabezadoString, LetraColumnaFin + FilaInicioencabezadoString].Borders.LineStyle = 1d;
                xlWorkSheet.Range[LetraColumnaInicio + FilaInicioencabezadoString, LetraColumnaFin + FilaInicioencabezadoString].Interior.Color    =
                    System.Drawing.ColorTranslator.FromHtml("#75C9F7");
            }
                                                            );
            #endregion

            //Excel Detalle Peticiones Tablero De control
            #region
            int NumeroDEPeticionesEncontradas = 0;
            int ValorDeLaFila = 20;

            PeticionesTablero.PeticionesTableroControl.ToList().ForEach(p =>
            {
                xlWorkSheet.Cells[ValorDeLaFila, 2] = (NumeroDEPeticionesEncontradas).ToString();
                xlWorkSheet.Cells[ValorDeLaFila, 3] = p.Folio;
                xlWorkSheet.Cells[ValorDeLaFila, 4] = p.CurpPeticionario;
                xlWorkSheet.Cells[ValorDeLaFila, 5] = p.NombrePeticionario;
                xlWorkSheet.Cells[ValorDeLaFila, 6] = p.Delegacion;
                xlWorkSheet.Cells[ValorDeLaFila, 7] = p.FechaRegistro;
                xlWorkSheet.Cells[ValorDeLaFila, 8] = p.Fecha_AsignacionOperador;
                //(p.Fecha_AsignacionOperador != null ? p.Fecha_AsignacionOperador.Value.ToString("dd/MM/yyyy") : "");
                xlWorkSheet.Cells[ValorDeLaFila, 9] = p.Fecha_ConclusionPeticion2;
                //(p.Fecha_ConclusionPeticion2 != null ? p.Fecha_ConclusionPeticion2.Value.ToString("dd/MM/yyyy") : "");
                xlWorkSheet.Cells[ValorDeLaFila, 10] = p.Fecha_CierrePeticion;
                //(p.Fecha_CierrePeticion != null ? p.Fecha_CierrePeticion.Value.ToString("dd/MM/yyyy") : "");
                //xlWorkSheet.Cells[ValorDeLaFila, 11] = p.DiasTotales.ToString();
                xlWorkSheet.Cells[ValorDeLaFila, 11] = p.DiasTotalesTranscurridos.ToString();
                xlWorkSheet.Cells[ValorDeLaFila, 12] = p.EstatusPeticion;
                //System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
                NumeroDEPeticionesEncontradas = NumeroDEPeticionesEncontradas + 1;
                ValorDeLaFila = ValorDeLaFila + 1;
            }
                                                                        );

            int NumeroDEPeticionesEncontradasc = 0;
            int ValorDeLaFilac = 20;
            PeticionesTablero.PeticionesTableroControl.ToList().ForEach(p =>
            {
                if (p.Fecha_AsignacionOperador != null)
                {
                    xlWorkSheet.Cells[ValorDeLaFilac, 8].Interior.ColorIndex = p.ColorAsignacion1;
                    //= System.Drawing.ColorTranslator.FromHtml(p.ColorAsignacion1);
                }
                if (p.Fecha_ConclusionPeticion2 != null)
                {
                    xlWorkSheet.Cells[ValorDeLaFilac, 9].Interior.ColorIndex = p.ColorConclusion1;
                    //System.Drawing.ColorTranslator.FromHtml(p.ColorConclusion1);
                }
                if (p.Fecha_CierrePeticion != null)
                {
                    xlWorkSheet.Cells[ValorDeLaFilac, 10].Interior.ColorIndex = p.ColorCierre1;
                    //System.Drawing.ColorTranslator.FromHtml(p.ColorCierre1);
                }

                NumeroDEPeticionesEncontradasc = NumeroDEPeticionesEncontradasc + 1;
                ValorDeLaFilac = ValorDeLaFilac + 1;
            }
                                                                        );

            #endregion

            //Gurdado de archivo
            #region

            //string handle = Guid.NewGuid().ToString();

            //using (MemoryStream memoryStream = new MemoryStream())
            //{
            //    xlWorkBook.SaveAs(memoryStream);
            //    memoryStream.Position = 0;
            //    TempData[handle] = memoryStream.ToArray();
            //}

            //// Note we are returning a filename as well as the handle
            //return new JsonResult()
            //{
            //    Data = new { FileGuid = handle, FileName = "TestReportOutput.xlsx" }
            //};
            //#endregion

            string RutaAlmacenamiento = string.Empty;
            RutaAlmacenamiento = @"C:\ReportesExcelTablero\ReporteExcel1.xlsx";

            ////MemoryStream ms = new MemoryStream();
            ////xlWorkBook.Save(ms);
            ////byte[] bytes = ms.ToArray();
            #endregion

            return(File(RutaAlmacenamiento, "attachment", "WidgetData.xlsx"));
        }
예제 #4
0
        public ActionResult TableroDeControl(ViewModelTableroControl vmtc)
        {
            TableroDeControlServicio     tc        = new TableroDeControlServicio();
            TableroControlCatalogos      newvm     = new TableroControlCatalogos();
            ViewModelTableroControl      viewModel = new ViewModelTableroControl();
            ErrorProcedimientoAlmacenado pError    = new ErrorProcedimientoAlmacenado();
            ErrorProcedimientoAlmacenado pErrorF   = new ErrorProcedimientoAlmacenado();
            int?idRol = Convert.ToInt32(Session["IdUsuarioRolReportes"]);

            vmtc.FiltrosTableroControl.IdUsuario  = Convert.ToInt32(Session["UserLoggedId"]);
            vmtc.FiltrosTableroControl.psUserName = (Session["UserName"]).ToString();
            if (vmtc.FiltrosTableroControl.FechaInicio == null)
            {
                ViewBag.ErrorMessage = "Selecciona una fecha inicio.";
                return(View(newvm.cargaCatalogosTableroControl(Convert.ToInt32(Session["UserLoggedId"]), idRol)));
            }
            try
            {
                var fa = feachaActual.obtenerFechaServidor(pErrorF).First();
                vmtc.FiltrosTableroControl.FechaFin = fa;
            }
            catch
            {
                throw;
            }
            try
            {
                var fechaFin = feachaActual.obtenerFechaServidor(pError).First();
                if (vmtc.FiltrosTableroControl.FechaInicio > fechaFin)
                {
                    ViewBag.ErrorMessageFecha = "La fecha inicio, no puede ser mayor a la fecha actual";
                    return(View(newvm.cargaCatalogosTableroControl(Convert.ToInt32(Session["UserLoggedId"]), idRol)));
                }
            }
            catch (Exception e)
            {
                ViewBag.ErrorMessage = "No se puede consultar la fecha del servidor.";
                return(View(newvm.cargaCatalogosTableroControl(Convert.ToInt32(Session["UserLoggedId"]), idRol)));
            }
            try
            {
                if (vmtc.FiltrosTableroControl.FechaInicio != null)
                {
                    try
                    {
                        return(tc.GenerarTablero(vmtc.FiltrosTableroControl));
                    }
                    catch
                    {
                        ViewBag.InfoMessage = "Sin información en el rango de fechas.";
                        return(View(newvm.cargaCatalogosTableroControl(Convert.ToInt32(Session["UserLoggedId"]), idRol)));
                    }
                }
            }
            catch (Exception e)
            {
                ViewBag.ErrorMessage = "Error al generar el Tablero de Control.";
                return(View(newvm.cargaCatalogosTableroControl(Convert.ToInt32(Session["UserLoggedId"]), idRol)));
            }
            return(RedirectToAction("TableroDeControl"));
        }