[Authorize(Roles = "Soporte, JefeDesarrollo, Lider")]//parte de seguridad, indica que solo esos roles pueden crear requerimientos public ActionResult Create() { var estados = GetAllStates(); //se llama la función que obtiene el listado de todos los estados que puede tener un requerimiento y el resultado se guarda en la var estados var req = new requerimientos(); //se crea un nuevo requerimiento // Establece estos estados en el modelo. // Se debe hacer esto ya que solo el valor seleccionado de DropDownList se visualiza de nuevo, no toda lista de estados. req.estados = GetSelectListItems(estados); TempData.Keep(); //se pide mantener los datos temporales, por títulos que dependen de ellos en las vistas if (TempData["proyecto"] != null && TempData["modulos"] != null) //si no son nulos { int codigo = int.Parse(TempData["proyecto"].ToString()); //se obtiene el código de proyecto int idMod = int.Parse(TempData["modulos"].ToString()); //se botiene el código de módulo ViewBag.cedulaEmpleadoFK = new SelectList(new empleadosController().GetEmployeeByProyectWithNA(codigo), "cedulaPK", "nombre"); //se comunica con el controlador de empleados para que solo se muestren los empleados disponibles ViewBag.codigoProyectoFK = new SelectList(new proyectosController().PassByCode(codigo), "codigoPK", "nombre"); //se comunica con el controlador de proyectos, para que solo se mueste el proyecto en el que se está ViewBag.idModuloFK = new SelectList(new modulosController().PassByCode(idMod), "idPK", "nombre"); //se comunica con el controlador de módulos para que solo muestre el módulo en el que se está return(View(req)); //se manda todo eso a la vista } else //si son nulos { return(RedirectToAction("Lista")); //se redirige a la vista del listado de requerimeintos } }
public ActionResult Create([Bind(Include = "codigoProyectoFK,idModuloFK,idPK,descripcion,complejidad,estado,cedulaEmpleadoFK,fechaInicio,fechaFin,duracionEstimada,duracionDias,nombre")] requerimientos requerimientos) { //El bind hace que se prepare todo para mandarse a la base de datos // De nuevo se obtienen todos los estados var estados = GetAllStates(); // Establece estos estados en el modelo. // Se debe hacer esto ya que solo el valor seleccionado de DropDownList se visualiza de nuevo, no toda lista de estados. requerimientos.estados = GetSelectListItems(estados); if (ModelState.IsValid) //si todo está bien y no se viola ninguna regla { db.requerimientos.Add(requerimientos); //se "inserta" en la base de datos db.SaveChanges(); //se guardan los cambios return(RedirectToAction("Lista")); //se redirige ala vista del listado de requerimientos } TempData.Keep(); //se solicita mantener los datos por títulos en las vistas que dependen de estos if (TempData["proyecto"] != null && TempData["modulos"] != null) //si no son nulos { int codigo = int.Parse(TempData["proyecto"].ToString()); //se obtiene el código del proyecto int idMod = int.Parse(TempData["modulos"].ToString()); //se obtiene el código del módulo ViewBag.cedulaEmpleadoFK = new SelectList(new empleadosController().GetEmployeeByProyectWithNA(codigo), "cedulaPK", "nombre", requerimientos.cedulaEmpleadoFK); //se seleccionan solo los empleados disponibles ViewBag.codigoProyectoFK = new SelectList(new proyectosController().PassByCode(codigo), "codigoPK", "nombre", requerimientos.codigoProyectoFK); //se selecciona solo el proyecto actual ViewBag.idModuloFK = new SelectList(new modulosController().PassByCode(idMod), "idPK", "nombre", requerimientos.idModuloFK); //se selecciona solo el módulo actual return(View(requerimientos)); //se envía eso a la vista } else { //si son nulos return(RedirectToAction("Lista")); //se redirige a lavista del listado de requerimientos } }
public ActionResult DeleteConfirmed(int?idProyecto, int?idModulo, int?id) { requerimientos requerimientos = db.requerimientos.Find(idProyecto, idModulo, id); db.requerimientos.Remove(requerimientos); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "codigoProyectoFK,idModuloFK,idPK,descripcion,complejidad,estado,cedulaEmpleadoFK,fechaInicio,fechaFin,duraciónEstimada,duraciónReal")] requerimientos requerimientos) { if (ModelState.IsValid) { db.Entry(requerimientos).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.codigoProyectoFK = new SelectList(db.proyectos, "codigoPK", "nombre", requerimientos.codigoProyectoFK); return(View(requerimientos)); }
public ActionResult DeleteConfirmed(int?idProyecto, int?idModulo, int?id) { requerimientos requerimientos = db.requerimientos.Find(idProyecto, idModulo, id); //se manda a buscar el requerimiento específico if (requerimientos.estado == "Cancelado") //solo si su estado es cancelado se procede a eliminar { db.requerimientos.Remove(requerimientos); //se remueve de la base de datos db.SaveChanges(); //se guerdan los cambios } return(RedirectToAction("Lista"));//se redirige al listado de requerimientos. }
// GET: requerimientos/Details/5 public ActionResult Details(int?idProyecto, int?idModulo, int?id) { if (idProyecto == null || idModulo == null || id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } requerimientos requerimientos = db.requerimientos.Find(idProyecto, idModulo, id); if (requerimientos == null) { return(HttpNotFound()); } return(View(requerimientos)); }
public ActionResult Delete(int?idProyecto, int?idModulo, int?id) { TempData.Keep(); //se mantienen los datos por títulos en las vistas que dependen de ellos if (idProyecto == null || idModulo == null || id == null) //si los parámetros recibidos son nulos { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); //página de error } requerimientos requerimientos = db.requerimientos.Find(idProyecto, idModulo, id); //se manda a buscar el requerimiento específico if (requerimientos == null) //si lo que devulve es nulo { return(HttpNotFound()); //página de error } return(View(requerimientos)); //se devulve a la vista }
[Authorize(Roles = "Soporte, JefeDesarrollo, Lider, Desarrollador")] //parte de seguridad, indica que solo esos roles pueden ver detallles de un requerimiento public ActionResult Details(int?idProyecto, int?idModulo, int?id) { TempData.Keep(); //se solicita mantener esos datos, por ótivos de títulos que dependen de los mismos (ej: titulo de proyecto y módulo sobre el cual se está trabajando) if (idProyecto == null || idModulo == null || id == null) //si los parámetros son nulos { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); //se devuelve a página de error } requerimientos requerimientos = db.requerimientos.Find(idProyecto, idModulo, id); //se manda a buscar el requerimiento especificado if (requerimientos == null) //si lo que delvolvió es nulo { return(HttpNotFound()); //página de error } return(View(requerimientos)); //se manda a la vista el requerimiento }
// GET: requerimientos/Edit/5 public ActionResult Edit(int?idProyecto, int?idModulo, int?id) { if (idProyecto == null || idModulo == null || id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } requerimientos requerimientos = db.requerimientos.Find(idProyecto, idModulo, id); if (requerimientos == null) { return(HttpNotFound()); } ViewBag.codigoProyectoFK = new SelectList(db.proyectos, "codigoPK", "nombre", requerimientos.codigoProyectoFK); ViewBag.idModuloFK = new SelectList(db.modulos, "idPK", "nombre", requerimientos.idModuloFK); return(View(requerimientos)); }
public ActionResult Edit([Bind(Include = "codigoProyectoFK,idModuloFK,idPK,descripcion,complejidad,estado,cedulaEmpleadoFK,fechaInicio,fechaFin,duracionEstimada,duracionDias,nombre")] requerimientos requerimientos) { //El bind hace que todo se prepare para ser mandado a la base de datos TempData.Keep(); //se solicita mantener datos por los títulos de las vistas que dependen de ellos (ej: nombre de proyecto y módulo actual sobre los que se trabajan) if (ModelState.IsValid) //si todo está bien y no se viola ninguna restricción { db.Entry(requerimientos).State = EntityState.Modified; db.SaveChanges(); //se guardan los cambios en la base de datos return(RedirectToAction("Lista")); //se redirige a la vista del listado de requerimientos } // Se obtienen de nuevo todos los estados de un requerimiento (esto se hace para el el dropdown sea editable) var estados = GetAllStates(); requerimientos.estados = GetSelectListItems(estados); //se setean los estados en el modelo ViewBag.cedulaEmpleadoFK = new SelectList(new empleadosController().GetEmployeeByProyectWithNA(requerimientos.codigoProyectoFK), "cedulaPK", "nombre", requerimientos.cedulaEmpleadoFK); //solo permite que se muestren los empelados disponibles return(View(requerimientos)); //se devuelve a la vista }
public ActionResult Edit(int?idProyecto, int?idModulo, int?id) { //se reciben por parámetro el código de proyecto, módulo y requerimiento TempData.Keep(); //se solicita mantener estos datos por los títlos de las vistas que dependen de ellos if (idProyecto == null || idModulo == null || id == null) //si alguno de los parámetros es nulo { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); //página de error } requerimientos requerimientos = db.requerimientos.Find(idProyecto, idModulo, id); //se manda a buscar el requerimiento específico if (requerimientos == null) //si es nulo { return(HttpNotFound()); //página de error } var estados = GetAllStates(); //se obtienen de nuevo todos los estados de un requerimiento (esto se hace para el el dropdown sea editable) var codigo = idProyecto ?? default(int); requerimientos.estados = GetSelectListItems(estados); //se vuelven a setear en el módelo ViewBag.cedulaEmpleadoFK = new SelectList(new empleadosController().GetEmployeeByProyectWithNA(codigo), "cedulaPK", "nombre"); //hace que sólo se muestren los empelados que están disponibles return(View(requerimientos)); //se manda a la vista }
public ActionResult Crear(RequerimientoViewModel model, FormCollection collection) { var Url = ""; var db = new EntitiesDap(); var obra = _obrasManager.Find(Convert.ToInt32(TempData["obra"])); var obranombre = _obrasManager.FindObrasPorNombre(model.Obra); ViewBag.Obras = new SelectList(_requerimientosManager.FindObras(), "nombre", "nombre"); ViewBag.StatusRequerimiento = new SelectList(_requerimientosManager.FindStatus(), "descripcion", "descripcion"); ViewBag.GerenciaResponsable = new SelectList(db.gerenciaresponsable.ToList(), "descripcion", "descripcion"); // if (!ModelState.IsValid) return View(model); requerimientos re = new requerimientos(); DateTime? fechacumplimientoSolicitud = null; if (model.FechaCumplimientoSolicitud != null) { if (TempData["obra"] != null) { re = _requerimientosManager.Crear(DateTime.Parse(model.FechaSolicitud), DateTime.Parse(model.FechaCumplimientoSolicitud), Convert.ToInt32(TempData["obra"]), obra.Nombre, model.Tipo, model.GerenciaResponsable, model.Tecnicos, model.StatusRequerimientos, model.Descripcion, model.AccionesEjecutadas ); } else { re = _requerimientosManager.Crear(DateTime.Parse(model.FechaSolicitud), DateTime.Parse(model.FechaCumplimientoSolicitud), obranombre.Id, model.Obra, model.Tipo, model.GerenciaResponsable, model.Tecnicos, model.StatusRequerimientos, model.Descripcion, model.AccionesEjecutadas ); } } else { if (TempData["obra"] != null) { re = _requerimientosManager.Crear(DateTime.Parse(model.FechaSolicitud), fechacumplimientoSolicitud, Convert.ToInt32(TempData["obra"]), obra.Nombre, model.Tipo, model.GerenciaResponsable, model.Tecnicos, model.StatusRequerimientos, model.Descripcion, model.AccionesEjecutadas ); } else { re = _requerimientosManager.Crear(DateTime.Parse(model.FechaSolicitud), fechacumplimientoSolicitud, obranombre.Id, model.Obra, model.Tipo, model.GerenciaResponsable, model.Tecnicos, model.StatusRequerimientos, model.Descripcion, model.AccionesEjecutadas ); } } try { HttpPostedFileBase file; for (int i = 0; i < Request.Files.Count; i++) { file = Request.Files[i]; var d = Request.Files.AllKeys[i].ToString(); if (d == "Correo" && file.FileName != "") { Url = CargarPdf(file); _obrasManager.AgregarArchivos(re.Id, Url, "requerimientos", "correo"); } } TempData["FlashSuccess"] = MensajesResource.INFO_Requerimientos_CreadoCorrectamente; if (TempData["obra"] != null) { return(RedirectToAction("Requerimientos", "AdministrarRequerimientos", new { @id = TempData["obra"] })); } else { return(RedirectToAction("Index", "AdministrarRequerimientos")); } } catch (BusinessException businessEx) { ModelState.AddModelError(string.Empty, businessEx.Message); return(View(model)); } catch (Exception e) { var log = CommonManager.BuildMessageLog( TipoMensaje.Error, ControllerContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(), ControllerContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(), e.ToString(), Request); CommonManager.WriteAppLog(log, TipoMensaje.Error); ModelState.AddModelError(string.Empty, e.Message); return(View(model)); } }
public requerimientos Crear(DateTime fechasolicitud, DateTime?fechacumplimientosolicitud, int?obraid, string obra = null, string tipo = null, string gerenciaresponsable = null, string tecnicos = null, string statusrequerimiento = null, string descripcion = null , string accionesejecutadas = null) { //if(obra == null) // { // obra = "null"; // }if(tipo == null) // { // tipo = "null"; // }if(fechasolicitud == null) // { // fechasolicitud = DateTime.Now.ToString(); // } // if (gerenciaresponsable == null) // { // gerenciaresponsable = "null"; // } // if (tecnicos == null){ // tecnicos = "null"; // } // if (statusrequerimiento == null) // { // statusrequerimiento = "null"; // } // if (fechacumplimientosolicitud == null) { // fechacumplimientosolicitud = DateTime.Now.ToString(); // } // if (descripcion == null) // { // descripcion = "null"; // } // if (accionesejecutadas == null) // { // accionesejecutadas = "null"; // } try { var requerimiento = new requerimientos() { Obra = obra, Tipo = tipo, FechaSolicitud = fechasolicitud, GerenciaResponsable = gerenciaresponsable, Tecnicos = tecnicos, StatusRequerimiento = statusrequerimiento, FechaCumplimientoSolicitud = fechacumplimientosolicitud, Descripcion = descripcion, AccionesEjecutadas = accionesejecutadas, obra_id = obraid }; _db.requerimientos.Add(requerimiento); _db.SaveChanges(); return(requerimiento); } catch (Exception e) { throw e; } }