public int CantidadActividadesRutinariasProgramadas(PeriodoProgramacion periodo) { EjecucionActividadesRDAO EjecDAO = new EjecucionActividadesRDAO(); DateTime?FechaLimite = ObtenerFechaLimite(periodo); return(EjecDAO.ObtenerTotalNumRegistros_ActividadesR_Programadas_HastaFechaLimite(FechaLimite)); }
public int CantidadActividadesRutinariasProgramadasPorLocalizacion(LocalizacionS localizacion, PeriodoProgramacion periodo) { EjecucionActividadesRDAO ejecDAO = new EjecucionActividadesRDAO(); DateTime?FechaLimite = ObtenerFechaLimite(periodo); return(ejecDAO.ObtenerTotalNumRegistros_ActividadesRProgramadasPorLocalizacion_HastaFechaLimite(localizacion, FechaLimite)); }
public IEnumerable <ActividadR> ObtenerActividadesRutinariasProgramadas(PeriodoProgramacion periodo, int TamanioPagina, int NumeroPagina) { List <ActividadR> ActividadesRutinarias = new List <ActividadR>(); DateTime? FechaLimite = ObtenerFechaLimite(periodo); EjecucionActividadesRDAO ejecDAO = new EjecucionActividadesRDAO(); List <ActividadR> Actividades = ejecDAO.ObtenerActividadesR_Programadas_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); 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 int EjecutarActividadesRutinarias(string actividadesR, int AUDI_UsuarioEdita) { //Formato de actividadesR = HIAR_Interno;ACRU_Interno;HIAR_FechaEjecutadoAnterior|HIAR_Interno;ACRU_Interno;HIAR_FechaEjecutadoAnterior int result = 0; if (actividadesR != "") { EjecucionActividadesRDAO ejecDAO = new EjecucionActividadesRDAO(); HistorialAR historialAR = null; HistorialAR AuxHistorialAR = null; ActividadR actividadR = null; string[] IDAct = actividadesR.Split('|'); ControlGrupo CG = new ControlGrupo(); foreach (string IDs in IDAct) { string[] ID = IDs.Split(';'); actividadR = new ActividadR(); ActividadRDAO actDAO = new ActividadRDAO(); actividadR.HIAR_Interno = Convert.ToInt32(ID[0]); actividadR.HIAR_FechaEjecutado = DateTime.ParseExact(ID[2], "dd/MM/yyyy", null); //actividadR.HIAR_FechaEjecutado = Convert.ToDateTime(ID[2]); //Ejecutamos la actividad rutinaria int res = ejecDAO.EjecutarActividadesRutinarias(actividadR, AUDI_UsuarioEdita); if (res > 0) { //ahora iniciamos una nueva actividad rutinaria HistorialARDAO histAR_DAO = new HistorialARDAO(); AuxHistorialAR = new HistorialAR();//para datos auxiliares AuxHistorialAR.HIAR_Interno = actividadR.HIAR_Interno; AuxHistorialAR = histAR_DAO.ObtenerHistorialActividadRutinaria(AuxHistorialAR); actividadR.ACRU_Interno = Convert.ToInt32(ID[1]); historialAR = new HistorialAR(); historialAR.HIAR_Interno = null; historialAR.ACRU_Interno = actividadR.ACRU_Interno; //ultima fecha de ejecucion historialAR.HIAR_FechaEjecucionAnterior = actividadR.HIAR_FechaEjecutado; //1)obtenemos las frecuencias de la actividad rutinaria actividadR = actDAO.ObtenerActividadPorId(actividadR); if (actividadR != null) { switch (actividadR.ACRU_UnidadFrecuencia)//calculamos las siguientes fechas { case "M": historialAR.HIAR_SiguienteFecha = historialAR.HIAR_FechaEjecucionAnterior.Value.AddMonths(actividadR.ACRU_Frecuencia); break; case "S": historialAR.HIAR_SiguienteFecha = historialAR.HIAR_FechaEjecucionAnterior.Value.AddDays(actividadR.ACRU_Frecuencia * 7); break; case "D": historialAR.HIAR_SiguienteFecha = historialAR.HIAR_FechaEjecucionAnterior.Value.AddDays(actividadR.ACRU_Frecuencia); break; } historialAR.HIAR_Estado = "I"; if (AuxHistorialAR.EQUI_Interno != null) { historialAR.LOCA_Interno = null; historialAR.EQUI_Interno = AuxHistorialAR.EQUI_Interno; } else { historialAR.EQUI_Interno = null; historialAR.LOCA_Interno = AuxHistorialAR.LOCA_Interno; } res = histAR_DAO.InsertarHistorialAR(historialAR, AUDI_UsuarioEdita, null); if (res > 0) { result++; } else { //corregimos la ejecucion de la actividad---anulamos la ejecucion de la actividad ejecDAO.AnularEjecutarActividadesRutinarias(actividadR, AUDI_UsuarioEdita); } } else { //corregimos la ejecucion de la actividad---anulamos la ejecucion de la actividad ejecDAO.AnularEjecutarActividadesRutinarias(actividadR, AUDI_UsuarioEdita); } } } return(result); } else { return(0); } }