/// <summary>
        /// Permite descagar el Plan Estratégico
        /// </summary>
        /// <param name="filtro">Filtro de búsqueda</param>
        /// <returns>Archivo de Reporte de Informe en formato Excel</returns>
        public FileResult DescargarPlanOperativo(BandejaPlanOperativoRequest filtro)
        {
            Warning[] warnings;
            string[]  streamids;
            string    mimeType;
            string    encoding;
            string    filenameExtension;
            string    extension = "pdf";
            string    fileType  = "application/pdf";

            ReportViewer report = new ReportViewer();

            var dt = planOperativoService.BuscarPlanOperativoRpt();

            report.ProcessingMode         = ProcessingMode.Local;
            report.LocalReport.ReportPath = Server.MapPath("~/") + "Reports/PlanOperativo/rptPlanOperativo.rdlc";

            report.LocalReport.DataSources.Add(new ReportDataSource("dsPlanOperativo", dt.Result));
            report.LocalReport.Refresh();

            string fileNameExtension = "PlanOperativo" + DateTime.Now.Year + "." + extension;

            byte[] bytes = report.LocalReport.Render(extension.ToUpper(), null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);

            return(File(bytes, fileType, fileNameExtension));
        }
        public JsonResult BuscarPlanOperativo(BandejaPlanOperativoRequest filtro)
        {
            filtro.CodigoIdioma = obtenerCodigoIdioma();

            var response = planOperativoService.BuscarPlanOperativo(filtro);

            return(Json(response));
        }
        public ProcessResult <List <BandejaPlanOperativoResponse> > BuscarPlanOperativo(BandejaPlanOperativoRequest filtro)
        {
            ProcessResult <List <BandejaPlanOperativoResponse> > resultado = new ProcessResult <List <BandejaPlanOperativoResponse> >();

            try
            {
                List <PlanOperativoLogic> listaPlanOperativo = PlanOperativoLogicRepository.BuscarPlanOperativo(
                    filtro.DescripcionObjetivoEstrategicoFonafe,
                    Guid.Parse(DatosConstantes.Empresa.CodigoElectroPeru),
                    Guid.Parse(DatosConstantes.Sistema.CodigoSGI),
                    filtro.CodigoIdioma,
                    filtro.EstadoRegistro,
                    filtro.NumeroPagina,
                    filtro.RegistrosPagina);

                resultado.Result = new List <BandejaPlanOperativoResponse>();

                Mapper.Map <List <PlanOperativoLogic>, List <BandejaPlanOperativoResponse> >(listaPlanOperativo, resultado.Result);
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <PlanOperativoService>(ex);
            }

            return(resultado);
        }
        public ActionResult Index(BandejaPlanOperativoRequest filtro)
        {
            IngresoPlanOperativoModel           modelo = new IngresoPlanOperativoModel();
            List <BandejaPlanOperativoResponse> lst    = new List <BandejaPlanOperativoResponse>();

            filtro.CodigoIdioma = obtenerCodigoIdioma();

            var response = planOperativoService.BuscarPlanOperativo(filtro);

            for (int i = 0; i < response.Result.Count; i++)
            {
                lst.Add(response.Result[i]);
            }

            var requestIndicador = Request.QueryString["indicador"];

            if (requestIndicador != null ||
                (Session["PortalElectro"] != null && Session["PortalElectro"].ToString() == "true"))
            {
                Session["PortalElectro"] = "true";
                if (Session["CodigoIdioma"] == null)
                {
                    Session["CodigoIdioma"] = DatosConstantes.ParametrosGenerales.CodigoIdiomaEspaniol;
                    filtro.CodigoIdioma     = Session["CodigoIdioma"].ToString();

                    CultureInfo cultureInfo = null;
                    cultureInfo = new CultureInfo(filtro.CodigoIdioma);
                    if (cultureInfo == null)
                    {
                        cultureInfo = new CultureInfo(filtro.CodigoIdioma);
                    }

                    Thread.CurrentThread.CurrentUICulture = cultureInfo;
                    Thread.CurrentThread.CurrentCulture   = CultureInfo.CreateSpecificCulture(cultureInfo.Name);

                    var listaIdioma = parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
                    {
                        CodigoIdentificador = DatosConstantes.ParametrosGenerales.Idioma,
                        CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                        CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                        IndicadorEmpresa    = true,
                        CodigoIdioma        = filtro.CodigoIdioma
                    }).Result.Select(x => new SelectListItem()
                    {
                        Value    = x.CodigoValorString,
                        Text     = x.Valor,
                        Selected = (x.CodigoValorString == filtro.CodigoIdioma)
                    }).ToList();
                    Session["ListaIdioma"] = listaIdioma;
                }
            }
            else
            {
                if (Session["CodigoIdioma"] != null)
                {
                    filtro.CodigoIdioma = Session["CodigoIdioma"].ToString();
                }
                else
                {
                    filtro.CodigoIdioma = DatosConstantes.ParametrosGenerales.CodigoIdiomaPorDefecto;
                }
            }

            modelo.ListaArea.Add(new SelectListItem {
                Value = string.Empty, Text = GenericoResource.EtiquetaTodos
            });
            modelo.ListaArea.AddRange(areaService.BuscarAreaGrilla(new AreaRequest()
            {
                CodigoIdioma   = filtro.CodigoIdioma,
                EstadoRegistro = DatosConstantes.EstadoRegistro.Activo,
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoArea.ToString(),
                Text     = x.NombreArea,
                Selected = false
            }));

            ViewBag.lstPE = lst;
            return(View(modelo));
        }
        public ActionResult FormularioValorIndicador(BandejaPlanOperativoRequest filtro)
        {
            //filtro.CodigoIndicador = new Guid("c9144fbc-6266-4b46-b9d2-0f3a64abf74c");
            IngresoIndicadorModel modelo = new IngresoIndicadorModel();

            filtro.CodigoIdioma = obtenerCodigoIdioma();

            if (filtro.CodigoIndicador.HasValue)
            {
                modelo.Indicador = indicadorService.ObtenerIndicador(new IndicadorRequest()
                {
                    CodigoIndicador = filtro.CodigoIndicador
                }).Result;

                BandejaIndicadorRequest indReq = new BandejaIndicadorRequest();
                indReq.CodigoIndicador = filtro.CodigoIndicador;
                indReq.CodigoIdioma    = filtro.CodigoIdioma;

                var Formula = indicadorService.BuscarIndicador(indReq);

                modelo.Indicador.NombreFormula = Formula.Result[0].NombreFormula;

                modelo.ListaIndicadorAmbito = indicadorService.ObtenerIndicadorAmbito(new IndicadorRequest()
                {
                    CodigoIndicador = filtro.CodigoIndicador
                }).Result;
            }

            /* Listas para Mostrar el Sub Tipo de la Periodicidad*/
            modelo.ListaSemana.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaSemana.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Semana,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaMes.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaMes.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Mes,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaTrimestre.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaTrimestre.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Trimestre,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaSemestre.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaSemestre.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Semestre,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            return(View(modelo));
        }
 public ActionResult FormularioBandejaIndicador(BandejaPlanOperativoRequest filtro)
 {
     return(View());
 }
 public ActionResult FormularioBandejaObjetivosEmpresa(BandejaPlanOperativoRequest filtro)
 {
     return(View());
 }