protected override void LoadChildsAction(Type type) { if (type == typeof(Submodulo_Instructor_Promocion)) { Datos_Promociones.DataSource = _entity.Promociones; if (Datos_Promociones.Current != null && ((Instructor_Promocion)Datos_Promociones.Current).OidPromocion > 0) { _modulos = ModuloList.GetListByPromocion(false, ((Instructor_Promocion)Datos_Promociones.Current).OidPromocion); _combo_modulos = new Library.Instruction.HComboBoxSourceList(ModuloList.SortList(_modulos, "NumeroOrden", ListSortDirection.Ascending)); Datos_Modulos.DataSource = _combo_modulos; //_submodulos = SubmoduloList.GetList(false); _combo_modulos.Childs = new Library.Instruction.HComboBoxSourceList(SubmoduloList.SortList(_submodulos, "CodigoOrden", ListSortDirection.Ascending)); Datos_Submodulos.DataSource = _combo_modulos.Childs; Instructor_Promocion promo = Datos_Promociones.Current as Instructor_Promocion; Datos_Submodulo_Instructor_Promocion.DataSource = promo.Submodulos; SetCellsDataSource(Submodulo_Instructor_Grid.Name); } } //if (type == typeof(Submodulo_Instructor)) //{ // Datos_Submodulo_Instructor.DataSource = _entity.Submodulos; // PgMng.Grow(string.Empty, "Datos_Submodulo_Instructor"); //} }
/// <summary> /// Implementa Save_button_Click /// </summary> protected override void SubmitAction() { if (((ComboBoxSource)Promocion_O_CB.SelectedItem).Oid == 0 || ((ComboBoxSource)Promocion_D_CB.SelectedItem).Oid == 0) { MessageBox.Show("Debe seleccionar promociones de origen y destino válidas"); return; } if (((ComboBoxSource)Promocion_O_CB.SelectedItem).Oid == ((ComboBoxSource)Promocion_D_CB.SelectedItem).Oid) { MessageBox.Show("Debe seleccionar promociones de origen y destino diferentes"); return; } Submodulos_Instructores_Promociones capacidad_origen = Entity.Promociones.GetByOidPromocion(((ComboBoxSource)Promocion_O_CB.SelectedItem).Oid).Submodulos; long oid_promocion = ((ComboBoxSource)Promocion_D_CB.SelectedItem).Oid; Instructor_Promocion promo = null; foreach (Instructor_Promocion item in Entity.Promociones) { if (item.OidPromocion == oid_promocion) { promo = item; break; } } if (promo == null) { promo = Instructor_Promocion.NewChild(Entity); promo.MarkItemNew(); promo.OidPromocion = oid_promocion; Entity.Promociones.AddItem(promo); } foreach (Submodulo_Instructor_Promocion item in capacidad_origen) { Submodulo_Instructor_Promocion elem = Submodulo_Instructor_Promocion.NewChild(promo); elem.MarkItemNew(); elem.OidPromocion = oid_promocion; elem.OidSubmodulo = item.OidSubmodulo; elem.OidModulo = item.OidModulo; elem.OidInstructor = item.OidInstructor; elem.Prioridad = item.Prioridad; if (!promo.Submodulos.IsDuplicated(elem)) { promo.Submodulos.Add(elem); } } _action_result = DialogResult.OK; Close(); }
/// <summary> /// Implementa Save_button_Click /// </summary> protected override void SubmitAction() { if (((ComboBoxSource)Modulo_CB.SelectedItem).Oid == 0 || ((ComboBoxSource)Promocion_CB.SelectedItem).Oid == 0) { MessageBox.Show("Debe seleccionar un módulo y una promoción válidos"); return; } ModuloInfo modulo = ModuloInfo.Get(((ComboBoxSource)Modulo_CB.SelectedItem).Oid, false); SubmoduloList submodulos = SubmoduloList.GetModuloList(modulo.Oid, false); long oid_promocion = ((ComboBoxSource)Promocion_CB.SelectedItem).Oid; Instructor_Promocion promo = null; foreach (Instructor_Promocion item in Entity.Promociones) { if (item.OidPromocion == oid_promocion) { promo = item; break; } } if (promo == null) { promo = Instructor_Promocion.NewChild(Entity); promo.MarkItemNew(); promo.OidPromocion = oid_promocion; Entity.Promociones.AddItem(promo); } foreach (SubmoduloInfo item in submodulos) { Submodulo_Instructor_Promocion elem = Submodulo_Instructor_Promocion.NewChild(promo); elem.MarkItemNew(); elem.OidPromocion = oid_promocion; elem.OidSubmodulo = item.Oid; elem.OidModulo = item.OidModulo; elem.OidInstructor = Entity.Oid; elem.Prioridad = (long)Prioridad_NUD.Value; if (!promo.Submodulos.IsDuplicated(elem)) { promo.Submodulos.AddItem(elem); } } _action_result = DialogResult.OK; Close(); }
private void Submodulo_Instructor_Grid_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (this is InstructorUIForm) { switch (Submodulo_Instructor_Grid.Columns[e.ColumnIndex].Name) { case ("Modulo_CBC"): { if (Submodulo_Instructor_Grid["Modulo_CBC", e.RowIndex].Value != null) { if (Datos_Promociones.Current != null && ((Instructor_Promocion)Datos_Promociones.Current).OidPromocion > 0) { //se está modificando una línea ya existente if (lista_sources.Count > e.RowIndex) { lista_sources[e.RowIndex] = _combo_modulos.GetFilteredChilds((long)Submodulo_Instructor_Grid["Modulo_CBC", e.RowIndex].Value); } else //hay que añadir un nuevo datasource a la lista { lista_sources.Add(_combo_modulos.GetFilteredChilds((long)Submodulo_Instructor_Grid["Modulo_CBC", e.RowIndex].Value)); } ((DataGridViewComboBoxCell)(Submodulo_Instructor_Grid["Submodulo_CBC", e.RowIndex])).DataSource = lista_sources[e.RowIndex]; ((Submodulo_Instructor_Promocion)Submodulo_Instructor_Grid.Rows[e.RowIndex].DataBoundItem).OidPromocion = ((Instructor_Promocion)Datos_Promociones.Current).OidPromocion; } } } break; case ("Submodulo_CBC"): { if (Datos_Promociones.Current == null) { return; } Instructor_Promocion selected = Entity.Promociones.GetItem(((Instructor_Promocion)Datos_Promociones.Current).Oid); if (selected == null) { foreach (Instructor_Promocion item in Entity.Promociones) { if (item.Oid == ((Instructor_Promocion)Datos_Promociones.Current).Oid) { selected = item; break; } } } Submodulos_Instructores_Promociones lista = selected.Submodulos; if (lista.Count <= e.RowIndex) { lista.Add((Submodulo_Instructor_Promocion)Submodulo_Instructor_Grid.Rows[e.RowIndex].DataBoundItem); } lista[e.RowIndex].OidInstructorPromocion = ((Instructor_Promocion)Datos_Promociones.Current).Oid; lista[e.RowIndex].OidInstructor = Entity.Oid; } break; } } }