/// <summary>Aplica las reglas de validación de usuarios al formulario. /// <returns>void</returns> /// </summary> protected override void ApplyAuthorizationRules() { Tabla.Visible = SesionCronograma.CanGetObject(); Add_Button.Enabled = SesionCronograma.CanAddObject(); Edit_Button.Enabled = SesionCronograma.CanEditObject(); Delete_Button.Enabled = SesionCronograma.CanDeleteObject(); Print_Button.Enabled = SesionCronograma.CanGetObject(); View_Button.Enabled = SesionCronograma.CanGetObject(); }
/// <summary> /// Asigna los valores del grid que no están asociados a propiedades /// </summary> protected override void SetUnlinkedGridValues(string gridName) { switch (gridName) { case "Sesiones_Grid": { int count = 1; foreach (DataGridViewRow row in Sesiones_Grid.Rows) { if (row.IsNewRow) { continue; } SesionCronograma info = (SesionCronograma)row.DataBoundItem; if (info != null) { if (info.OidClasePractica != 0) { row.DefaultCellStyle.BackColor = Color.RoyalBlue; row.Cells[Duracion.Name].Value = info.Duracion; } else { if (info.OidClaseTeorica == -1) { row.DefaultCellStyle.BackColor = Color.Red; } else { row.DefaultCellStyle.BackColor = Color.White; } } row.Cells[Indice.Name].Value = count++; } } } break; } }
/// <summary> /// Implementa Save_button_Click /// </summary> protected override void SubmitAction() { if (OrdenNuevo_TB.Text != string.Empty) { if (Convert.ToInt64(OrdenNuevo_TB.Text) > _count) { MessageBox.Show("El valor introducido es menor que el número de clases del cronograma."); return; } _destino = Convert.ToInt32(OrdenNuevo_TB.Text) - 1; if (_destino < 0) { MessageBox.Show("El valor introducido debe ser mayor que 0."); return; } if (_index != _destino) { /*int lim_inf = 0; * int lim_sup = 0; * long oid_lim_inf = 0, oid_lim_sup = 0; * * if (_index < _destino) * { * lim_inf = _index; * lim_sup = _destino; * } * else * { * lim_inf = _destino; * lim_sup = _index; * } * * if (_entity.Sesiones[lim_inf].OidClaseTeorica != 0) * oid_lim_inf = _teoricas.GetItem(_entity.Sesiones[lim_inf].OidClaseTeorica).OidModulo; * else * oid_lim_inf = _practicas.GetItem(_entity.Sesiones[lim_inf].OidClasePractica).OidModulo; * * if (_entity.Sesiones[lim_sup].OidClaseTeorica != 0) * oid_lim_sup = _teoricas.GetItem(_entity.Sesiones[lim_sup].OidClaseTeorica).OidModulo; * else * oid_lim_sup = _practicas.GetItem(_entity.Sesiones[lim_sup].OidClasePractica).OidModulo; * * //para el que baja * for (int i = lim_inf + 1; i <= lim_sup; i++) * { * if (_entity.Sesiones[lim_inf].OidClaseTeorica != 0) * { * if (oid_lim_inf == _teoricas.GetItem(_entity.Sesiones[i].OidClaseTeorica).OidModulo) * { * _entity.Sesiones[lim_inf].Numero++; * _entity.Sesiones[i].Numero--; * } * } * else * { * if (oid_lim_inf == _practicas.GetItem(_entity.Sesiones[i].OidClasePractica).OidModulo) * { * _entity.Sesiones[lim_inf].Numero++; * _entity.Sesiones[i].Numero--; * } * } * } * * //para el que baja * for (int i = lim_sup - 1; i >= lim_inf; i--) * { * if (_entity.Sesiones[lim_sup].OidClaseTeorica != 0) * { * if (oid_lim_sup == _teoricas.GetItem(_entity.Sesiones[i].OidClaseTeorica).OidModulo) * { * _entity.Sesiones[lim_sup].Numero--; * _entity.Sesiones[i].Numero++; * } * } * else * { * if (oid_lim_sup == _practicas.GetItem(_entity.Sesiones[i].OidClasePractica).OidModulo) * { * _entity.Sesiones[lim_sup].Numero--; * _entity.Sesiones[i].Numero++; * } * } * }*/ SesionCronograma aux = _entity.Sesiones[_index]; long aux_semana = _entity.Sesiones[_destino].Semana; long aux_dia = _entity.Sesiones[_destino].Dia; long aux_turno = _entity.Sesiones[_destino].Turno; _entity.Sesiones[_index] = _entity.Sesiones[_destino]; _entity.Sesiones[_index].Semana = aux.Semana; _entity.Sesiones[_index].Dia = aux.Dia; _entity.Sesiones[_index].Turno = aux.Turno; _entity.Sesiones[_destino] = aux; _entity.Sesiones[_destino].Semana = aux_semana; _entity.Sesiones[_destino].Dia = aux_dia; _entity.Sesiones[_destino].Turno = aux_turno; ListaContadores lista_count = new ListaContadores(); long oid_modulo_index = _entity.Sesiones[_index].OidClaseTeorica > 0 ? _teoricas.GetItem(_entity.Sesiones[_index].OidClaseTeorica).OidModulo : _practicas.GetItem(_entity.Sesiones[_index].OidClasePractica).OidModulo; long oid_modulo_destino = _entity.Sesiones[_destino].OidClaseTeorica > 0 ? _teoricas.GetItem(_entity.Sesiones[_destino].OidClaseTeorica).OidModulo : _practicas.GetItem(_entity.Sesiones[_destino].OidClasePractica).OidModulo; for (int i = 0; i < _entity.Sesiones.Count; i++) { if (_entity.Sesiones[i].Modulo == _entity.Sesiones[_index].Modulo) { _entity.Sesiones[i].Numero = lista_count.NuevoContador(oid_modulo_index); } if (_entity.Sesiones[i].Modulo == _entity.Sesiones[_destino].Modulo) { _entity.Sesiones[i].Numero = lista_count.NuevoContador(oid_modulo_destino); } } } _action_result = DialogResult.OK; Close(); } }