예제 #1
0
        protected override void SetCellsDataSource(string gridName)
        {
            switch (gridName)
            {
            case "Submodulo_Instructor_Grid":
            {
                foreach (DataGridViewRow row in Submodulo_Instructor_Grid.Rows)
                {
                    if (row.IsNewRow)
                    {
                        continue;
                    }
                    if (lista_sources.Count >= row.Index + 1)
                    {
                        continue;
                    }
                    Submodulo_Instructor_PromocionInfo info = (Submodulo_Instructor_PromocionInfo)row.DataBoundItem;
                    if ((info != null) && (_combo_modulos != null))
                    {
                        lista_sources.Add(_combo_modulos.GetFilteredChilds(info.OidModulo));
                        ((DataGridViewComboBoxCell)row.Cells["Submodulo_CBC"]).DataSource = lista_sources[row.Index];
                    }
                }
            } break;
                //case "Autorizados_Grid":
                //    {
                //        foreach (DataGridViewRow row in Autorizados_Grid.Rows)
                //        {
                //            if (row.IsNewRow) continue;
                //            if (lista_sources_a.Count >= row.Index + 1) continue;
                //            Submodulo_InstructorInfo info = (Submodulo_InstructorInfo)row.DataBoundItem;
                //            if ((info != null) && (_combo_modulos != null))
                //            {
                //                lista_sources_a.Add(_combo_modulos.GetFilteredChilds(info.OidModulo));
                //                ((DataGridViewComboBoxCell)row.Cells["SubmoduloA_CBC"]).DataSource = lista_sources_a[row.Index];
                //            }
                //        }

                //    } break;
            }
        }
        public override ComboBoxSourceList RellenaComboInstructores(long oid, long tipo, int index, long oid_submodulo)
        {
            long oid_clase = oid;

            if (oid_clase <= 0)
            {
                ComboBoxSourceList combo_list = new ComboBoxSourceList();
                combo_list.Add(new ComboBoxSource(0, ""));
                Datos_Instructores.DataSource = combo_list;
                return(combo_list);
            }

            List <Submodulo_Instructor_PromocionInfo> list = new List <Submodulo_Instructor_PromocionInfo>();

            if (_profesores == null)
            {
                _profesores = InstructorList.GetInstructoresHorariosList(EntityInfo.OidPromocion, EntityInfo.FechaInicial, EntityInfo.FechaFinal);
            }


            if (_disponibilidades == null)
            {
                _disponibilidades = _profesores.GetDisponibilidadesProfesores(EntityInfo.FechaInicial);
            }
            DisponibilidadInfo disp = null;

            foreach (InstructorInfo profesor in _profesores)
            {
                if (Horario.ProfesorLibre(_instructores_asignados, index, profesor.Oid,
                                          _lista_sesiones, _profesores, -1, EntityInfo.FechaInicial, _disponibilidades) &&
                    _disponibilidades.TryGetValue(profesor.Oid, out disp) &&
                    disp.Semana[index])
                {
                    Instructor_PromocionInfo promo = profesor.Promociones.GetItemByProperty("OidPromocion", EntityInfo.OidPromocion);
                    if (tipo != 2)
                    {
                        Submodulo_Instructor_PromocionInfo sub = promo != null?promo.Submodulos.GetItemByProperty("OidSubmodulo", oid_submodulo) : null;

                        if (sub != null)
                        {
                            list.Add(sub);
                        }
                    }
                    else
                    {
                        Submodulo_Instructor_PromocionInfo sub = promo != null?promo.Submodulos.GetItemByProperty("OidModulo", _lista_sesiones[index].OidModulo) : null;

                        if (sub != null)
                        {
                            list.Add(sub);
                        }
                    }
                }
            }

            //foreach (Submodulo_Instructor_PromocionInfo info in _submodulos)
            //{
            //    if (info.OidSubmodulo == oid_submodulo && info.OidPromocion == EntityInfo.OidPromocion)
            //    {
            //        if (Horario.ProfesorLibre(_instructores_asignados, index, info.OidInstructor,
            //                                _lista_sesiones, _profesores, -1, EntityInfo.FechaInicial, _disponibilidades))
            //            list.Add(info);
            //    }
            //}

            Submodulo_Instructor_PromocionList lista = Submodulo_Instructor_PromocionList.GetChildList(list);

            _combo_instructores  = new Library.Instruction.HComboBoxSourceList(lista, _profesores);
            _combo_clases.Childs = _combo_instructores;

            Datos_Instructores.DataSource = _combo_clases.Childs;
            return(_combo_clases.Childs);
        }