//Esta método es llamado para desplegar el dropdown de selección del proyecto al cual se le quiere consultar sus módulos public ActionResult Index() { var user = User.Identity.GetUserName(); var emple = new empleadosController().ExistEmail(user); var clien = new clientesController().ExistEmail(user); if (emple.Count() > 0) //es empleado { //Se obtiene la cedula del empleado var cedula = emple[0].cedulaPK; //se buscan los proyectos donde participa el empleado con la cedula var proyectos = new proyectosController().ProyectsByEmployee(cedula); TempData["proyectos"] = proyectos; TempData.Keep(); return(View()); } else if (clien.Count() > 0) // es cliente { //Se obtiene la cedula del cliente var cedula = clien[0].cedulaPK; // buscamos un proyecto asignado al cliente pero ahora segun su cedula var proyectos = new proyectosController().ProyectsByClient(cedula); TempData["proyectos"] = proyectos; TempData.Keep(); return(View()); } else //es jefe de desarrollo o soporte { List <proyectos> proyectos = new proyectosController().Pass(); TempData["proyectos"] = proyectos; TempData.Keep(); return(View()); } }
/* * Efecto: Request GET de cuentaDeRequerimientos * Requiere: NA * Modifica: NA */ public ActionResult cuentaDeRequerimientos() { var user = User.Identity.GetUserName(); var client = new clientesController().ExistEmail(user); if (client.Count() > 0) { TempData["clientId"] = client[0].cedulaPK; List <proyectos> proyectos = new proyectosController().ProyectsByClient(client[0].cedulaPK); TempData["projects"] = new SelectList(proyectos, "codigoPK", "nombre"); TempData.Keep(); } return(View()); }
// GET: requerimientos //Esta método es llamado para desplegar el dropdown de selección del proyecto y módulo al cual se le quiere consultar sus requerimientos public ActionResult Index() { var user = User.Identity.GetUserName(); var emple = new empleadosController().ExistEmail(user); var clien = new clientesController().ExistEmail(user); if (emple.Count() > 0) //es empleado { var cedula = emple[0].cedulaPK; //se buscan los proyectos donde participa el empleado con la cedula var proyectos = new proyectosController().ProyectsByEmployee(cedula); ViewBag.ProyectList = new SelectList(proyectos, "codigoPK", "nombre"); TempData["proyectos"] = proyectos; TempData.Keep(); return(View()); } else if (clien.Count() > 0) // es cliente { //Se obtiene la cedula del cliente var cedula = clien[0].cedulaPK; // buscamos un proyecto asignado al cliente pero ahora segun su cedula var proyectos = new proyectosController().ProyectsByClient(cedula); ViewBag.ProyectList = new SelectList(proyectos, "codigoPK", "nombre"); TempData["proyectos"] = proyectos; TempData.Keep(); return(View()); } else //es jefe de desarrollo o soporte { List <proyectos> proyectos = new proyectosController().Pass(); ViewBag.ProyectList = new SelectList(proyectos, "codigoPK", "nombre"); TempData["proyectos"] = proyectos; TempData.Keep(); return(View()); } /* * * List<proyectos> proyectos = new proyectosController().Pass(); //se comunica con el controlador de proyectos para que le la lista de proyectos * ViewBag.ProyectList = new SelectList(proyectos, "codigoPK", "nombre"); //contiene la lista de proyectos * TempData["proyectos"] = proyectos; //se almacena en esa variable de datos temporales el proyecto seleccionado * TempData.Keep();//se le pide mantener esos datos temporales * return View(); //se envía a la vista*/ }
public ActionResult Index() { /*Para relacionar la persona loggeada con su respectiva instancia en la bd, * con esto sabemos a que Rol pertenece * y facilitamos el acceso correspondiente con los condicionales de abajo */ var user = User.Identity.GetUserName(); var emple = new empleadosController().ExistEmail(user); var clien = new clientesController().ExistEmail(user); if (emple.Count() > 0) //es empleado { //Se obtiene la cedula del empleado var cedula = emple[0].cedulaPK; //se buscan los proyectos donde participa el empleado con la cedula var proyectos = (from d in db.proyectos join f in db.roles on d.codigoPK equals f.codigoProyectoFK where f.cedulaFK == cedula select d).ToList(); return(View(proyectos.ToList())); } else if (clien.Count() > 0) // es cliente { //Obtenemos al cliente segun el username dela bd clientes var existe = db.clientes.Where(w => w.correo == user); // buscamos un proyecto asignado al cliente pero ahora segun su cedula var proyectos = db.proyectos.Where(p => existe.Any(w => w.cedulaPK == p.cedulaClienteFK)); //var proyectos = db.proyectos.Include(p => p.clientes).Where(p => p.cedulaClienteFK == clien[0].cedulaPK); //var proyectos = db.proyectos.Include(p => p.clientes); return(View(proyectos.ToList())); } else //es jefe de desarrollo o soporte { var proyectos = db.proyectos.Include(p => p.clientes); return(View(proyectos.ToList())); } }
public ActionResult Index() { var user = User.Identity.GetUserName(); var emple = new empleadosController().ExistEmail(user); var clien = new clientesController().ExistEmail(user); if (emple.Count() > 0) //es empleado, mostrar los reportes disponibles para los lideres { //obteniendo la cedula del empleado var cedula = emple[0].cedulaPK; List <StringModel> reportes = new List <StringModel>(); reportes.Add(new StringModel { Nombre = "Requerimientos de desarrollador" }); reportes.Add(new StringModel { Nombre = "Estado requerimientos de desarrollador" }); reportes.Add(new StringModel { Nombre = "Tiempos totales por proyecto" }); reportes.Add(new StringModel { Nombre = "Disponibilidad de desarrolladores" }); TempData["reportes"] = reportes; TempData.Keep(); // ajustar para mostrar solo los correpondientes } else if (clien.Count() > 0) //es cliente, mostrar los reportes disponibles para los clientes { List <StringModel> reportes = new List <StringModel>(); reportes.Add(new StringModel { Nombre = "Requerimientos de desarrollador" }); reportes.Add(new StringModel { Nombre = "Disponibilidad de desarrolladores" }); reportes.Add(new StringModel { Nombre = "Estado y responsable de requerimientos de proyecto" }); reportes.Add(new StringModel { Nombre = "Cuenta de Requerimientos Finalizados y En Curso" }); TempData["reportes"] = reportes; TempData.Keep(); } else // es de soporte o el jefe de desarrollo, desplegar todos los reportes { List <StringModel> reportes = new List <StringModel>(); reportes.Add(new StringModel { Nombre = "Requerimientos de desarrollador" }); reportes.Add(new StringModel { Nombre = "Información sobre conocimientos" }); reportes.Add(new StringModel { Nombre = "Disponibilidad de empleados entre fechas" }); reportes.Add(new StringModel { Nombre = "Estado requerimientos de desarrollador" }); reportes.Add(new StringModel { Nombre = "Tiempos totales por proyecto" }); reportes.Add(new StringModel { Nombre = "Disponibilidad de desarrolladores" }); reportes.Add(new StringModel { Nombre = "Historial de desarrollador" }); reportes.Add(new StringModel { Nombre = "Análisis de duraciones en requerimientos" }); reportes.Add(new StringModel { Nombre = "Diferencia entre fecha estimada y real" }); TempData["reportes"] = reportes; TempData.Keep(); } return(RedirectToAction("SelectReport", "reportes")); }