Пример #1
0
 public ActionResult Create(Proceso proceso, int? areaId, int? tipoId)
 {
     if (ModelState.IsValid)
     {
         db.Procesos.Add(proceso);
         db.SaveChanges();
         return RedirectToAction("Index", new { areaId = areaId, tipoId = tipoId });
     }
     FillViewBag(proceso, areaId, tipoId);
     return View(proceso);
 }
Пример #2
0
        public Area FillViewBag(int? areaId, int? procesoId, string activetab)
        {
            ApplicationUser usuario = (ApplicationUser)db.Users.FirstOrDefault(item => item.UserName == User.Identity.Name);
            int periodId = (int)Session["SelectedPeriod"];
            Periodo period = db.Periodos.Find(periodId);
            Area area;
            Proceso proceso_enfoque = new Proceso();

            if (areaId == null)
            {
                //if (usuario.TienePermiso(22) && usuario.TieneNivel(2))
                //{
                //    area = db.Areas.Where(item => item.Nivel.ID == 3 && item.AreaPadre.ID == usuario.UsuarioArea.ID).First();
                //}
                //if (usuario.TienePermiso(1) || (usuario.TienePermiso(22) && (usuario.TieneNivel(1)))) // Administrador y Presidente
                //{
                //    area = db.Areas.Where(item => item.Nivel.ID == 3).First();
                //}
                //else if (usuario.TieneNivel(3) && usuario.TienePermiso(6))
                //{
                //    area = usuario.UsuarioArea;
                //}
                //else
                //{
                //    area = usuario.UsuarioArea;
                //}
                area = usuario.GetAreas("3").FirstOrDefault();
                if (area != null)
                {
                    areaId = area.ID;
                }
            }
            else
            {
                area = db.Areas.Where(item => item.Nivel.ID == 3).FirstOrDefault(item => item.ID == areaId);
            }
            if (procesoId != null && procesoId != 0)
            {
                proceso_enfoque = db.Procesos.Find(procesoId);
            }
            if (activetab == "" || activetab == null)
            {
                activetab = "tabRelevancia";
            }
            ViewBag.activetab = activetab;
            ViewBag.CurrentArea = area;
            ViewBag.ProcesoEnfoque = proceso_enfoque;
            //if (usuario.TienePermiso(22) && usuario.TieneNivel(2))
            //{
            //    List<Area> Areas = new List<Area>();
            //    List<int> areasId = new List<int>();

            //    Areas = db.Areas.Where(item => item.Nivel.ID == 3 && item.AreaPadre.ID == usuario.UsuarioArea.ID).ToList();
            //    areasId = (from a in Areas
            //               select a.ID).ToList();
            //    Areas.AddRange(db.Areas.Where(item => item.Nivel.ID == 3 && areasId.Any(p => item.AreaPadre.ID == p)).ToList());
            //    areasId = (from a in Areas
            //               select a.ID).ToList();
            //    Areas.AddRange(db.Areas.Where(item => item.Nivel.ID == 3 && areasId.Any(p => item.AreaPadre.ID == p)).ToList());
            //    ViewBag.Areas = Areas.Distinct().OrderBy(item => item.ID);
            //}
            //if (usuario.TienePermiso(1) || (usuario.TienePermiso(22) && (usuario.TieneNivel(1)))) // Administrador y Presidente
            //{
            //    ViewBag.Areas = db.Areas.Where(item => item.Nivel.ID == 3).ToList();
            //}
            //if (usuario.TienePermiso(6) && usuario.TieneNivel(3))
            //{
            //    List<Area> Areas = new List<Area>();

            //    Areas.Add(usuario.UsuarioArea);
            //    Areas.AddRange(usuario.UsuarioArea.AreasHijas.ToList());
            //    ViewBag.Areas = Areas.OrderBy(item => item.AreaPadre.ID);
            //}
            ViewBag.Areas = usuario.GetAreas("3");
            ViewBag.usuario = usuario;
            ViewBag.PeriodoSeleccionado = period;
            ViewBag.Relevancia = db.Relevancia.ToList();
            ViewBag.Comportamiento = db.ComportamientoMejora.ToList();

            JavaScriptSerializer serializer = new JavaScriptSerializer();

            var json_mejora = from a in db.ResultadoMejora
                              select new
                              {
                                  ID = a.Relevancia.ID.ToString() + "_" + a.Comportamiento.ID.ToString(),
                                  Text = a.Sector.Nombre + "<br />" + a.Sector.Descripcion
                              };

            var json_enfoque = from a in db.ResultadoEnfoque
                               select new
                               {
                                   ID = a.Relevancia.ID.ToString() + "_" + a.Comportamiento.ID.ToString(),
                                   Text = a.Sector.Nombre + "<br />" + a.Sector.Descripcion
                               };

            ViewBag.ResulatadoMejora = serializer.Serialize(json_mejora);
            ViewBag.ResulatadoEnfoque = serializer.Serialize(json_enfoque);

            return area;
        }
Пример #3
0
        public void FillViewBag(Proceso proceso, int? areaId, int? tipoId)
        {
            ApplicationUser usuario = (ApplicationUser)db.Users.FirstOrDefault(item => item.UserName == User.Identity.Name);
            int periodId = (int)Session["SelectedPeriod"];
            Periodo period = db.Periodos.Find(periodId);
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            TipoProceso tipo;

            ViewBag.usuario = usuario;
            ViewBag.PeriodoSeleccionado = period;
            ViewBag.TipoCliente = db.TipoCliente.ToList();
            ViewBag.TipoProceso = db.TipoProceso.ToList();
            ViewBag.areaId = areaId;
            // Areas
            if (areaId != null)
            {
                ViewBag.Areas = db.Areas.Where(item => item.ID == areaId).ToList();
            }
            else if (usuario.TienePermiso(1)) // Administrador
            {
                ViewBag.Areas = db.Areas.Where(item => item.Nivel.ID == 3).OrderBy(item => item.AreaPadre.ID).ToList();
            }
            else if (usuario.TienePermiso(6) && usuario.TieneNivel(3)) // Lider Unidad Operativa y Nivel Unidad Operativa
            {
                List<Area> Areas = new List<Area>();

                Areas.Add(usuario.UsuarioArea);
                Areas.AddRange(usuario.UsuarioArea.AreasHijas.ToList());
                ViewBag.Areas = Areas.OrderBy(item => item.AreaPadre.ID);
            }
            else
            {
                List<Area> Areas = new List<Area>();

                Areas.Add(usuario.UsuarioArea);
                ViewBag.Areas = Areas;
            }
            // Responsables
            if (usuario.TienePermiso(1)) // Administrador
            {
                ViewBag.Responsables = db.Users.ToList<ApplicationUser>();
            }
            else if (usuario.TienePermiso(6) && usuario.TieneNivel(3)) // Lider Unidad Operativa y Nivel Unidad Operativa
            {
                List<ApplicationUser> Responsables = new List<ApplicationUser>();
                List<Area> Areas = new List<Area>();
                IEnumerable<int> AreasIds = new List<int>();

                Areas.Add(usuario.UsuarioArea);
                Areas.AddRange(usuario.UsuarioArea.AreasHijas.ToList());
                AreasIds = from a in Areas
                           select a.ID;

                Responsables = db.Users.Where(user => AreasIds.Contains(user.UsuarioArea.ID)).ToList();
                ViewBag.Responsables = Responsables;
            }
            else
            {
                List<ApplicationUser> Responsables = new List<ApplicationUser>();

                Responsables.Add(usuario);
                ViewBag.Responsables = Responsables;
            }
            if (proceso != null)
            {
                if (proceso.Actividades != null)
                {
                    var json = from a in proceso.Actividades
                               select new
                               {
                                   id = a.ID,
                                   text = a.Nombre,
                                   Editar = "<a href=\"javascript: $.noop();\" style=\"color:green\" class=\"fa fa-edit\" data-toggle=\"modal\" data-target=\"#EditarActividad\"></a>",
                                   Eliminar = "<a href=\"javascript: $.noop();\" style=\"color:red\" class=\"fa fa-minus\"></a>"
                               };
                    ViewBag.JSONActividades = serializer.Serialize(json);
                }
                else
                {
                    ViewBag.JSONActividades = serializer.Serialize(new object[] { });
                }
                if (proceso.Atribuciones != null)
                {
                    var json = from a in proceso.Atribuciones
                               select new
                               {
                                   id = a.ID,
                                   area = a.Area.Nombre,
                                   text = a.Descripcion,
                                   Eliminar = "<a href=\"javascript: $.noop();\" style=\"color:red\" class=\"fa fa-minus\"></a>"
                               };
                    ViewBag.JSONAtribuciones = serializer.Serialize(json);
                }
                else
                {
                    ViewBag.JSONAtribuciones = serializer.Serialize(new object[] { });
                }
                if (proceso.Objetivos != null)
                {
                    var json = from a in proceso.Objetivos
                               select new
                               {
                                   id = a.ID,
                                   text = a.Nombre,
                                   Eliminar = "<a href=\"javascript: $.noop();\" style=\"color:red\" class=\"fa fa-minus\"></a>"
                               };
                    ViewBag.JSONObjetivos = serializer.Serialize(json);
                }
                else
                {
                    ViewBag.JSONObjetivos = serializer.Serialize(new object[] { });
                }
            }
            else
            {
                ViewBag.JSONActividades = serializer.Serialize(new object[] { });
                ViewBag.JSONAtribuciones = serializer.Serialize(new object[] { });
                ViewBag.JSONObjetivos = serializer.Serialize(new object[] { });
            }
            if (tipoId == null)
            {
                tipoId = -1;
            }
            ViewBag.CurrentTipo = db.TipoProceso.Find(tipoId);
        }
Пример #4
0
 public ActionResult Edit(Proceso proceso, int? areaId, int? tipoId)
 {
     if (ModelState.IsValid)
     {
         Proceso tmp_proceso = db.Procesos.Find(proceso.ID);
         proceso.Mejora = tmp_proceso.Mejora;
         proceso.Enfoque = tmp_proceso.Enfoque;
         AutoMapper.Mapper.Map(proceso, tmp_proceso);
         tmp_proceso.Actividades.ForEach(item => item.Proceso = tmp_proceso);
         db.Entry(tmp_proceso).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index", new { areaId = areaId, tipoId = tipoId });
     }
     FillViewBag(proceso, areaId, tipoId);
     return View(proceso);
 }