public int ProgramarActividadesRutinarias(string actividadesR, int AUDI_UsuarioEdita) { //Formato de actividadesR = HIAR_Interno|HIAR_Interno|HIAR_Interno int result = 0; if (actividadesR != "") { ProgramacionActividadesDAO progDAO = new ProgramacionActividadesDAO(); HistorialAR historialAR = null; string[] IDAct = actividadesR.Split('|'); ControlGrupo CG = new ControlGrupo(); foreach (string IDs in IDAct) { historialAR = new HistorialAR(); ActividadRDAO actDAO = new ActividadRDAO(); historialAR.HIAR_Interno = Convert.ToInt32(IDs); //para el numero de la semana DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; Calendar cal = dfi.Calendar; int anio = DateTime.Now.Year; // System.Windows.Forms.MessageBox.Show(anio.ToString()); int NumSemana = cal.GetWeekOfYear(DateTime.Now.Date, dfi.CalendarWeekRule, dfi.FirstDayOfWeek); //System.Windows.Forms.MessageBox.Show(NumSemana.ToString()); //Obtenemos el Id de la semana de programacion ProgramaSemanal programa = new ProgramaSemanal(); programa.PERI_NumSemana = NumSemana; programa.PERI_Anio = anio; ProgramaDAO progSemDAO = new ProgramaDAO(); int IDprog = progSemDAO.ObtenerIDProgramaSemanal(programa); if (IDprog > 0) { historialAR.PERI_Interno = IDprog; } else { IDprog = progSemDAO.InsertarProgramaSemanal(programa); if (IDprog > 0) { historialAR.PERI_Interno = IDprog; } } //programamos la actividad rutinaria int res = progDAO.ProgramarActividadesRutinarias(historialAR, AUDI_UsuarioEdita); if (res > 0) { result++; } } return(result); } else { return(0); } }
public int EditarFechasProgramadasActividadesRutinarias(string fechasSiguientes, int AUDI_UsuarioEdita) { //formato de 'fechasSiguientes': 143;03/10/2013|139;03/10/2013|131;09/10/2013|127;09/10/2013 int result = 0; if (fechasSiguientes != "") { ProgramacionActividadesDAO progDAO = new ProgramacionActividadesDAO(); HistorialAR historialAR = null; string[] IDs_Con_fechas = fechasSiguientes.Split('|'); ControlGrupo CG = new ControlGrupo(); foreach (string IDs_Fechas in IDs_Con_fechas) { historialAR = new HistorialAR(); string[] fecha = IDs_Fechas.Split(';'); historialAR.HIAR_Interno = Convert.ToInt32(fecha[0]); //historialAR.HIAR_FechaProgramado = Convert.ToDateTime(fecha[1]); historialAR.HIAR_FechaProgramado = DateTime.ParseExact(fecha[1], "dd/MM/yyyy", null); int res = progDAO.EditarFechasProgramadasActividadesRutinarias(historialAR, AUDI_UsuarioEdita); if (res > 0) { result++; } } return(result); } else { return(0); } }
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); } }