// GET: REQUERIMIENTOS/Delete/5 public async Task <ActionResult> Delete(string id, string idpro) { string user = User.Identity.Name; string rol = await this.seguridad_controller.GetRol(user); ViewBag.rol = rol; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } REQUERIMIENTOS rEQUERIMIENTOS = db.REQUERIMIENTOS.Find(idpro, id); if (rEQUERIMIENTOS == null) { return(HttpNotFound()); } return(View(rEQUERIMIENTOS)); }
public ActionResult Create([Bind(Include = "idFK,nombrePK,fechaInicio,fechaEntrega,horasReales,dificultad,cedulaFK,horasEstimadas,Descripcion,estado_actual,estado_final,descripcion_resultado")] REQUERIMIENTOS rEQUERIMIENTOS) { if (ModelState.IsValid) { if (Request.Form["Testers"] != "") { rEQUERIMIENTOS.cedulaFK = Request.Form["Testers"].ToString(); db.REQUERIMIENTOS.Add(rEQUERIMIENTOS); db.SaveChanges(); String queryAgregarAHistorial = "exec agregar_Historial_Req" + "'" + rEQUERIMIENTOS.idFK + "'," + "'" + rEQUERIMIENTOS.nombrePK + "'," + "'" + rEQUERIMIENTOS.cedulaFK + "'"; db.Database.SqlQuery <EquipoModel>(queryAgregarAHistorial).ToList(); } else { db.REQUERIMIENTOS.Add(rEQUERIMIENTOS); db.SaveChanges(); } return(RedirectToAction("../REQUERIMIENTOS/Index", new { id = rEQUERIMIENTOS.idFK })); } List <SelectListItem> testerDisp = new List <SelectListItem>(); // Datos para desplegar miembros de equipo disponibles string queryTesterDisp = "Exec recuperar_tester_disponible" + "'" + rEQUERIMIENTOS.idFK + "'"; // Se hace el query a la base de datos var tempTesterDisp = (db.Database.SqlQuery <testerDisp>(queryTesterDisp)).ToList(); // Se pasa a un Select List para hacer dropdown foreach (testerDisp item in tempTesterDisp) { testerDisp.Add(new SelectListItem { Text = item.NombreEmpleado, Value = item.cedulaPK }); } ViewBag.testerDisp = testerDisp; return(View(rEQUERIMIENTOS)); }
/* 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 Edit(string nombrePK, string idProy, string dificultadAnterior, string estadoAnterior, string testerAnterior, [Bind(Include = "idFK,nombrePK,Descripcion,fechaInicio,fechaEntrega,horasReales,horasEstimadas,dificultad,cedulaFK,estado_final,descripcion_resultado")] REQUERIMIENTOS rEQUERIMIENTOS) { if (ModelState.IsValid) { rEQUERIMIENTOS.nombrePK = nombrePK; rEQUERIMIENTOS.idFK = idProy; if (Request.Form["estado"] == null) // No se selecciono ningun estado actual { rEQUERIMIENTOS.estado_actual = estadoAnterior; } else // Se selecciono una opcion de estado { rEQUERIMIENTOS.estado_actual = Request.Form["estado"].ToString(); } if (Request.Form["dificultad"] == null) // No se selecciono ninguna dificultad { rEQUERIMIENTOS.dificultad = dificultadAnterior; } else // Se selecciono una opcion de dificultad { rEQUERIMIENTOS.estado_actual = Request.Form["dificultad"].ToString(); } if (Request.Form["Testers"] == "") // No se selecciono ningun tester { rEQUERIMIENTOS.cedulaFK = testerAnterior; } else // Se selecciono un campo del dropdown { rEQUERIMIENTOS.cedulaFK = Request.Form["Testers"].ToString(); // Selecciona la cedula del tester seleccionado en el dropdown if (rEQUERIMIENTOS.cedulaFK != "No asignado") { String queryAgregarAHistorial = "exec agregar_Historial_Req" + "'" + idProy + "'," + "'" + nombrePK + "'," + "'" + rEQUERIMIENTOS.cedulaFK + "'"; db.Database.SqlQuery <EquipoModel>(queryAgregarAHistorial).ToList(); // Se ejecuta query de agregar a historial } else { rEQUERIMIENTOS.cedulaFK = null; } } db.Entry(rEQUERIMIENTOS).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("../REQUERIMIENTOS/Index", new { id = rEQUERIMIENTOS.idFK })); } return(View(rEQUERIMIENTOS)); }
// GET: REQUERIMIENTOS/Edit/5 public async Task <ActionResult> Edit(string id, string idpro) { string user = User.Identity.Name; string rol = await this.seguridad_controller.GetRol(user); ViewBag.rol = rol; List <SelectListItem> testerDisp = new List <SelectListItem>(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } REQUERIMIENTOS rEQUERIMIENTOS = db.REQUERIMIENTOS.Find(idpro, id); if (rEQUERIMIENTOS == null) { return(HttpNotFound()); } //Datos para desplegar miembros de equipo disponibles string queryTesterDisp = "Exec recuperar_tester_disponible" + "'" + idpro + "'"; //Se hace el query a la base de datos var tempTesterDisp = (db.Database.SqlQuery <testerDisp>(queryTesterDisp)).ToList(); //Se pasa a un Select List para hacer dropdown foreach (testerDisp item in tempTesterDisp) { testerDisp.Add(new SelectListItem { Text = item.NombreEmpleado, Value = item.cedulaPK }); } testerDisp.Add(new SelectListItem { Text = "No asignado", Value = null }); // Query que me retorna la cantidad de pruebas por el estado string queryPruebasPorEstado = "EXEC cantidad_pruebas_por_estado " + "'" + rEQUERIMIENTOS.nombrePK + "','" + rEQUERIMIENTOS.idFK + "';"; List <PruebasPorEstado> resultado = (db.Database.SqlQuery <PruebasPorEstado>(queryPruebasPorEstado)).ToList(); bool pruebasIncompletas = false; bool pruebasFallidas = false; bool pruebasExitosas = false; // Hay que revisar de que tipo de pruebas hay if (resultado.Count() == 3) // Hay incompletas, fallidas y exitosas { pruebasIncompletas = true; pruebasFallidas = true; pruebasExitosas = true; } else if (resultado.Count() == 2) // Solo hay de 2 tipos { // Averiguar el estado de los 2 tipos de pruebas que hay PruebasPorEstado incompletas = resultado.Find(x => x.estadoFinal == "Incompleto"); if (incompletas != null) { pruebasIncompletas = true; } PruebasPorEstado exitosas = resultado.Find(x => x.estadoFinal == "Exitoso"); if (exitosas != null) { pruebasExitosas = true; } PruebasPorEstado fallidas = resultado.Find(x => x.estadoFinal == "Fallido"); if (fallidas != null) { pruebasFallidas = true; } } else if (resultado.Count() == 1) // Solo hay de un tipo { // Averiguar el estado de la unica prueba if (resultado.ElementAt(0).estadoFinal == "Exitoso") { pruebasExitosas = true; } else if (resultado.ElementAt(0).estadoFinal == "Fallido") { pruebasFallidas = true; } else { pruebasIncompletas = true; } } ViewBag.pruebasIncompletas = pruebasIncompletas; ViewBag.pruebasFallidas = pruebasFallidas; ViewBag.pruebasExitosas = pruebasExitosas; ViewBag.idProy = idpro; ViewBag.dificultad = rEQUERIMIENTOS.dificultad; ViewBag.estadoActual = rEQUERIMIENTOS.estado_actual; ViewBag.tester = rEQUERIMIENTOS.cedulaFK; ViewBag.testerDisp = testerDisp; ViewBag.nombrePK = rEQUERIMIENTOS.nombrePK; return(View(rEQUERIMIENTOS)); }
//Botón que cancela en el Modificar y devuelve a la pantalla anterior. /*EFE: Se sale del modificar y revierte cambios * REQ: * MOD: Nada */ public ActionResult cancelar(REQUERIMIENTOS REQ) { return(View(REQ)); }