private void btnGravar_Click(object sender, EventArgs e) { if (txtCodigo.Text.Length == 0 || txtNome.Text.Length == 0 || mskTxtDtNasc.Text.Length == 0 || txtIdade.Text.Length == 0) { MessageBox.Show("Há campos em branco!", "Dados Inválidos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } DateTime dtNasc; CadAlunoGUILHERME novo; Regex regex; try { dtNasc = DateTime.Parse(mskTxtDtNasc.Text); } catch (Exception ex) { MessageBox.Show("Tipo de data incorreto!\n" + ex.Message, "Data Inválida", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } regex = new Regex(@"^[1-9]\d*$"); //numeros positivos inteiros if (regex.IsMatch(txtCodigo.Text) == false) //se nem tudo for numero { MessageBox.Show("Código inválido!\nDigite apenas números.", "Código Inválido", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (dao == null) { dao = new AlunoDAO(); } if (dao.BuscarAluno(int.Parse(txtCodigo.Text)) != null)// verifica se aluno existe { MessageBox.Show("Código de aluno já existe", "Código Inválido", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } novo = new CadAlunoGUILHERME(); novo.Codigo = int.Parse(txtCodigo.Text); novo.Nome = txtNome.Text; novo.DtNasc = dtNasc; txtIdade.Text = Utilitarios.CalcularIdade(dtNasc).ToString(); try { dao.GravarNovoAluno(novo); MessageBox.Show("Aluno novo salvo com sucesso!", "Novo Aluno", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } catch (Exception ex) { MessageBox.Show("Falha ao gravar novo aluno.\n" + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Importa para o banco de dados /// todos alunos registrados no XML /// </summary> /// <param name="XMLPath"></param> public async void ImportaAlunos(string XMLPath) { XmlReader xmlReader = XmlReader.Create(XMLPath);//abre o XML if (db == null) { db = new AlunoContext(); // instancia o banco } CadAlunoGUILHERME alNovo; // cria o aluno while (xmlReader.Read()) //lendo... { alNovo = new CadAlunoGUILHERME(); //novo aluno if (xmlReader.HasAttributes) //se tiver atributos { while (xmlReader.MoveToNextAttribute()) //cada atributo do elemento { switch (xmlReader.Name) { case "codigo": alNovo.Codigo = int.Parse(xmlReader.Value); break; case "nome": alNovo.Nome = xmlReader.Value; break; case "dtNasc": alNovo.DtNasc = DateTime.Parse(xmlReader.Value); break; default: continue; } } } if (db.CadAlunoGUILHERME.Find(alNovo.Codigo) != null) { //salva o que ja foi importado MessageBox.Show( string.Format("Codigo de aluno ja existente: [Codigo: {0} - Nome: {1} - DtNasc: {2}]", alNovo.Codigo, alNovo.Nome, alNovo.DtNasc), "Erro", MessageBoxButtons.OK ); continue; } if (alNovo.Codigo == 0 || alNovo.Nome == null) { continue; } db.CadAlunoGUILHERME.Add(alNovo); //salva no banco } xmlReader.Close(); //fecha arquivo await db.SaveChangesAsync(); //commit }
/// <summary> /// Buscar um aluno Pelo codigo /// </summary> /// <param name="codigo"></param> /// <returns></returns> public CadAlunoGUILHERME BuscarAluno(int codigo) { if (db == null) { db = new AlunoContext(); } CadAlunoGUILHERME teste = db.CadAlunoGUILHERME.Find(codigo); return(teste); }
/// <summary> /// Grava um aluno no banco de dados /// </summary> /// <param name="alNovo">Tipo aluno</param> public void GravarNovoAluno(CadAlunoGUILHERME alNovo) { if (db == null) { db = new AlunoContext(); } db.CadAlunoGUILHERME.Add(alNovo); db.SaveChanges(); }