예제 #1
0
        // GET: Casos/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Caso caso = db.Casos.Find(id);

            if (caso == null)
            {
                return(HttpNotFound());
            }

            if (caso.IdEstadoCaso == 2) // si el caso está cerrado no puede editarse
            {
                TempData["msg"] = "No se puede editar un caso cerrado.";
                return(RedirectToAction("Index", "Casos"));
            }

            if (caso.UsuarioCarga != User.Identity.Name)
            {
                TempData["msg"] = "No tiene permisos para realizar " +
                                  "esta acción por no ser el creador " +
                                  "del caso.";
                return(RedirectToAction("Index", "Casos"));
            }

            if (caso.EstadoCaso.Color.Contains('#'))
            {
                caso.EstadoCaso.Color = GenerateRgba.GenerateRgbaColor(caso.EstadoCaso.Color);
            }

            ViewBag.Suscripciones     = db.Suscripciones.ToList();
            ViewBag.IdAreaCaso        = db.AreaCasos.ToList();
            ViewBag.IdEstadoCaso      = db.EstadoCasos.ToList();
            ViewBag.IdTipoCaso        = db.TipoCasos.ToList();
            ViewBag.MotivosCierreCaso = db.MotivoCierreCasos.ToList();

            return(View(caso));
        }
예제 #2
0
        public ActionResult Index()
        {
            //var casos = db.Casos.Include(c => c.AreaCaso).Include(c => c.EstadoCaso).Include(c => c.SeguimientoCaso).Include(c => c.Suscriptor).Include(c => c.TipoCaso);
            var listaCasos = new List <Caso>();

            if (User.IsInRole("Distribuidor"))
            {
                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                listaCasos = db.Casos.ToList().FindAll(x => x.AsuntoCaso.AreaCaso.Descripcion.ToLower().Trim() == "Distribución".ToLower().Trim() && x.Suscripcion.Canillita != null && x.Suscripcion.Canillita.IdDistribuidor == Int32.Parse(userManager.FindById(User.Identity.GetUserId()).Identificador));
            }
            else
            {
                listaCasos = db.Casos.ToList();
            }

            foreach (var caso in listaCasos)
            {
                if (caso.EstadoCaso.Color.Contains('#'))
                {
                    caso.EstadoCaso.Color = GenerateRgba.GenerateRgbaColor(caso.EstadoCaso.Color);
                }
            }
            return(View(listaCasos));
        }