/// <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();
        }
        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_Promocion info = (Submodulo_Instructor_Promocion)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_Instructor info = (Submodulo_Instructor)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;
            }
        }