/// <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();
 }
Example #2
0
 /// <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;
     }
 }
Example #3
0
        /// <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();
            }
        }