public async Task <ActionResult> Edit(RequestUserDataForm data)
        {
            var original = await db.RequestUser.FindAsync(data.Id);

            if (original == null)
            {
                ModelState.AddModelError(string.Empty, "Solicitud no registrada.");
            }

            if (ModelState.IsValid)
            {
                //Agrega los cambios de formulario
                original.Response = data.Response;
                original.State    = data.State;

                //Agrega metadatos del usuario actual
                var adminUser = await userManager.FindByNameAsync(User.Identity.Name);

                original.AdminName      = adminUser.Nombre + " " + adminUser.Apellido;
                original.ValidationDate = DateTime.Now;

                //Cambia las alertyas
                original.AlertAdmin = false;
                original.AlertUser  = true;

                db.Entry(original).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("IndexAdmin"));
            }

            var estados = new Dictionary <int, string> {
                { RequestUser.ESTADO_NUEVA, "Nuevo" },
                { RequestUser.ESTADO_EN_PROCESO, "En proceso" },
                { RequestUser.ESTADO_SOLUCIONADA, "Terminado" },
                { RequestUser.ESTADO_CANCELADA, "Cancelado" },
            };

            ViewBag.Estados = new SelectList(estados, "Key", "Value", data.State);

            ViewBag.Solicitud = original;

            var user = await userManager.FindByIdAsync(original.IdUser);

            ViewBag.User = user;

            Formalization formalizacion = null;

            if (original.FormalizationId > 0)
            {
                formalizacion = await db.Formalization.FindAsync(original.FormalizationId);
            }
            ViewBag.Formalizacion = formalizacion;

            return(View(data));
        }
        public async Task <ActionResult> Edit(int id)
        {
            var solicitud = await db.RequestUser.FindAsync(id);

            if (solicitud == null)
            {
                return(NotFound());
            }

            var dataForm = new RequestUserDataForm {
                Id = solicitud.Id, Response = solicitud.Response, State = solicitud.State
            };

            var estados = new Dictionary <int, string> {
                { RequestUser.ESTADO_NUEVA, "Nuevo" },
                { RequestUser.ESTADO_EN_PROCESO, "En proceso" },
                { RequestUser.ESTADO_SOLUCIONADA, "Completo" },
                { RequestUser.ESTADO_CANCELADA, "Cancelado" },
            };

            ViewBag.Estados = new SelectList(estados, "Key", "Value", solicitud.State);

            ViewBag.Solicitud = solicitud;

            var user = await userManager.FindByIdAsync(solicitud.IdUser);

            ViewBag.User = user;

            Formalization formalizacion = null;

            if (solicitud.FormalizationId > 0)
            {
                formalizacion = await db.Formalization.FindAsync(solicitud.FormalizationId);
            }
            ViewBag.Formalizacion = formalizacion;

            return(View(dataForm));
        }