public bool existCampo(eCampo Campo) {//Correcto try { SqlConnection Conexion = DB.Conectar(); string SELECT = string.Format("SELECT * FROM Campo where Tipo ='{0}' AND Numero = {1} AND ID_Curso ='{2}'", Campo.Tipo, Campo.Numero, Campo.Curso.Codigo + "-0" + Campo.Curso.Vez); SqlCommand Comando = new SqlCommand(SELECT, Conexion); SqlDataReader Reader = Comando.ExecuteReader(); int rows = 0; while (Reader.Read())//Si la tabla obtenida tiene filas la leo { rows++; } Reader.Close(); return(rows >= 1? true: false); //Si devuelve una fila, quiere decir que si existe } catch (Exception e) { return(false); } finally { DB.Desconectar(); } }
public bool Registrar_Campo(eCampo Campo, out string message)//Se comprueba en la base de datos si existe ese campo { if (!Campo_DB.existCampo(Campo)) { return(Campo_DB.Insertar(Campo, out message)); } else { message = "YA EXISTE ESE CAMPO EN ESE CURSO"; return(false); } }
public List <eCampo> GetCampos(out string message) //Obtengo todos los campos { //Correcto try { List <eCampo> Lista_Campos = new List <eCampo>(); eCampo aux = null; SqlConnection Conexion = DB.Conectar(); string SELECT = "SELECT * FROM Campo"; SqlCommand Comando = new SqlCommand(SELECT, Conexion); SqlDataReader Reader = Comando.ExecuteReader(); while (Reader.Read()) { aux = new eCampo(); aux.Tipo = (string)Reader["Tipo"]; aux.Numero = (int)Reader["Numero"]; aux.Descripcion = (string)Reader["Descripcion"]; aux.Peso = (int)Reader["Peso"]; aux.Nota = Convert.ToSingle(Reader["Nota"]); aux.Rellenado = (bool)Reader["Rellenado"]; ///// ///Desfragmentacion de ID (Codigo + Periodo) ///// string ID_Curso = (string)Reader["ID_Curso"]; int indice = ID_Curso.IndexOf('-'); //ma745-01 i=5 aux.Curso.Codigo = ID_Curso.Substring(0, indice); aux.Curso.Vez = Convert.ToInt32(ID_Curso.Substring(indice + 1)); Lista_Campos.Add(aux); } Reader.Close(); message = "Correcto"; return(Lista_Campos); } catch (Exception e) { message = e.Message; return(null); } finally { DB.Desconectar(); } }
public bool Insertar(eCampo obj, out string message) {//Correcto try { SqlConnection Conexion = DB.Conectar(); string INSERT = string.Format("Insert into Campo Values('{0}',{1},'{2}',{3},{5},'{4}',{6})", obj.Tipo, obj.Numero, obj.Descripcion, obj.Peso, obj.Curso.Codigo + "-0" + obj.Curso.Vez, obj.Nota, 0); SqlCommand Comando = new SqlCommand(INSERT, Conexion); Comando.ExecuteNonQuery(); message = "Campo Registrado"; return(true); } catch (Exception e) { message = e.Message; return(false); } finally { DB.Desconectar(); } }
public ObservableCollection <eCampo> GetCampos_(string ID_Curso) //Obtengo los campos de un determinado curso, pero dentro de un ObsCollect { //Correcto try { ObservableCollection <eCampo> ObservableCollection_Campos = new ObservableCollection <eCampo>(); eCampo aux = null; SqlConnection Conexion = DB.Conectar(); string SELECT = string.Format("SELECT * FROM Campo where ID_Curso = '{0}'", ID_Curso); SqlCommand Comando = new SqlCommand(SELECT, Conexion); SqlDataReader Reader = Comando.ExecuteReader(); while (Reader.Read()) { aux = new eCampo(); aux.Tipo = (string)Reader["Tipo"]; aux.Numero = (int)Reader["Numero"]; aux.Descripcion = (string)Reader["Descripcion"]; aux.Peso = Convert.ToSingle(Reader["Peso"]); aux.Nota = Convert.ToSingle(Reader["Nota"]); aux.Rellenado = (bool)Reader["Rellenado"]; ///// ///Desfragmentacion de ID (Codigo + Periodo) ///// int indice = ID_Curso.IndexOf('-'); //ma745-01 i=5 aux.Curso.Codigo = ID_Curso.Substring(0, indice); aux.Curso.Vez = Convert.ToInt32(ID_Curso.Substring(indice + 1)); ObservableCollection_Campos.Add(aux); } Reader.Close(); return(ObservableCollection_Campos); } catch (Exception e) { return(null); } finally { DB.Desconectar(); } }
///////////////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(); } }
private void Button_RegistrarEva_RegistrarCiclo_Click(object sender, RoutedEventArgs e) { try { string Campo = ComboBox_NombreEva_RegistrarCiclo.Text; string Tipo_N = Campo.Substring(0, 2); int Numero_N; try { Numero_N = Convert.ToInt32(Campo.Substring(2, 1)); } catch (Exception E) { Numero_N = 1; } string Descripcion_N = Campo.Substring(Campo.IndexOf('-') + 2); float Peso_N = Convert.ToSingle(TextBox_PesoEva_RegistrarCiclo.Text); //if(Peso_N > 0 && Peso_N < 100)//Comprobar si hay peso disponible para ir agregando, en vez de 100, que sea el espacio disponible if (Peso_N > 0 && Peso_N <= Curso_Controller.GetPorcentajePorCompletar(Curso_Seleccionado_RC)) { eCampo Campo_Nuevo = new eCampo() { Descripcion = Descripcion_N, Tipo = Tipo_N, Numero = Numero_N, Peso = Peso_N }; Campo_Nuevo.Curso = Curso_Seleccionado_RC; switch (MessageBox.Show(string.Format("Se va a registrar el campo {0} al curso {1}", Campo, Curso_Seleccionado_RC.ToString()), "Registro de Campo", MessageBoxButton.OKCancel, MessageBoxImage.Information, MessageBoxResult.OK)) { case MessageBoxResult.OK: string message; if (Campo_Controller.Registrar_Campo(Campo_Nuevo, out message)) //Si se pudo registrar el curso { Curso_Seleccionado_RC.Campos.Add(Campo_Nuevo); //Agrego el campo al curso seleccionado DataGrid_Campos_RegistrarCiclo.ItemsSource = Curso_Seleccionado_RC.Campos; TextBox_PesoEva_RegistrarCiclo.Clear(); int Numero_Campos_Registrados; int Porcentaje_Campos_Registrados; Curso_Controller.GetCamposRegistrados(Curso_Seleccionado_RC, out Numero_Campos_Registrados, out Porcentaje_Campos_Registrados); TextBlock_EvasRegistradas_RegistrarCiclo.Text = Numero_Campos_Registrados.ToString(); TextBlock_PorcentajeRegistrado_RegistrarCiclo.Text = Porcentaje_Campos_Registrados.ToString(); //Verifico si ya estan todos los campos registrados if (Porcentaje_Campos_Registrados == 100) //Si ya estan registrados todos los campos { ComboBox_NombreEva_RegistrarCiclo.IsEnabled = false; TextBox_PesoEva_RegistrarCiclo.IsEnabled = false; Button_RegistrarEva_RegistrarCiclo.IsEnabled = false; MessageBox.Show("Este curso ya tiene todos sus campos registrados", "Curso Completo"); } else if (Porcentaje_Campos_Registrados > 100) { //Mostrar mensaje de error y eliminar el ultimo campo registrado } else { ComboBox_NombreEva_RegistrarCiclo.IsEnabled = true; TextBox_PesoEva_RegistrarCiclo.IsEnabled = true; Button_RegistrarEva_RegistrarCiclo.IsEnabled = true; } MessageBox.Show(message); /*if (isComplete_Ciclo(Ciclo_Seleccionado_RC)) * { * 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 { MessageBox.Show(message); } break; case MessageBoxResult.Cancel: TextBox_PesoEva_RegistrarCiclo.Focus(); break; } } else { MessageBox.Show("Ingrese un peso correcto"); TextBox_PesoEva_RegistrarCiclo.Focus(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void DataGrid_Evaluaciones_RegistrarNota_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox_Evaluaciones_RegistrarNota.SelectedItem = DataGrid_Evaluaciones_RegistrarNota.SelectedItem; Campo_Seleccionado_RN = ComboBox_Evaluaciones_RegistrarNota.SelectedItem as eCampo; }
private void DataGrid_Evaluaciones_VerInfo_SelectionChanged(object sender, SelectionChangedEventArgs e) { Campo_Seleccionado_VI = DataGrid_Evaluaciones_VerInfo.SelectedItem as eCampo; }
public bool Actualizar_Nota(eCampo Campo) { return(Campo_DB.Actualizar(Campo.Tipo, Campo.Numero, Campo.Curso.Codigo + "-0" + Campo.Curso.Vez, Campo.Nota)); }