コード例 #1
0
        public async Task <ActionResult> Ver(string msgExito)
        {
            LimpiarSession();

            TableroViewModel model = new TableroViewModel();

            model.Titulo = "Tablero de comando ";

            if (Session["IdAnioTablero"] != null)
            {
                model.AnioTableroViewModel = await AnioTableroService.GetById(Int32.Parse((string)Session["IdAnioTablero"]));
            }

            string idAreaTablero = (string)Session["IdAreaTablero"];

            if (idAreaTablero != null && !idAreaTablero.Equals("0"))
            {
                model.AreaTableroViewModel = await AreaService.GetById(Int32.Parse(idAreaTablero));
            }
            else
            {
                model.AreaTableroViewModel = new AreaViewModel {
                    Id = 0, Nombre = "Todas las áreas"
                };
            }

            ViewBag.Titulo       = model.Titulo;
            ViewBag.MensageExito = msgExito;

            await TableroService.AuditarVisualizacionTablero((PersonaViewModel)Session["Persona"]);

            return(View(model));
        }
コード例 #2
0
        public async Task <ActionResult> AbrirModalCargaMedicion(int idIndicador, int mes, int idAnio, int?idMedicion, long grupo, bool tieneAccesoEscritura, bool esAutomatico)
        {
            LimpiarSession();

            PersonaViewModel     personaViewModel = (PersonaViewModel)Session["Persona"];
            AnioTableroViewModel anioViewModel    = await AnioTableroService.GetById(idAnio);

            MedicionViewModel medicionViewModel = await MedicionService.ObtenerMedicionViewModel(idIndicador, mes, idMedicion, grupo, anioViewModel.Anio, personaViewModel, true);

            medicionViewModel.EsIndicadorAutomatico = esAutomatico;

            DateTime fechaActual = DateTimeHelper.OntenerFechaActual();

            string view = "Medicion/_Crear";

            if (
                (anioViewModel.Anio != fechaActual.Year && !(fechaActual.Month == 1 && mes == 12))
                ||
                (!personaViewModel.EsJefeArea && !tieneAccesoEscritura)
                ||
                (!tieneAccesoEscritura && personaViewModel.EsJefeArea && !personaViewModel.AreaViewModel.Id.ToString().Equals(medicionViewModel.IndicadorViewModel.AreaID))
                )
            {
                view = "Medicion/_Ver";
            }
            else if (esAutomatico)
            {
                view = "Medicion/_CrearAutomatico";
            }

            Session["FrenarRevision_" + personaViewModel.NombreUsuario] = true;

            return(PartialView(view, medicionViewModel));
        }
コード例 #3
0
        private async Task <ActionResult> RedirectToLocal(string returnUrl)
        {
            string decodedUrl = "";

            if (!string.IsNullOrEmpty(returnUrl) && !returnUrl.Equals("/") && !returnUrl.Contains("LogOff"))
            {
                decodedUrl = Server.UrlDecode(returnUrl);
            }

            Session["IdAnioTablero"] = (await AnioTableroService.GetActual()).AnioTableroID.ToString();

            PersonaViewModel personaViewModel = (PersonaViewModel)Session["Persona"];

            Session["IdAreaTablero"] = null;

            if (!personaViewModel.EsAdmin)
            {
                Session["IdAreaTablero"] = personaViewModel.AreaViewModel.Id.ToString();
            }

            if (Url.IsLocalUrl(decodedUrl))
            {
                return(Redirect(decodedUrl));
            }
            else
            {
                return(RedirectToAction("Ver", "Tablero"));
            }
        }
コード例 #4
0
 public MedicionController(IMedicionService medicionService,
                           IIndicadorAutomaticoService indicadorAutomaticoService,
                           AnioTableroService anioTableroService)
 {
     this.MedicionService       = medicionService;
     IndicadorAutomaticoService = indicadorAutomaticoService;
     AnioTableroService         = anioTableroService;
 }
コード例 #5
0
        public async Task <ActionResult> ObtenerLineViewModel(long grupo)
        {
            LimpiarSession();

            PersonaViewModel personaViewModel = (PersonaViewModel)Session["Persona"];
            int anio = (await AnioTableroService.GetById(Int32.Parse((string)Session["IdAnioTablero"]))).Anio;

            return(Json(await MedicionService.ObtenerLineViewModel(grupo, anio, personaViewModel), JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
        public async Task <JsonResult> BuscarAnios(string nombreAnio)
        {
            LimpiarSession();

            AnioTableroViewModel filtro = new AnioTableroViewModel();

            filtro.Descripcion = nombreAnio;
            filtro.Habilitado  = true;

            return(Json(await AnioTableroService.Buscar(filtro), JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
        public async Task <ActionResult> CargarMedicionAutomatica(MedicionViewModel model)
        {
            if (!ModelState.IsValidField("Valor") ||
                !ModelState.IsValidField("Comentario") ||
                !MedicionService.ValidaMedicion(model))
            {
                ModelState.AddModelError(string.Empty, "Verifique que todos los campos estén cargados y sean correctos.");
                return(PartialView("Medicion/_CrearAutomatico", model));
            }

            LimpiarSession();

            model.Anio         = (await AnioTableroService.GetById(Int32.Parse((string)Session["IdAnioTablero"]))).Anio;
            model.FechaCarga   = DateTimeHelper.OntenerFechaActual().ToString("dd/MM/yyyy HH:mm tt");
            model.UsuarioCargo = User.Identity.Name;

            await MedicionService.GuardarMedicion(model);

            return(Json(new { success = true }));
        }
コード例 #8
0
        public async Task <ActionResult> ObtenerHeatMapViewModel(string nombre)
        {
            LimpiarSession();

            BuscarIndicadorViewModel model = new BuscarIndicadorViewModel();

            model.PersonaLogueadaViewModel = (PersonaViewModel)Session["Persona"];
            model.AnioTablero = (await AnioTableroService.GetById(Int32.Parse((string)Session["IdAnioTablero"]))).Anio;

            string idAreaTablero = (string)Session["IdAreaTablero"];

            if (idAreaTablero != null && !idAreaTablero.Equals("0"))
            {
                model.Busqueda.AreaID = idAreaTablero;
            }
            else
            {
                model.TodasLasAreas = true;;
            }

            return(Json(await MedicionService.ObtenerHeatMapViewModel(model), JsonRequestBehavior.AllowGet));
        }