public ActionResult Index(proyectos proyectito, modulos modulito) { //Aquí solo selecciona los requerimientos relacionados con el proyecto y módulo que el usuario escogio if (proyectito.codigoPK != 0 && modulito.idPK != 0) //si los parámetros no son igual a 0 { TempData["proyecto"] = proyectito.codigoPK; //se obtiene el código del proyecto TempData["nombreProyecto"] = new proyectosController().ProjectByCode(int.Parse(TempData["proyecto"].ToString())).nombre; //se obtiene el nombre a partir del código anterior TempData["modulos"] = modulito.idPK; //se obtiene el código del módulo try {//se comunica con el controlador de módulos para que le pase los nombres de módulos asociados con el proyecto y código de módulo seleccioando TempData["nombreModulo"] = new modulosController().ModByCode(int.Parse(TempData["proyecto"].ToString()), int.Parse(TempData["modulos"].ToString())).nombre; } catch (NullReferenceException) { TempData.Keep(); //se le solicita mantener los datos nuevamente return(RedirectToAction("Index", "requerimientos")); //si ocurre error se redirige a página de selección } TempData.Keep(); //se le solicita mantener los datos nuevamente return(RedirectToAction("Lista", "requerimientos")); //se redirecciona a la vista del listado de requerimientos } else //si los parámetros son igual a 0 { return(View()); //se recarga la vista } }
//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()); } }
//[Authorize(Roles = "Soporte, JefeDesarrollo,Lider")] //método para obtener los empleados asignados y disponibles public ActionResult DisponibilidadEmpleados() { //limpio los datos para asegurarme que no hayan datos que no correspondan TempData["empDisponibles"] = null; TempData["empOcupados"] = null; TempData["pryActual"] = null; var user = User.Identity.GetUserName(); //obteniendo la identidad del empleado var emple = new empleadosController().ExistEmail(user); /*si el usuario es empleado, mostrar de una vez su vista*/ if (emple.Count() > 0) //es empleado { var cedula = emple[0].cedulaPK; bool esLider = new rolesController().idLiderNow(cedula); if (esLider == true) //si es líder de algun proyecto puedo mostrar lo que corresponde a su proyecto, de lo contrario vista en blanco { TempData["empDisponibles"] = new empleadosController().GetFreeEmployees(); //empleados disponibles var proy = new proyectosController().GetLiderProyectoActual(cedula); //obtenego de cual proyecto soy lider TempData["empOcupados"] = new empleadosController().GetEmployeeBusyProject(cedula, proy[0].codigoPK); //obtengo los empleados ocupados en mi proyecto TempData.Keep(); } } else { //es jefe de desarrollo/soporte , puedo mostrar todos los datos sin restricción TempData["empDisponibles"] = new empleadosController().GetFreeEmployees(); //obtengo los empleados libres TempData["empOcupados"] = new empleadosController().GetEmployeeBusyProject(null, 0); //obtengo los empleados ocupados TempData.Keep(); //hago que conserve los datos } //regreso la vista return(View()); }
//EFE: trae los datos necesarios para equipos y llama el metodo para seleccionar el proyecto //REQ: //MOD: crea variables temporales para guardar los empleados libres, los proyectos y la lista de conocimientos public ActionResult Index() { var user = User.Identity.GetUserName(); var emple = new empleadosController().ExistEmail(user); if (emple.Count() > 0) //es empleado { var cedula = emple[0].cedulaPK; List <proyectos> proyectos = new proyectosController().GetLidetedProyects(cedula); List <string> conocimientos = new conocimientosController().PassKnowledge(); TempData["proyectos"] = proyectos; TempData["conocimientos"] = conocimientos; TempData.Keep(); return(RedirectToAction("SelectProject", "equipos")); } else { List <proyectos> proyectos = new proyectosController().Pass(); List <string> conocimientos = new conocimientosController().PassKnowledge(); TempData["proyectos"] = proyectos; TempData["conocimientos"] = conocimientos; TempData.Keep(); return(RedirectToAction("SelectProject", "equipos")); } }
/* * EFE: verifica si el usuario es desarrollaro o jefe de desarrollo y le presenta los datos de los proyectos correspondientes * REQ: NA * MOD: busca el nombre del proyecto y lo agrega */ public ActionResult TotalTimes() { TempData["usuarioEsJefe"] = null; TempData["proyectos"] = null; var user = User.Identity.GetUserName(); var emple = new empleadosController().ExistEmail(user); /*si el usuario es empleado, mostrar de una vez su vista*/ if (emple.Count() > 0) //es empleado { //obteniendo la cedula del empleado var cedula = emple[0].cedulaPK; bool liderNow = new rolesController().idLiderNow(cedula); if (liderNow == true) { TempData["proyectos"] = new requerimientosController().GetTotalTimes(cedula); foreach (var item in (TempData["proyectos"] as IEnumerable <ProyectoIntegrador_mejorado.Models.ProyectTimesModel>)) { var proyecto = new proyectosController().ProjectByCode(item.codigoProy); if (proyecto.fechaFinal != null) { item.terminado = true; } else { item.terminado = false; } item.nombreProyecto = proyecto.nombre; } TempData.Keep(); } } else // es de soporte o el jefe de desarrollo { TempData["usuarioEsJefe"] = "si"; TempData["proyectos"] = new requerimientosController().GetTotalTimes(null); foreach (var item in (TempData["proyectos"] as IEnumerable <ProyectoIntegrador_mejorado.Models.ProyectTimesModel>)) { var proyecto = new proyectosController().ProjectByCode(item.codigoProy); var liderId = new rolesController().getLiderId(item.codigoProy); var lider = new empleadosController().GetEmployee(liderId); if (proyecto.fechaFinal != null) { item.terminado = true; } else { item.terminado = false; } item.nombreProyecto = proyecto.nombre; if (lider != null) { item.lider = lider.nombre + " " + lider.apellido1 + " " + lider.apellido2; } } TempData.Keep(); } return(View()); }
//Este método es utilizado en el dropdown en cascada de selección de proyecto y módulo public ActionResult GetProyList(string ced) { List <proyectos> proy = new proyectosController().ProyectsByEmployee(ced); //se comunica con el controlador de módulos para que pase el listado de módulos de acuerdo al proyecto ViewBag.Projects = new SelectList(proy, "codigoPK", "nombre"); //ese listado se guarda en esta "vista" TempData.Keep(); //se le solicita mantener los datos nuevamente //return View(); return(PartialView("ProjectsPartial")); }
//EFE: redirige a la vista del reporte de estado de requerimientos para un desarrollador //REQ: NA //MOD: NA public ActionResult EmployeeRequirements() { TempData["requerimientos"] = null; TempData["empSelect"] = null; TempData["proyecto"] = null; var user = User.Identity.GetUserName(); var emple = new empleadosController().ExistEmail(user); if (emple.Count() > 0) { bool liderNow = new rolesController().idLiderNow(emple[0].cedulaPK); if (liderNow == true) { /*si el usuario es empleado y lider, mostrar de una vez su vista*/ TempData["rol"] = "lider"; var actualProyect = new rolesController().ProyectoLiderNow(emple[0].cedulaPK); TempData["proyecto"] = actualProyect; TempData["requerimientos"] = new requerimientosController().GetRequirementsByProyect(actualProyect.codigoPK); foreach (var item in TempData["requerimientos"] as List <ProyectoIntegrador_mejorado.Models.requerimientos> ) { var empleado = new empleadosController().GetEmployee(item.cedulaEmpleadoFK); item.descripcion = empleado.nombre + " " + empleado.apellido1 + " " + empleado.apellido2; } } else { /*si el usuario es empleado y no lider, mostrar de una vez su vista*/ TempData["rol"] = "desarrollador"; var requirementList = new requerimientosController().GetRequirementsByEmployee(emple[0].cedulaPK); if (requirementList != null) { var actualProyect = new proyectosController().getProjectName(requirementList[0].codigoProyectoFK); TempData["proyecto"] = actualProyect; } TempData["requerimientos"] = requirementList; } TempData.Keep(); return(View()); } else { /*si es jefe de desarrollo o soporte*/ TempData["rol"] = "boss"; TempData["empleados"] = new empleadosController().Pass(); List <proyectos> proyectos = new proyectosController().Pass(); TempData["proyectos"] = proyectos; TempData.Keep(); return(View()); } //return RedirectToAction("SelectReport", "reportes"); }
/* * Efecto: Request GET de requerimientosDesarrollador * Requiere: NA * Modifica: NA */ public ActionResult requerimientosDesarrollador() { List <proyectos> proyectos = new proyectosController().Pass(); List <empleados> empleados = new empleadosController().Pass(); //ViewBag.proyectos = new SelectList(proyectos, "codigoPK", "nombre"); //ViewBag.empleados = new SelectList(empleados, "cedulaPK", "nombre"); TempData["proyectos"] = new SelectList(proyectos, "codigoPK", "nombre"); TempData["empleados"] = new SelectList(empleados, "cedulaPK", "nombre"); TempData.Keep(); return(View()); }
public ActionResult SetFree(int codigo, string cedula) { /*sacamos la cedula del string*/ int counter = cedula.Length; string id = ""; int i = 0; int counter2 = 1; bool fin = false; while (i < counter && fin == false) { if (cedula[i] == '0' || cedula[i] == '1' || cedula[i] == '2' || cedula[i] == '3' || cedula[i] == '4' || cedula[i] == '5' || cedula[i] == '6' || cedula[i] == '7' || cedula[i] == '8' || cedula[i] == '9') { id = id + cedula[i]; if (counter2 == 9) { fin = true; } else { counter2++; } } i++; } /*se verifica que no tenga requerimientos asignados*/ bool has = new requerimientosController().ExistEmployee(id); bool end = new proyectosController().Ended(codigo); if (has == false && end == false) { /*se le quita el rol al empleado*/ new rolesController().EraseRol(codigo, id); } /*recargamos la vista de la lista actualizada*/ string knowledge = TempData["temp"] as string; if (knowledge != "") { TempData.Keep(); return(RedirectToAction("Lista", "equipos", new { conocimientoPK = knowledge, algo = "" })); } else { TempData.Keep(); return(RedirectToAction("Lista", "equipos", new { conocimientoPK = "todos", algo = "" })); } }
/* * 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()); }
public ActionResult Index(proyectos proyectito) { //Aquí se seleccionan solo los módulos relacionados con el proyecto que el usuario previamente seleccionó if (proyectito.codigoPK != 0) //si el cóidgo de proyecto es diferente de 0 { TempData["proyecto"] = proyectito.codigoPK; //aquí se obtiene el código del proyecto //Aquí se llama al controlador de proyectos, para que devuelva el nombre del proyecto cuyo código es el que se obtuvo en la línea anterior TempData["nombreProyecto"] = new proyectosController().ProjectByCode(int.Parse(TempData["proyecto"].ToString())).nombre; TempData.Keep(); //hacemos que mantenga los datos temporales return(RedirectToAction("Lista", "modulos")); //se redirecciona a la pagina de que lista los módulos } else { return(View()); //si el código del proyecto es 0, se vuelve a la página de selección de proyecto } }
public ActionResult SelectProject(proyectos proyectito) { //TempData["proyecto"] = proyectito.codigoPK; if (proyectito.codigoPK != 0) { string know = "----------"; TempData["proyecto"] = proyectito.codigoPK; TempData["nombreProyecto"] = new proyectosController().ProjectByCode(int.Parse(TempData["proyecto"].ToString())).nombre; TempData.Keep(); return(RedirectToAction("Lista", "equipos", new { conocimientoPK = know, a = "" })); } else { 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*/ }
//EFE: trae la lista de empleados filtrados por conocimiento y por proyecto y regresa la vista de los mismos //REQ: debe exitir al menos un proyecto //MOD: crea variables temporales para guardar la lista de empleados filtrados por conocimiento y por proyecto public ActionResult Lista(string conocimientoPK, string a) { bool ended = false; TempData["end"] = "no"; TempData["temp"] = conocimientoPK; if (conocimientoPK != "todos") { List <empleados> employeesList = new empleadosController().GetEmployeeByKnowledge(conocimientoPK); TempData["empleadosK"] = employeesList; } else { if (TempData["proyecto"] != null) { ended = new proyectosController().Ended(int.Parse(TempData["proyecto"].ToString())); if (ended == true) { TempData["end"] = "si"; } List <empleados> employeesFree = new empleadosController().GetFreeEmployeesNotInProyect(int.Parse(TempData["proyecto"].ToString())); TempData["empleados"] = employeesFree; TempData.Keep(); return(View()); } else { ViewBag.know = "----------"; TempData.Keep(); return(RedirectToAction("Index", "equipos")); } } ViewBag.know = conocimientoPK; if (TempData["proyecto"] != null) { ended = new proyectosController().Ended(int.Parse(TempData["proyecto"].ToString())); if (ended == true) { TempData["end"] = "si"; } List <empleados> employeesFree = new empleadosController().GetFreeEmployeesNotInProyect(int.Parse(TempData["proyecto"].ToString())); TempData["empleados"] = employeesFree; List <empleados> employeesList2 = new empleadosController().GetEmployeeByProyect(int.Parse(TempData["proyecto"].ToString())); TempData["empleadosP"] = employeesList2; string liderID = new rolesController().getLiderId(int.Parse(TempData["proyecto"].ToString())); empleados lider = new empleadosController().GetEmployee(liderID); TempData["lider"] = lider; TempData.Keep(); return(View()); } else { TempData.Keep(); return(RedirectToAction("Index", "equipos")); } }