Exemplo n.º 1
0
        /// <summary>
        /// Lista los planes de trabajos con su correspondiente actividades que tiene una empresa
        /// </summary>
        /// <param name="id">Recibe el id del plan de trabajo a buscar </param>
        /// <returns>Retorna el viewmodel PlandetrabajoActividadesViewModel </returns>
        // GET: PlandeTrabajo/Details/5
        public ActionResult Detalles(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var plantrabajo        = db.Tb_PlandeTrabajo.Find(id);
            var actividadesEmpresa = db.Tb_ActiCumplimiento.Where(c => c.Empr_Nit == AccountData.NitEmpresa).ToList();
            List <ActiCumplimiento> actiCumplimientoSinAsignar = new List <ActiCumplimiento>();
            List <ActividadesAsignadasPlanDeTrabajoViewModel> actiCumplimientoAsignados = new List <ActividadesAsignadasPlanDeTrabajoViewModel>();

            foreach (var item in actividadesEmpresa)
            {
                var useractividadpt = db.Tb_UsersPlandeTrabajo.Where(c => c.Acum_Id == item.Acum_Id).ToList();
                if (useractividadpt.Count <= 0)
                {
                    actiCumplimientoSinAsignar.Add(item);
                }
                else
                {
                    var cumplimientoPlanDetrabajo = db.Tb_UsersPlandeTrabajo.Where(c => c.Plat_Id == id && c.Acum_Id == item.Acum_Id).ToList();
                    if (cumplimientoPlanDetrabajo.Count > 0)
                    {
                        var user   = db.Tb_UsersPlandeTrabajo.First(c => c.Acum_Id == item.Acum_Id);
                        var nombre = db.Users.Find(user.Id);

                        ActividadesAsignadasPlanDeTrabajoViewModel temp = new ActividadesAsignadasPlanDeTrabajoViewModel
                        {
                            IdUserPlanDeTrabajoActividad = user.Uspl_Id,
                            NombreUser              = nombre.Pers_Nom1 + " " + nombre.Pers_Apel1,
                            IdPlantTrabajo          = plantrabajo.Plat_Id,
                            IdActiCumplimiento      = item.Acum_Id,
                            DescripcionCumplimiento = item.Acum_Desc,
                            NombrePlanTrabajo       = plantrabajo.Plat_Nom
                        };
                        actiCumplimientoAsignados.Add(temp);
                    }
                }
            }
            PlandetrabajoActividadesViewModel plandetrabajoActividades = new PlandetrabajoActividadesViewModel
            {
                NombrePlanTrabajo = plantrabajo.Plat_Nom,
                IdPlantTrabajo    = plantrabajo.Plat_Id,
                FechaInicio       = plantrabajo.FechaInicio,
                FechaFin          = plantrabajo.FechaFin
            };

            ViewBag.actividadesAsignadas = actiCumplimientoAsignados;
            return(View(plandetrabajoActividades));
        }
Exemplo n.º 2
0
        /// <summary>
        /// lista y pagina las actividades que tiene un plan de trabajo dependiendo de la pagina
        /// </summary>
        /// <param name="IdPlantTrabajo">recibe el id del plan de trabajo</param>
        /// <param name="pagina">recibe la pagina actual en la que se esta paginando</param>
        /// <returns>retorna un objeto de tipo paginadorcustomer que contiene la paginacion y el objeto a paginar</returns>
        public ActionResult Actividadesplantra(int IdPlantTrabajo, int pagina = 1)
        {
            var plantrabajo = db.Tb_PlandeTrabajo.Find(IdPlantTrabajo);

            ViewBag.users = new SelectList(db.Users.Where(c => c.Empr_Nit == AccountData.NitEmpresa), "Id", "Pers_Nom1");
            var actividadesEmpresa = db.Tb_ActiCumplimiento.Where(c => c.Empr_Nit == AccountData.NitEmpresa).ToList();
            List <ActiCumplimiento> actiCumplimientoSinAsignar = new List <ActiCumplimiento>();
            List <ActividadesAsignadasPlanDeTrabajoViewModel> actiCumplimientoAsignados = new List <ActividadesAsignadasPlanDeTrabajoViewModel>();

            foreach (var item in actividadesEmpresa)
            {
                var useractividadpt = db.Tb_UsersPlandeTrabajo.Where(c => c.Acum_Id == item.Acum_Id).ToList();
                if (useractividadpt.Count <= 0)
                {
                    actiCumplimientoSinAsignar.Add(item);
                }
                else
                {
                    var cumplimientoPlanDetrabajo = db.Tb_UsersPlandeTrabajo.Where(c => c.Plat_Id == IdPlantTrabajo && c.Acum_Id == item.Acum_Id).ToList();
                    if (cumplimientoPlanDetrabajo.Count > 0)
                    {
                        var user   = db.Tb_UsersPlandeTrabajo.First(c => c.Acum_Id == item.Acum_Id);
                        var nombre = db.Users.Find(user.Id);

                        ActividadesAsignadasPlanDeTrabajoViewModel temp = new ActividadesAsignadasPlanDeTrabajoViewModel
                        {
                            IdUserPlanDeTrabajoActividad = user.Uspl_Id,
                            NombreUser              = nombre.Pers_Nom1 + " " + nombre.Pers_Apel1,
                            IdPlantTrabajo          = plantrabajo.Plat_Id,
                            IdActiCumplimiento      = item.Acum_Id,
                            DescripcionCumplimiento = item.Acum_Desc,
                            NombrePlanTrabajo       = plantrabajo.Plat_Nom
                        };
                        actiCumplimientoAsignados.Add(temp);
                    }
                }
            }
            ViewBag.actividades = new SelectList(actiCumplimientoSinAsignar, "Acum_Id", "Acum_Desc");
            PlandetrabajoActividadesViewModel plandetrabajoActividades = new PlandetrabajoActividadesViewModel
            {
                NombrePlanTrabajo = plantrabajo.Plat_Nom,
                IdPlantTrabajo    = plantrabajo.Plat_Id
            };
            int _TotalRegistros = 0;

            _TotalRegistros           = actiCumplimientoAsignados.Count();
            actiCumplimientoAsignados = actiCumplimientoAsignados.Skip((pagina - 1) * _RegistrosPorPaginaActividades)
                                        .Take(_RegistrosPorPaginaActividades)
                                        .ToList();
            int _TotalPaginas = (int)Math.Ceiling((double)_TotalRegistros / _RegistrosPorPaginaActividades);

            _PaginadorCustomersActividades = new PaginadorGenerico <ActividadesAsignadasPlanDeTrabajoViewModel>()
            {
                RegistrosPorPagina = _RegistrosPorPaginaActividades,
                TotalRegistros     = _TotalRegistros,
                TotalPaginas       = _TotalPaginas,
                PaginaActual       = pagina,
                Resultado          = actiCumplimientoAsignados
            };

            ViewBag.actividadesAsignadas = _PaginadorCustomersActividades;
            return(View(plandetrabajoActividades));
        }