예제 #1
0
 private void TxtRa_Leave(object sender, EventArgs e)
 {
     ulong.TryParse(txtRa.Text, out ulong ra);
     if (ra == 0)
     {
         return;
     }
     else
     {
         this.UseWaitCursor = true;
         Aluno aluno = ModuloBanco.AlunoGet(ra);
         if (aluno != null)
         {
             txtNome.Text = aluno.Nome;
             btnAdicionar.Focus();
         }
         this.UseWaitCursor = false;
     }
 }
        private async void BtnCalcular_ClickAsync(object sender, EventArgs e)
        {
            var min = mc.SelectionStart;
            var max = mc.SelectionEnd;

            double.TryParse(txtHoras.Text, out double horas);
            this.UseWaitCursor = true;
            List <ListaChamada> ListaResultadoPesquisa = await ModuloBanco.ListaChamadaColecao.Find(
                x => x.DataCriacao >= min &&
                x.DataCriacao <= max
                ).ToListAsync();

            Dictionary <ulong, ListaHoras> listahoras = new Dictionary <ulong, ListaHoras>();

            foreach (var listas in ListaResultadoPesquisa)
            {
                foreach (var alunoRA in listas.ListaRA)
                {
                    listahoras.TryGetValue(alunoRA, out ListaHoras listaPresensa);
                    var alunoNome = ModuloBanco.AlunoGet(alunoRA);
                    if (listaPresensa != null)
                    {
                        listaPresensa.Horas    += horas;
                        listaPresensa.NomeAluno = alunoNome.Nome;
                        listaPresensa.RA        = alunoRA;
                    }
                    else
                    {
                        ListaHoras alu = new ListaHoras();
                        alu.Horas     = horas;
                        alu.NomeAluno = alunoNome.Nome;
                        alu.RA        = alunoRA;
                        listahoras.Add(alunoRA, alu);
                    }
                }
            }
            dgvListaChamada.DataSource = listahoras.Values.ToList();
            this.UseWaitCursor         = false;
        }
예제 #3
0
 private void FormLista_Load(object sender, EventArgs e)
 {
     if (Editar)
     {
         _ListaChamada       = ModuloBanco.ListaChamadaGet(Id);
         txtDataCriacao.Text = _ListaChamada.DataCriacao.ToString();
         _Alunos             = new BindingList <Aluno>();
         foreach (var item in _ListaChamada.ListaRA)
         {
             _Alunos.Add(ModuloBanco.AlunoGet(item));
         }
         dgvListaChamada.DataSource = _Alunos;
         txtRa.Focus();
         txtRa.ReadOnly        = false;
         txtNome.ReadOnly      = false;
         txtNomeLista.Text     = _ListaChamada.NomeLista;
         txtNomeLista.ReadOnly = true;
         txtNomeLista.TabStop  = false;
         btnCriar.Visible      = false;
         btnAdicionar.Visible  = true;
         btnRemover.Visible    = true;
         label6.Visible        = true;
     }
     else
     {
         txtDataCriacao.Text = DateTime.Now.ToString();
         _ListaChamada       = new ListaChamada()
         {
             Id          = ObjectId.GenerateNewId(),
             DataCriacao = DateTime.Now,
             NomeLista   = "",
             ListaRA     = new List <ulong>(),
         };
         _Alunos = new BindingList <Aluno>();
         dgvListaChamada.DataSource = _Alunos;
         txtNomeLista.Focus();
     }
 }
예제 #4
0
        private void BtnAdicionar_Click(object sender, EventArgs e)
        {
            #region Checks
            if (CheckTextBox(txtNomeLista))
            {
                MessageBox.Show("Você precisa adicionar um nome a lista de chamda antes!");
                return;
            }

            if (CheckTextBox(txtRa))
            {
                MessageBox.Show("Você precisa colocar um RA!");
                return;
            }

            if (CheckTextBox(txtNome))
            {
                MessageBox.Show("Você precisa colocar um nome!");
                return;
            }
            #endregion
            this.UseWaitCursor = true;
            Aluno aluno = new Aluno()
            {
                Nome = txtNome.Text,
                RA   = Convert.ToUInt64(txtRa.Text)
            };
            foreach (var item in _Alunos)
            {
                if (item.RA == aluno.RA)
                {
                    this.UseWaitCursor = false;
                    MessageBox.Show("RA já adicionado na lista!");
                    return;
                }
            }
            Aluno nomeAlunoSalvo = ModuloBanco.AlunoGet(aluno.RA);
            if (nomeAlunoSalvo != null)
            {
                string nomef = nomeAlunoSalvo.Nome;
                if (aluno.Nome != nomef)
                {
                    this.UseWaitCursor = false;
                    if (MessageBox.Show($"O nome: '{aluno.Nome}' é diferente de '{nomef}'. Deseja salvar mesmo assim?", "Atenção, o nome é diferente!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        this.UseWaitCursor = true;
                        _Alunos.Add(aluno);
                        _ListaChamada.ListaRA.Add(aluno.RA);
                        ModuloBanco.AlunoAdd(aluno);
                        ModuloBanco.ListaChamadaEdit(_ListaChamada.Id, _ListaChamada);
                        txtNome.Clear();
                        txtRa.Focus();
                        txtRa.Clear();
                        this.UseWaitCursor = false;
                        return;
                    }
                    else
                    {
                        return;
                    }
                }
            }

            _Alunos.Add(aluno);
            _ListaChamada.ListaRA.Add(aluno.RA);
            ModuloBanco.AlunoAdd(aluno);
            ModuloBanco.ListaChamadaEdit(_ListaChamada.Id, _ListaChamada);
            txtNome.Clear();
            txtRa.Focus();
            txtRa.Clear();
            this.UseWaitCursor = false;
        }