/// <summary> /// Comprueba que no haya otro grupo haciendo alguna práctica incompatible con la actual en el mismo momento /// </summary> /// <param name="oid_clase"></param> /// <param name="fecha"></param> /// <param name="hora"></param> /// <param name="oid_promocion"></param> /// <param name="incompatible"></param> /// <returns></returns> public static bool SesionesSimultaneas(long oid_clase, DateTime fecha, DateTime hora, long oid_promocion, long incompatible) { string query = SELECT_SESIONES_SIMULTANEAS(oid_clase, fecha, hora); int sesion = Sesion.OpenSession(); IDataReader reader = nHManager.Instance.SQLNativeSelect(query, Session(sesion)); while (reader.Read()) { DateTime _fecha = DateTime.Parse(reader["FECHA"].ToString()); DateTime _hora = DateTime.Parse(reader["HORA"].ToString()); long incompatible_reader = (long)reader["INCOMPATIBLE"]; long _oid_promocion = HorarioInfo.Get((long)reader["OID_HORARIO"]).OidPromocion; if (fecha.ToShortDateString() == _fecha.ToShortDateString() && hora.ToShortTimeString() == _hora.ToShortTimeString() && _oid_promocion != oid_promocion && incompatible == incompatible_reader) { return(true); } } CloseSession(sesion); return(false); }
/// <summary> /// Copia los atributos del objeto /// </summary> /// <param name="source">Objeto origen</param> protected void CopyValues(HorarioInfo source, InstructorList instructores, ModuloList modulos) { if (source == null) { return; } Oid = source.Oid; _base.Record.OidPlan = source.OidPlan; _base.Record.OidPromocion = source.OidPromocion; _base.Record.FechaInicial = source.FechaInicial; _base.Record.FechaFinal = source.FechaFinal; _base.Record.Observaciones = source.Observaciones; _lunes = _base.Record.FechaInicial.Day; _martes = _base.Record.FechaInicial.AddDays(1).Day; _miercoles = _base.Record.FechaInicial.AddDays(2).Day; _jueves = _base.Record.FechaInicial.AddDays(3).Day; _viernes = _base.Record.FechaInicial.AddDays(4).Day; _sabado = _base.Record.FechaFinal.Day; PromocionInfo promo = moleQule.Library.Instruction.PromocionInfo.Get(_base.Record.OidPromocion, true); _n_alumnos = promo.Alumnos.Count; _base.Promocion = promo.Nombre; CultureInfo cultura = new CultureInfo("es-ES"); _fecha_titulo = cultura.TextInfo.ToTitleCase(cultura.DateTimeFormat.MonthNames[FechaInicial.Month - 1]) + " de " + FechaInicial.Year.ToString(); }
public HorarioRpt GetHorarioReport(HorarioInfo item, bool alumno, /*bool autorizado,*/ ClaseTeoricaList teoricas, List <ClasePracticaList> practicas, ClaseExtraList extras, InstructorList instructores, ModuloList modulos, ListaSesiones sesiones, bool print_timestamp, DateTime timestamp) { if (item == null) { return(null); } HorarioRpt doc = new HorarioRpt(); if (instructores == null) { instructores = InstructorList.GetList(false); } if (modulos == null) { modulos = ModuloList.GetList(false); } List <HorarioPrint> pList = new List <HorarioPrint>(); pList.Add(item.GetPrintObject(instructores, modulos)); doc.SetDataSource(pList); FormatReport(doc, sesiones, alumno /*, autorizado*/, teoricas, practicas, extras /*, instructores*/); if (print_timestamp) { doc.SetParameterValue("Timestamp", timestamp.ToString("dd/MM/yy HH:mm:ss")); } else { doc.SetParameterValue("Timestamp", string.Empty); } return(doc); }