/*
         * 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());
        }
        public ActionResult RequirementDurationAnalisis(ComplexityModel complejidad)
        {
            TempData.Keep();
            List <RequirementDurationsModel> requirementDurationsInfo = new requerimientosController().GetRequirementDurationsInfo(complejidad.complexity);

            TempData["requirementsDurationInfo"] = requirementDurationsInfo;
            return(View());
        }
        /*
         * Efecto: Request GET de RequirementDurationAnalisis
         * Requiere: NA
         * Modifica: NA
         */
        public ActionResult RequirementDurationAnalisis()
        {
            List <ComplexityModel> complexities = new requerimientosController().GetComplexities();

            TempData["complexities"] = new SelectList(complexities, "complexity", "strComplexity");
            TempData.Keep();
            return(View());
        }
        //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");
        }
Example #5
0
        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 = "" }));
            }
        }
 public ActionResult EmployeeRequirements(empleados empleado)
 {
     TempData["liderDeProyecto"] = null;
     if (empleado.cedulaPK != null)
     {
         TempData["empSelect"]      = new empleadosController().GetEmployee(empleado.cedulaPK);
         TempData["requerimientos"] = new requerimientosController().GetRequirementsByEmployee(empleado.cedulaPK);
         TempData.Keep();
         return(View());
     }
     else
     {
         TempData.Keep();
         return(View());
     }
 }
 public ActionResult EmployeeHistory(empleados employee)
 {
     TempData.Keep();
     if (employee.cedulaPK != null)
     {
         List <EmployeeHistoryModel> employeeHistory = new List <EmployeeHistoryModel>();
         List <roles> employeeRoles = new rolesController().getEmployeeRoles(employee.cedulaPK);
         foreach (roles rol in employeeRoles)
         {
             EmployeeHistoryModel participation = new EmployeeHistoryModel();
             participation.projectName  = new proyectosController().getProjectName(rol.codigoProyectoFK);
             participation.executedRole = rol.rol;
             int?requirementsDays = new requerimientosController().GetRequirementsDays(rol.codigoProyectoFK, rol.cedulaFK);
             if (requirementsDays != null && rol.rol == "Desarrollador")
             {
                 participation.dedicatedHours = (int)requirementsDays * 8;
             }
             employeeHistory.Add(participation);
         }
         TempData["employeeHistory"] = employeeHistory;
     }
     return(View());
 }
 public ActionResult EmployeeRequirements2(proyectos proyecto)
 {
     TempData["empSelect"] = null;
     if (proyecto.codigoPK != 0)
     {
         TempData["proyectoSeleccionado"] = proyecto;
         var lider = new rolesController().getLiderId(proyecto.codigoPK);
         TempData["liderDeProyecto"] = new empleadosController().GetEmployee(lider);
         TempData["requerimientos"]  = new requerimientosController().GetRequirementsByProyect(proyecto.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;
         }
         TempData.Keep();
         return(View());
     }
     else
     {
         TempData.Keep();
         return(RedirectToAction("EmployeeRequirements", "reportes"));
     }
 }