예제 #1
0
        public eCiclo GetCiclo(string ID_Ciclo, out string message) //Lo recomendable seria obtener un solo ciclo, depende de la opcion escogida
        {                                                           //Correcto
            try
            {
                eCiclo aux = null;

                SqlConnection Conexion = DB.Conectar();
                string        SELECT   = string.Format("SELECT * FROM Ciclo WHERE ID = '{0}'", ID_Ciclo);
                SqlCommand    Comando  = new SqlCommand(SELECT, Conexion);
                SqlDataReader Reader   = Comando.ExecuteReader();

                while (Reader.Read())
                {
                    aux = new eCiclo();

                    aux.Periodo       = ID_Ciclo;
                    aux.Promedio      = Convert.ToSingle(Reader["Promedio"]);
                    aux.Numero_Cursos = (int)Reader["Cantidad_Cursos"];
                }


                Reader.Close();
                message = "Correcto";
                return(aux);
            }
            catch (Exception e)
            {
                message = e.Message;
                return(null);
            }
            finally
            {
                DB.Desconectar();
            }
        }
예제 #2
0
 public bool Actualizar_PromedioBeca(eCiclo obj, out string message) //Guardo en la base de datos el promedio para la beca
 {                                                                   //Correcto
     try
     {
         SqlConnection Conexion = DB.Conectar();
         string        UPDATE   = string.Format("UPDATE Ciclo Set Promedio_Beca = {0} where ID ='{1}'", obj.Promedio_Beca, obj.Periodo);
         SqlCommand    Comando  = new SqlCommand(UPDATE, Conexion);
         int           rows     = Comando.ExecuteNonQuery();
         message = "Promedio de Beca registrado";
         return(true);
     }
     catch (Exception e) { message = e.Message; return(false); }
     finally { DB.Desconectar(); }
 }
예제 #3
0
        public bool Insertar(eCiclo obj, out string message)
        {//Correcto
            try
            {
                SqlConnection Conexion = DB.Conectar();
                string        INSERT   = string.Format("Insert into Ciclo(ID,[Cantidad_Cursos],Promedio) Values('{0}',{1},{2})", obj.Periodo, obj.Numero_Cursos, obj.Promedio);
                SqlCommand    Comando  = new SqlCommand(INSERT, Conexion);
                Comando.ExecuteNonQuery();

                message = string.Format("Ciclo {0} Registrado", obj.Periodo);
                return(true);
            }
            catch (Exception e) { message = e.Message; return(false); }
            finally { DB.Desconectar(); }
        }
예제 #4
0
        public bool Registrar_Ciclo(eCiclo Ciclo, out string message)
        {//En Observacion
         //Por cuestiones de prueba, proceder a comentar la seccion del IF


            /*if (status)
             * {
             *  nCurso Curso_N = new nCurso();
             *  //Registro los cursos
             *  foreach (eCurso x in Ciclo.Cursos)
             *  {
             *      status= Curso_N.Registrar_Curso(x, out message);
             *  }
             * }*/
            return(Ciclo_DB.Insertar(Ciclo, out message)); //Registro los datos del ciclo
        }
예제 #5
0
        public List <eCiclo> GetCiclos()
        {//Correcto
            try
            {
                List <eCiclo> Lista_Ciclos = new List <eCiclo>();
                eCiclo        aux          = null;

                SqlConnection Conexion = DB.Conectar();
                string        SELECT   = "SELECT * FROM Ciclo";
                SqlCommand    Comando  = new SqlCommand(SELECT, Conexion);
                SqlDataReader Reader   = Comando.ExecuteReader();

                while (Reader.Read())
                {
                    aux = new eCiclo();

                    aux.Periodo       = (string)Reader["ID"];
                    aux.Promedio      = Convert.ToSingle(Reader["Promedio"]);
                    aux.Numero_Cursos = (int)Reader["Cantidad_Cursos"];
                    try
                    {
                        aux.Promedio_Beca = Convert.ToSingle(Reader["Promedio_Beca"]);
                    }
                    catch (Exception ex)
                    {
                        aux.Promedio_Beca = 0;
                    }


                    Lista_Ciclos.Add(aux);
                }


                Reader.Close();
                return(Lista_Ciclos);
            }
            catch (Exception e)
            {
                return(null);
            }
            finally
            {
                DB.Desconectar();
            }
        }//Para Analytics
예제 #6
0
        ///////////////LOGICA GLOBAL////////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////
        private void Actualizar_Nota(eCiclo Ciclo_Selected, eCurso Curso_Selected, eCampo Campo_Selected) //Actualiza las notas de manera local, sin afectar a la base de datos
        {                                                                                                 //
         //Para el curso
            if (Campo_Selected.Nota != Campo_Selected.Nota_Nueva)
            {
                Ciclo_Selected.Promedio -= Curso_Selected.Promedio * Curso_Selected.Creditos / Ciclo_Selected.getPesoTotal();

                Curso_Selected.Promedio -= Campo_Selected.Nota * Campo_Selected.Peso / 100;

                Campo_Selected.Nota           = Campo_Selected.Nota_Nueva;
                Campo_Selected.Nota_Nueva     = 0;
                Curso_Selected.Promedio_Nuevo = Curso_Selected.Promedio + (Campo_Selected.Nota * Campo_Selected.Peso / 100);//El curso ya tiene su nuevo promedio
                Curso_Selected.Promedio       = Curso_Selected.Promedio_Nuevo;
                Curso_Selected.Promedio_Nuevo = 0;

                Ciclo_Selected.Promedio += Curso_Selected.Promedio * Curso_Selected.Creditos / Ciclo_Selected.getPesoTotal();
            }
        }
예제 #7
0
        ///////////////REGISTRAR NOTA////////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////
        private void ComboBox_Ciclo_RegistrarNota_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                Ciclo_Seleccionado_RN = ComboBox_Ciclo_RegistrarNota.SelectedItem as eCiclo;
                TextBlock_Ciclo_RegistrarNota.Text         = Ciclo_Seleccionado_RN.Periodo;
                TextBlock_PromedioCiclo_RegistrarNota.Text = Ciclo_Seleccionado_RN.Promedio.ToString("N2");

                ComboBox_Curso_RegistrarNota.ItemsSource = Curso_Controller.GetCursos(Ciclo_Seleccionado_RN.Periodo);

                Ciclo_Seleccionado_RN.Cursos = ComboBox_Curso_RegistrarNota.ItemsSource as ObservableCollection <eCurso>;

                foreach (eCurso x in Ciclo_Seleccionado_RN.Cursos)
                {
                    x.Campos = Campo_Controller.GetCampos_(x.Codigo + "-0" + x.Vez);
                }

                ComboBox_Curso_RegistrarNota.SelectedIndex = 0;
            }
            catch (Exception ex) { }
        }
예제 #8
0
        private void ComboBox_Ciclos_RegistrarCiclo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                Ciclo_Seleccionado_RC = ComboBox_Ciclos_RegistrarCiclo.SelectedItem as eCiclo;
                TextBlock_Ciclo_RegistrarCiclo.Text              = Ciclo_Seleccionado_RC.Periodo;
                TextBox_PromedioBeca_RegistrarCiclo.Text         = Ciclo_Seleccionado_RC.Promedio_Beca.ToString();
                TextBlock_CursosRegistrados_RegistrarCiclo.Text  = Ciclo_Controller.GetCursosRegistrados(Ciclo_Seleccionado_RC.Periodo).ToString();
                TextBlock_CursosPorRegistrar_RegistrarCiclo.Text = Ciclo_Seleccionado_RC.Numero_Cursos.ToString();
                TextBlock_Ciclo2_RegistrarCiclo.Text             = Ciclo_Seleccionado_RC.Periodo;
                //Agregar una variable booleana para determinar si aun se pueden registrar cursos o campos para bloquear los textbox respectivos
                //MessageBox.Show(isComplete_Ciclo(Ciclo_Seleccionado_RC).ToString());

                Ciclo_Seleccionado_RC.Cursos = Curso_Controller.GetCursos(Ciclo_Seleccionado_RC.Periodo);
                ListBox_Cursos_RegistrarCiclo.ItemsSource   = Ciclo_Seleccionado_RC.Cursos;
                ListBox_Cursos_RegistrarCiclo.SelectedIndex = 0;

                if (isComplete_Ciclo(Ciclo_Seleccionado_RC)) //si ya estan todos los cursos registrados
                {                                            //Bloqueo la entradas
                    Button_RegistrarCurso_RegistrarCiclo.IsEnabled     = false;
                    TextBox_NombreCurso_RegistrarCiclo.IsEnabled       = false;
                    TextBox_CodigoCurso_RegistrarCiclo.IsEnabled       = false;
                    TextBox_CreditosCurso_RegistrarCiclo.IsEnabled     = false;
                    TextBox_EvaluacionesCurso_RegistrarCiclo.IsEnabled = false;
                    ComboBox_NumeroVeces_RegistrarCiclo.IsEnabled      = false;

                    MessageBox.Show("Este ciclo ya tiene todos sus cursos registrados", "Ciclo Completo");
                }
                else//O si falta un curso por registrar
                {
                    Button_RegistrarCurso_RegistrarCiclo.IsEnabled     = true;
                    TextBox_NombreCurso_RegistrarCiclo.IsEnabled       = true;
                    TextBox_CodigoCurso_RegistrarCiclo.IsEnabled       = true;
                    TextBox_CreditosCurso_RegistrarCiclo.IsEnabled     = true;
                    TextBox_EvaluacionesCurso_RegistrarCiclo.IsEnabled = true;
                    ComboBox_NumeroVeces_RegistrarCiclo.IsEnabled      = true;
                }
            }
            catch (Exception ex) { }
        }
예제 #9
0
        ///////////////VER INFORMACION///////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////
        private void ComboBox_Ciclo_VerInfo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                Ciclo_Seleccionado_VI = ComboBox_Ciclo_VerInfo.SelectedItem as eCiclo; //Obtengo los datos del ciclo seleccionado
                                                                                       //Actualizo los datos del ciclo seleccionado
                TextBlock_Ciclo_VerInfo.Text             = Ciclo_Seleccionado_VI.Periodo;
                TextBlock_PromedioCiclo_VerInfo.Text     = Ciclo_Seleccionado_VI.Promedio.ToString();
                TextBlock_PromedioBeca_VerInfo.Text      = Ciclo_Seleccionado_VI.Promedio_Beca.ToString();
                TextBlock_PromedioAcumulado_VerInfo.Text = Ciclo_Controller.getPromedio_Acumulado().ToString("N1");

                Ciclo_Seleccionado_VI.Cursos = Curso_Controller.GetCursos(Ciclo_Seleccionado_VI.Periodo);

                //Relleno los campos de cada curso
                foreach (eCurso x in Ciclo_Seleccionado_VI.Cursos)
                {
                    x.Campos = Campo_Controller.GetCampos_(x.Codigo + "-0" + x.Vez);
                }

                ListBox_Cursos_VerInfo.ItemsSource   = Ciclo_Seleccionado_VI.Cursos;//Obtengo y muestro los cursos del ciclo escogido
                ListBox_Cursos_VerInfo.SelectedIndex = 0;

                //Muestra de promedio de ciclo anterior
                int indexCiclo = ComboBox_Ciclo_VerInfo.SelectedIndex;
                if (indexCiclo != 0)
                {
                    TextBlock_PromedioCicloAnterior_VerInfo.Text = (ComboBox_Ciclo_VerInfo.ItemsSource as List <eCiclo>).ElementAt(indexCiclo - 1).Promedio.ToString("N2");
                }
                else
                {
                    TextBlock_PromedioCicloAnterior_VerInfo.Text = "-";
                }
            }
            catch (Exception ex)
            {
            }
        }
예제 #10
0
 public bool Actualizar_Nota(eCiclo Ciclo)
 {
     return(Ciclo_DB.Actualizar(Ciclo.Periodo, Ciclo.Promedio));
 }
예제 #11
0
 public bool Registrar_PromedioBeca(eCiclo Ciclo, out string message)
 {
     return(Ciclo_DB.Actualizar_PromedioBeca(Ciclo, out message));
 }
예제 #12
0
 private bool isComplete_Ciclo(eCiclo Ciclo_Selected)
 {
     return(Ciclo_Controller.GetCursosRegistrados(Ciclo_Selected.Periodo) == Ciclo_Selected.Numero_Cursos? true:false);
 }
예제 #13
0
        ///////////////REGISTRAR CICLO///////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////
        /////////////////////////////////////////////////////


        private void Button_RegistrarCiclo_RegistrarCiclo_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string Periodo_Ciclo_Nuevo       = TextBox_Periodo_RegistrarCiclo.Text;
                int    Numero_Cursos_Ciclo_Nuevo = Convert.ToInt32(TextBox_NumCursos_RegistrarCiclo.Text);

                if (isPeriod(Periodo_Ciclo_Nuevo))//Comprobar formato, clase Ciclo_Controller
                {
                    if (Numero_Cursos_Ciclo_Nuevo > 0 && Numero_Cursos_Ciclo_Nuevo <= 10)
                    {
                        string message;
                        eCiclo Ciclo_Nuevo = new eCiclo()
                        {
                            Periodo = Periodo_Ciclo_Nuevo, Numero_Cursos = Numero_Cursos_Ciclo_Nuevo
                        };                                                                                                             //Creo el nuevo ciclo para registrar


                        switch (MessageBox.Show(string.Format("Se va a registrar el ciclo {0} en el sistema", Ciclo_Nuevo.Periodo), "Registro de Ciclo",
                                                MessageBoxButton.OKCancel, MessageBoxImage.Information, MessageBoxResult.OK))
                        {
                        case MessageBoxResult.OK:

                            if (Ciclo_Controller.Registrar_Ciclo(Ciclo_Nuevo, out message))                                          //Si registro el ciclo de manera exitosa en la base de datos
                            {
                                ComboBox_Ciclos_RegistrarCiclo.ItemsSource   = Ciclo_Controller.GetCiclos().OrderBy(x => x.Periodo); //Actualizo el combobox
                                ComboBox_Ciclos_RegistrarCiclo.SelectedValue = Ciclo_Nuevo.Periodo;

                                //Ciclo_Seleccionado_RC = ComboBox_Ciclos_RegistrarCiclo.SelectedItem as eCiclo;

                                TextBox_Periodo_RegistrarCiclo.Clear();
                                TextBox_NumCursos_RegistrarCiclo.Clear();
                                TextBox_NombreCurso_RegistrarCiclo.Focus();

                                MessageBox.Show(message);
                            }
                            else
                            {
                                MessageBox.Show(message);
                            }
                            break;

                        case MessageBoxResult.Cancel:
                            TextBox_Periodo_RegistrarCiclo.Focus();
                            break;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ingrese una cantidad correcta");
                        TextBox_NumCursos_RegistrarCiclo.Clear();
                        TextBox_NumCursos_RegistrarCiclo.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("Ingrese un periodo correcto");
                    TextBox_Periodo_RegistrarCiclo.Clear();
                    TextBox_Periodo_RegistrarCiclo.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }