예제 #1
0
        private void tmrRelogio_Tick(object sender, EventArgs e)
        {
            try
            {
                //se for escolhido o radioButton rbtVontadeProria, o requerente e prontuário serão o usuário logado
                if (rbtVontadePropria.Checked)
                {
                    if (!String.IsNullOrEmpty(txtProntuarioAluno.Text))
                    {
                        _Requerente = bd.GetNome("PRONTUARIO", txtProntuarioAluno.Text, "ALUNO");
                    }
                }
                else
                if (rbtOutros.Checked)
                {
                    if (!String.IsNullOrEmpty(txtRequerente.Text))
                    {
                        //caso contrário, será necessário escolher um dos funcionários cadastrados
                        _Requerente = txtRequerente.Text;
                    }
                }

                if (Codigo == null)
                {
                    //Verifica se todos os campos estão preenchidos para o cadastro
                    if (!String.IsNullOrEmpty(txtProntuarioAluno.Text) && !String.IsNullOrEmpty(_Requerente) &&
                        cmbAluno.SelectedIndex != -1 && cmbStatus.SelectedIndex != -1 &&
                        txtProntuarioAluno.Text.Length == 7 &&
                        !String.IsNullOrEmpty(txtProvidencias.Text) && !String.IsNullOrEmpty(txtRelato.Text))
                    {
                        btnConcluir.Enabled = true;
                    }
                    else
                    {
                        btnConcluir.Enabled = false;
                    }
                }
                else
                {
                    if (cmbStatus.SelectedIndex != -1)
                    {
                        btnConcluir.Enabled = true;
                    }
                }

                EmissaoAtendimento eat = new EmissaoAtendimento();

                //Vai pegar a quantidade de linhas de atendimentos emitidos que há no banco e somar mais  1
                int rows = Convert.ToInt16(eat.GetIDCount().Rows.Count.ToString()) + 1;

                txtCodAtendimento.Text = rows.ToString();
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, ex.Message, "Ocorreu um erro", MessageBoxButtons.OK, MessageBoxIcon.Error, 150);
            }
        }
예제 #2
0
        private void btnConcluir_Click(object sender, EventArgs e)
        {
            try
            {
                //Instância da classe Funcionário
                Funcionario fun = new Funcionario();

                //Pego o prontuário do funcionário a partir do valor do id do login
                string prontuarioFuncionario = bd.GetProntuario("ID_LOGIN", _IdLogin.ToString(), "FUNCIONARIOS");

                //Pego o email a partir do valor do prontuário
                string email = fun.GetEmail(prontuarioFuncionario);

                if (Codigo == null)
                {
                    #region Cadastrando dados da Emissão

                    EmissaoAtendimento eat = new EmissaoAtendimento(cmbAluno.SelectedItem.ToString(), _Requerente, txtRelato.Text,
                                                                    txtProvidencias.Text, cmbStatus.SelectedItem.ToString(), txtProntuarioAluno.Text);


                    MetroMessageBox.Show(this, eat.Insere(cmbAluno.SelectedItem.ToString(), _Requerente, txtRelato.Text,
                                                          txtProvidencias.Text, cmbStatus.SelectedItem.ToString(), txtProntuarioAluno.Text)
                                         , "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Question, 150);

                    #endregion
                }
                else
                {
                    #region Alterando valor do status

                    EmissaoAtendimento eat = new EmissaoAtendimento();

                    MetroMessageBox.Show(this, eat.Altera(Codigo, cmbStatus.SelectedItem.ToString()),
                                         "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Question, 150);

                    #endregion
                }

                #region Enviando Email

                if (!String.IsNullOrEmpty(email))
                {
                    //Se o status da emissão for pendente, será enviado um email avisando para marcar nova data para finalizar o atendimento.
                    if (cmbStatus.SelectedItem.ToString() == "Pendente")
                    {
                        var opcao = MetroMessageBox.Show(this, "Deseja enviar um e-mail para o servidor(a) avisando-o(a) sobre a emissão pendente?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, 150);

                        if (opcao == System.Windows.Forms.DialogResult.Yes)
                        {
                            frmEncaminharAtendimento frm = new frmEncaminharAtendimento();

                            frm.Email = email;
                            frm.EnviarEmail(frm.Email, "emissao");

                            MetroMessageBox.Show(this, "E-mail enviado com sucesso!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Question, 150);
                        }
                    }
                }

                #endregion

                #region Saindo ou limpando campos do formulário

                //pergunta se quer fechar o form ou não
                var sair = MetroMessageBox.Show(this, "Fechar o formulário?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, 150);

                if (sair == System.Windows.Forms.DialogResult.Yes)
                {
                    this.Close();
                }
                else
                {
                    LimparCampos();
                }

                #endregion
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, ex.Message, "Ocorreu um erro", MessageBoxButtons.OK, MessageBoxIcon.Error, 200);
            }
        }