public IEnumerable <ActividadR> ObtenerActividadesProgramablesIniciadas(PeriodoProgramacion periodo, int TamanioPagina, int NumeroPagina)
        {
            List <ActividadR> ActividadesRutinarias = new List <ActividadR>();
            DateTime?         FechaLimite           = ObtenerFechaLimite(periodo);

            ProgramacionActividadesDAO progDAO     = new ProgramacionActividadesDAO();
            List <ActividadR>          Actividades = progDAO.ObtenerActividadesR_Iniciadas_HastaFechaLimite(TamanioPagina, NumeroPagina, FechaLimite);

            foreach (ActividadR objActividad in Actividades)
            {
                //Obtenemos el nombre del equipo/inmueble
                if (objActividad.EQUI_Interno != null)
                {
                    Equipo    equipo    = new Equipo();
                    EquipoDAO equipoDAO = new EquipoDAO();
                    equipo.EQUI_Interno = objActividad.EQUI_Interno;
                    equipo = equipoDAO.ObtenerEquipoPorID(equipo);
                    //System.Windows.Forms.MessageBox.Show(equipo.EQUI_Descripcion);


                    if (equipo == null)
                    {
                        continue;
                    }

                    objActividad.EQUI_Descripcion = equipo.EQUI_Descripcion;

                    //obtenemos la localizacion actual del equipo
                    LocalizacionEquipo localEquipo = equipoDAO.ObtenerUltimaLocalizacionEquipo(equipo);
                    if (localEquipo != null)//si no pongo esto no funciona
                    {
                        objActividad.EQUI_LocalizacionExtendida = localEquipo.LOCA_NombreExtendido;
                    }
                    else
                    {
                        objActividad.EQUI_LocalizacionExtendida = null;
                    }
                }
                if (objActividad.LOCA_Interno != null)
                {
                    LocalizacionS    localizacions = new LocalizacionS();
                    LocalizacionSDAO locasDAO      = new LocalizacionSDAO();
                    localizacions.LOCA_Interno = objActividad.LOCA_Interno;
                    localizacions = locasDAO.ObtenerLocalizacion(localizacions);
                    objActividad.LOCA_NombreExtendido = localizacions.LOCA_NombreExtendido;
                }
                //calculamos los dias de retrazo
                if (objActividad.HIAR_FechaProgramado == null)
                {
                    objActividad.HIAR_Retrazo = (DateTime.Now - objActividad.HIAR_SiguienteFecha.Value).Days;
                }
                else
                {
                    objActividad.HIAR_Retrazo = (DateTime.Now - objActividad.HIAR_FechaProgramado.Value).Days;
                }
                ActividadesRutinarias.Add(objActividad);
            }
            return(ActividadesRutinarias);
        }
        public IEnumerable <ActividadR> ObtenerHistActividadesRutinariasEjecutadas(int TamanioPagina, int NumeroPagina, DateTime FechaInicio, DateTime FechaFin)
        {
            List <ActividadR> ActividadesRutinarias = new List <ActividadR>();
            HistorialARDAO    HistDAO     = new HistorialARDAO();
            List <ActividadR> Actividades = HistDAO.ObtenerActividadesR_Ejecutas_EntreFechas(TamanioPagina, NumeroPagina, FechaInicio, FechaFin);


            foreach (ActividadR objActividad in Actividades)
            {
                //Obtenemos el nombre del equipo/inmueble
                if (objActividad.EQUI_Interno != null)
                {
                    Equipo    equipo    = new Equipo();
                    EquipoDAO equipoDAO = new EquipoDAO();
                    equipo.EQUI_Interno = objActividad.EQUI_Interno;
                    equipo = equipoDAO.ObtenerEquipoPorID(equipo);
                    objActividad.EQUI_Descripcion = equipo.EQUI_Descripcion;
                    //obtenemos la localizacion actual del equipo
                    LocalizacionEquipo localEquipo = equipoDAO.ObtenerUltimaLocalizacionEquipo(equipo);
                    if (localEquipo != null)//si no pongo esto no funciona
                    {
                        objActividad.EQUI_LocalizacionExtendida = localEquipo.LOCA_NombreExtendido;
                    }
                    else
                    {
                        objActividad.EQUI_LocalizacionExtendida = null;
                    }
                }
                if (objActividad.LOCA_Interno != null)
                {
                    LocalizacionS    localizacions = new LocalizacionS();
                    LocalizacionSDAO locasDAO      = new LocalizacionSDAO();
                    localizacions.LOCA_Interno = objActividad.LOCA_Interno;
                    localizacions = locasDAO.ObtenerLocalizacion(localizacions);
                    objActividad.LOCA_NombreExtendido = localizacions.LOCA_NombreExtendido;
                }
                //calculamos los dias de retrazo que hubo
                if (!(objActividad.HIAR_FechaEjecutado == null || objActividad.HIAR_FechaProgramado == null))
                {
                    objActividad.HIAR_Retrazo = (objActividad.HIAR_FechaEjecutado.Value - objActividad.HIAR_FechaProgramado.Value).Days;
                }

                ActividadesRutinarias.Add(objActividad);
            }


            return(ActividadesRutinarias);
        }