/// <summary> /// Copia los atributos del objeto /// </summary> /// <param name="source">Objeto origen</param> protected void CopyValues(SesionCronogramaInfo source, ModuloList modulos, ClaseTeoricaList teoricas, ClasePracticaList practicas) { if (source == null) { return; } Oid = source.Oid; _base.Record.OidCronograma = source.OidCronograma; _base.Record.OidClaseTeorica = source.OidClaseTeorica; _base.Record.OidClasePractica = source.OidClasePractica; _base.Record.Semana = source.Semana; _base.Record.Dia = source.Dia; _base.Record.Turno = source.Turno; _base.Record.Numero = source.Numero; _base.Record.Texto = source.Texto; _base.Clase = source.Clase; _base.Modulo = source.Modulo; _base.Record.Fecha = source.Fecha; _base.Record.Hora = source.Hora; _base.Duracion = source.Duracion; long oid_modulo = 0; if (source.OidClaseTeorica > 0) { ClaseTeoricaInfo teorica = teoricas.GetItem(source.OidClaseTeorica); if (teorica != null) { oid_modulo = teorica.OidModulo; } } if (source.OidClasePractica > 0) { ClasePracticaInfo practica = practicas.GetItem(source.OidClasePractica); if (practica != null) { oid_modulo = practica.OidModulo; } } if (oid_modulo > 0) { ModuloInfo modulo = modulos.GetItem(oid_modulo); if (modulo != null) { _base.Modulo = modulo.NumeroModulo + " " + modulo.Texto; } } //if (_base.Record.OidClaseTeorica != 0) // _base.Duracion = "1"; //else // _base.Duracion = "5"; }
public static List <ListaSesiones> CargaSesionesProfesores(DateTime fecha, long oid_promocion) { HorarioList horarios = HorarioList.GetList(false); ClasePracticaList practicas = ClasePracticaList.GetList(); if (horarios != null) { List <ListaSesiones> lista = new List <ListaSesiones>(); foreach (HorarioInfo info in horarios) { if (info.FechaInicial.ToShortDateString() == fecha.ToShortDateString() && info.OidPromocion != oid_promocion) { ListaSesiones list = new ListaSesiones(fecha); Horario item = Horario.Get(info.Oid); foreach (Sesion ses in item.Sesions) { foreach (SesionAuxiliar aux in list) { if (ses.Fecha.ToShortDateString() == aux.Fecha.ToShortDateString() && ses.Hora.ToShortTimeString() == aux.Hora.ToShortTimeString()) { aux.OidProfesor = ses.OidProfesor; aux.OidClasePractica = ses.OidClasePractica; if (ses.OidClasePractica != 0) { aux.Incompatible = practicas.GetItem(ses.OidClasePractica).Incompatible; } else { aux.Incompatible = 0; } break; } } } lista.Add(list); item.CloseSession(); } } return(lista); } return(null); }
/// <summary> /// Copia los atributos del objeto /// </summary> /// <param name="source">Objeto origen</param> protected void CopyValues(SesionInfo source, InstructorInfo instructor, ClaseTeoricaList teoricas, ClasePracticaList practicas, ClaseExtraList extras, string clases, long grupo, bool print_alumno) { if (source == null) { return; } Oid = source.Oid; _base.Record.OidHorario = source.OidHorario; _base.Record.OidClaseTeorica = source.OidClaseTeorica; _base.Record.OidClasePractica = source.OidClasePractica; _base.Record.OidClaseExtra = source.OidClaseExtra; _base.Record.OidProfesor = source.OidProfesor; _base.Record.Fecha = source.Fecha; _base.Record.Hora = source.Hora; _base.Record.Estado = source.Estado; _base.Record.Observaciones = source.Observaciones; _base.Record.Grupo = grupo; _base.Record.Forzada = source.Forzada; if (OidClaseTeorica != 0) { ClaseTeoricaInfo clase = teoricas.GetItem(OidClaseTeorica); if (clase != null) { _modulo = ModuloInfo.Get(clase.OidModulo, false).Alias; _submodulo = SubmoduloInfo.Get(clase.OidSubmodulo, false).Codigo; // clases; if (instructor != null) { foreach (Submodulo_InstructorInfo item in instructor.Submodulos) { if (item.OidSubmodulo == clase.OidSubmodulo && item.FechaInicio.Date <= source.Fecha.Date && item.FechaFin >= source.Fecha.Date ) { instructor = InstructorInfo.Get(item.OidInstructorSuplente); break; } } if (instructor != null) { _instructor = instructor.Apellidos + ", " + instructor.NombrePropio; } } } } else { if (OidClasePractica != 0) { ClasePracticaInfo clase = practicas.GetItem(OidClasePractica); if (clase != null) { _modulo = ModuloInfo.Get(clase.OidModulo, false).Alias; _submodulo = clases; _titulo = clase.Alias; if (instructor != null) { foreach (Submodulo_InstructorInfo item in instructor.Submodulos) { if (item.OidSubmodulo == clase.OidSubmodulo && item.FechaInicio.Date <= source.Fecha.Date && item.FechaFin >= source.Fecha.Date ) { instructor = InstructorInfo.Get(item.OidInstructorSuplente); break; } } if (instructor != null) { _instructor = instructor.Apellidos + ", " + instructor.NombrePropio; } } } } else { if (OidClaseExtra != 0) { ClaseExtraInfo clase = extras.GetItem(OidClaseExtra); if (clase != null) { _modulo = ModuloInfo.Get(clase.OidModulo, false).Alias; _submodulo = SubmoduloInfo.Get(clase.OidSubmodulo, false).Codigo; //clases; if (instructor != null) { foreach (Submodulo_InstructorInfo item in instructor.Submodulos) { if (item.OidSubmodulo == clase.OidSubmodulo && item.FechaInicio.Date <= source.Fecha.Date && item.FechaFin >= source.Fecha.Date ) { instructor = InstructorInfo.Get(item.OidInstructorSuplente); break; } } if (instructor != null) { _instructor = instructor.Apellidos + ", " + instructor.NombrePropio; } } } } } } if (print_alumno) { _instructor = string.Empty; } }
/// <summary> /// Retrieve the complete list from db /// </summary> /// <returns>SesionList</returns> public static SesionList GetSesionesList() { CriteriaEx criteria = Sesion.GetCriteria(Sesion.OpenSession()); criteria.Childs = false; criteria.Query = Sesions.SELECT_SESIONES_ORDENADAS(); //No criteria. Retrieve all de List SesionList list = DataPortal.Fetch <SesionList>(criteria); CloseSession(criteria.SessionCode); SesionList sesiones = new SesionList(); ClaseTeoricaList teoricas = ClaseTeoricaList.GetList(); ClasePracticaList practicas = ClasePracticaList.GetList(); ClaseExtraList extras = ClaseExtraList.GetList(); int count = 0; long oid_modulo = 0; sesiones.IsReadOnly = false; foreach (SesionInfo item in list) { if (item.OidClaseTeorica > 0 || item.OidClasePractica > 0 || item.OidClaseExtra > 0) { long oid_modulo_item = 0; if (item.OidClasePractica != 0) { oid_modulo_item = practicas.GetItem(item.OidClasePractica).OidModulo; } if (item.OidClaseTeorica != 0) { oid_modulo_item = teoricas.GetItem(item.OidClaseTeorica).OidModulo; } if (item.OidClaseExtra != 0) { oid_modulo_item = extras.GetItem(item.OidClaseExtra).OidModulo; } if (oid_modulo_item > 0) { if (count == 0) { sesiones.AddItem(item); oid_modulo = oid_modulo_item; count++; } else { SesionInfo ultima = sesiones[sesiones.Count - 1]; if (ultima.OidHorario == item.OidHorario && ultima.Fecha.Date.Equals(item.Fecha.Date) && ultima.Hora.AddHours(count).Hour.Equals(item.Hora.Hour) && ultima.OidProfesor == item.OidProfesor && oid_modulo_item == oid_modulo && ((ultima.OidClasePractica != 0 && item.OidClasePractica != 0) || (ultima.OidClaseTeorica != 0 && item.OidClaseTeorica != 0) || (ultima.OidClaseExtra != 0 && item.OidClaseExtra != 0))) { count++; if (count == 3) { count = 0; } } else { sesiones.AddItem(item); oid_modulo = oid_modulo_item; count = 1; } } } } } sesiones.IsReadOnly = true; return(sesiones); }