Esempio n. 1
0
        /// <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);
        }