/* EFECTO: Elimina una solicitud de cambio, hecha por el propio usuario * REQUIERE: ID * MODIFICA: La información de la base de datos */ public ActionResult eliminarSolicitud(string id) { CAMBIOS cambio = db.CAMBIOS.Find(id); REQUERIMIENTOS req = db.REQUERIMIENTOS.Find(cambio.NUEVO_REQ_ID, cambio.NUEVO_VER_ID); var fg = new AspNetUsers(); //instancia AspNetUser para usuario actual var listauser = db.AspNetUsers.ToArray(); for (int i = 0; i < listauser.Length; i++) { //de todos los AspNetUser del sistema, encuentra el usuario activo actualmente if (listauser[i].Email == User.Identity.Name) { fg = listauser[i]; //obtiene el AspNetUser actual } } var usuario = db.USUARIOS.Where(u => u.ID_ASP.Equals(fg.Id)).Single(); if ((cambio.CEDULA == usuario.CEDULA) && (req.ESTADO_CAMBIOS == "Pendiente")) { db.CAMBIOS.Remove(cambio); db.REQUERIMIENTOS.Remove(req); db.SaveChanges(); return(Json(new { success = true })); } else { return(Json(new { success = false })); } }
/* EFECTO: Muestra la vista para crear una solicitud de cambio * REQUIERE: Selecionar un requerimiento previamente (id y version) * MODIFICA: N/A */ public ActionResult Create(string id, int version) { var cambio = new CAMBIOS(); var correoUsuario = db.CORREOS.Where(s => s.CORREO == User.Identity.Name).Single(); USUARIOS actual = correoUsuario.USUARIOS; int v = db.REQUERIMIENTOS.Where(s => s.ID == id).Select(s => s.VERSION_ID).Max() + 1; REQUERIMIENTOS rEQUERIMIENTOS = db.REQUERIMIENTOS.Find(id, version); rEQUERIMIENTOS.VERSION_ID = v; rEQUERIMIENTOS.ESTADO_CAMBIOS = "Pendiente"; cambio.USUARIOS = actual; cambio.CEDULA = actual.CEDULA; cambio.FECHA = DateTime.Now; cambio.REQUERIMIENTOS1 = rEQUERIMIENTOS; cambio.VIEJO_REQ_ID = id; cambio.VIEJO_VER_ID = version; cambio.NUEVO_REQ_ID = id; cambio.NUEVO_VER_ID = v; ViewBag.PRYCTOID = new SelectList(db.PROYECTO, "ID", "NOMBRE", rEQUERIMIENTOS.PRYCTOID); ViewBag.ENCARGADO = new SelectList(db.USUARIOS.Where(s => s.PRYCTOID == rEQUERIMIENTOS.PRYCTOID), "CEDULA", "NOMBRE", rEQUERIMIENTOS.ENCARGADO); var fg = new AspNetUsers(); //instancia AspNetUser para usuario actual var listauser = db.AspNetUsers.ToArray(); for (int i = 0; i < listauser.Length; i++) { //de todos los AspNetUser del sistema, encuentra el usuario activo actualmente if (listauser[i].Email == User.Identity.Name) { fg = listauser[i]; //obtiene el AspNetUser actual } } AspNetRoles rol = fg.AspNetRoles.First(); if (rol.Name == "Desarrollador" || rol.Name == "Administrador") { TempData["Desarrollador"] = "display:true"; } else { TempData["Desarrollador"] = "display:none"; } return(View(cambio)); }
/* EFECTO: Requerimiento antiguo * REQUIERE: Que el estado sea Aprobado * MODIFICA: El requerimiento que será el nuevo aprobado y el anterior */ public /*ActionResult*/ void AceptarSolicitud(CambiosViewModel modelo, REQUERIMIENTOS antiguo, REQUERIMIENTOS nuevo, CAMBIOS cambio /*, CAMBIOS actual*/) { if (modelo.propuesto.ESTADO_CAMBIOS == "Aprobado") { //antiguo.ESTADO_CAMBIOS = "Obsoleto"; REQUERIMIENTOS pivote = nuevo; nuevo = antiguo; antiguo = pivote; nuevo.ESTADO_CAMBIOS = "Obsoleto"; cambio.VIEJO_REQ_ID = cambio.NUEVO_REQ_ID; cambio.VIEJO_VER_ID = cambio.NUEVO_VER_ID; modelo.vigente = antiguo; //modelo.propuesto.ESTADO_CAMBIOS = modelo.propuesto.ESTADO_CAMBIOS; //actual = cambio; } //return modelo; }
public ActionResult DetallesSolicitud(CambiosViewModel modelo) { if (modelo == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } REQUERIMIENTOS cambioActualizado = db.REQUERIMIENTOS.Find(modelo.propuesto.ID, modelo.propuesto.VERSION_ID); REQUERIMIENTOS reqAntiguo = db.REQUERIMIENTOS.Find(modelo.actual.ID, modelo.actual.VERSION_ID); cambioActualizado.NOMBRE = modelo.propuesto.NOMBRE; cambioActualizado.DESCRIPCION = modelo.propuesto.DESCRIPCION; cambioActualizado.ENCARGADO = modelo.propuesto.ENCARGADO; cambioActualizado.ESFUERZO = modelo.propuesto.ESFUERZO; cambioActualizado.ESTADO = modelo.propuesto.ESTADO; cambioActualizado.FECHAFINAL = modelo.propuesto.FECHAFINAL; cambioActualizado.FECHAINCIO = modelo.propuesto.FECHAINCIO; //cambioActualizado.IMAGEN = modelo.propuesto.IMAGEN; //cambioActualizado.rutaImagen = modelo.propuesto.rutaImagen; //cambioActualizado.CRIT_ACEPTACION = modelo.propuesto.CRIT_ACEPTACION; cambioActualizado.MODULO = modelo.propuesto.MODULO; cambioActualizado.OBSERVACIONES = modelo.propuesto.OBSERVACIONES; cambioActualizado.PRIORIDAD = modelo.propuesto.PRIORIDAD; //cambioActualizado.PROYECTO = modelo.propuesto.PROYECTO; //cambioActualizado.PRYCTOID = modelo.propuesto.PRYCTOID; cambioActualizado.SPRINT = modelo.propuesto.SPRINT; //cambioActualizado.USUARIOS = modelo.propuesto.USUARIOS; //cambioActualizado.VERSION_ID = modelo.propuesto.VERSION_ID; var fg = new AspNetUsers(); //instancia AspNetUser para usuario actual var listauser = db.AspNetUsers.ToArray(); for (int i = 0; i < listauser.Length; i++) { //de todos los AspNetUser del sistema, encuentra el usuario activo actualmente if (listauser[i].Email == User.Identity.Name) { fg = listauser[i]; //obtiene el AspNetUser actual } } var usuario = db.USUARIOS.Where(u => u.ID_ASP.Equals(fg.Id)).Single(); CAMBIOS cambio = db.CAMBIOS.Find(modelo.solicitud.ID); cambio.DESCRIPCION = modelo.solicitud.DESCRIPCION; cambio.FECHA = DateTime.Now; cambio.JUSTIFICACION = modelo.solicitud.JUSTIFICACION; if ((cambioActualizado.ESTADO_CAMBIOS != modelo.propuesto.ESTADO_CAMBIOS) || (modelo.propuesto.ESTADO_CAMBIOS == "En revisión")) { cambio.CED_REV = usuario.CEDULA; if (modelo.solicitud.FECHA_REV == null) { cambio.FECHA_REV = DateTime.Now; } else { cambio.FECHA_REV = modelo.solicitud.FECHA_REV; } cambio.JUST_REV = modelo.solicitud.JUST_REV; AceptarSolicitud(modelo, reqAntiguo, cambioActualizado, cambio); } cambioActualizado.ESTADO_CAMBIOS = modelo.propuesto.ESTADO_CAMBIOS; //if (ModelState.IsValid) //{ db.Entry(reqAntiguo).State = EntityState.Modified; db.Entry(cambioActualizado).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("DetallesSolicitud", new { ID = modelo.solicitud.ID })); //} //return null; }
public ActionResult Create(/*[Bind(Include = "ID,CEDULA,FECHA,DESCRIPCION,JUSTIFICACION,VIEJO_REQ_ID,VIEJO_VER_ID,NUEVO_REQ_ID,NUEVO_VER_ID,JUST_REV,FECHA_REV,CED_REV,REQUERIMIENTOS1")] */ CAMBIOS cAMBIOS) { if (ModelState.IsValid) { cAMBIOS.ID = Guid.NewGuid().ToString().Substring(0, 7); db.REQUERIMIENTOS.Add(cAMBIOS.REQUERIMIENTOS1); db.CAMBIOS.Add(cAMBIOS); db.SaveChanges(); TempData["Create"] = "Exito"; } else { TempData["Create"] = "Error"; return(RedirectToAction("Create")); } return(RedirectToAction("Requerimientos")); }