public bool Salvar(ProfissionalInfo profissionalInfo)
        {
            Acessor acessor = new Acessor();
            bool    sucesso = true;

            try
            {
                using (TransactionScope transacao = new TransactionScope())
                {
                    if (ValidaProfissional(profissionalInfo))
                    {
                        if (profissionalInfo.IsNew)
                        {
                            sucesso = acessor.ProfissionalDal.Inserir(profissionalInfo);
                        }
                        else if (profissionalInfo.IsDirty)
                        {
                            sucesso = acessor.ProfissionalDal.Editar(profissionalInfo);
                        }
                    }
                    transacao.Complete();
                }
                return(sucesso);
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message, exc);
            }
            finally
            {
                acessor = null;
            }
        }
        private void metroButton2_Click(object sender, EventArgs e)
        {
            ProfissionalInfo info = new ProfissionalInfo();
            ProfissionalBll  bll  = new ProfissionalBll();

            try
            {
                if (VerificaCamposObrigatorios())
                {
                    info.PRO_Cpf      = txtCpf.Text.Replace(".", "").Replace("-", "");
                    info.PRO_Nome     = txtNome.Text;
                    info.PRO_Telefone = txtTelefone.Text.Replace("()", "").Replace("-", "");
                    info.PRO_Veiculo  = txtVeiculo.Text;
                    info.PRO_Placa    = txtPlaca.Text.Replace("-", "");
                    info.PRO_Empresa  = txtEmpresa.Text;
                    info.PRO_Foto     = "";
                    if (bll.Salvar(info))
                    {
                        MetroMessageBox.Show(this, "Dados salvo com sucesso.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MetroMessageBox.Show(this, "Erro ao salvar dados.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception exc)
            {
                MetroMessageBox.Show(this, "Campo CPF obrigatório.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                info = null;
            }
        }
        private bool ValidaProfissional(ProfissionalInfo profissionalInfo)
        {
            bool sucesso = true;

            try
            {
                if (profissionalInfo == null)
                {
                    throw new Exception("Objeto ProfissionalInfo é nulo");
                }
            }
            catch
            {
                sucesso = false;
            }
            return(sucesso);
        }
        public ProfissionalInfo ListarPorCodigo(int pro_codigo)
        {
            Acessor          acessor          = new Acessor();
            ProfissionalInfo profissionalInfo = new ProfissionalInfo();

            try
            {
                return(profissionalInfo = acessor.ProfissionalDal.ListarPorCodigo(pro_codigo));
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message, exc);
            }
            finally
            {
                acessor = null;
            }
        }
        public bool Inserir(ProfissionalInfo profissionalInfo)
        {
            List <SqlParameter> lParam = new List <SqlParameter>();
            bool            sucesso    = false;
            StoredProcedure sp         = null;
            SqlDataReader   dr         = null;

            try
            {
                lParam.Add(new SqlParameter(paramPRO_Cpf, profissionalInfo.PRO_Cpf));
                lParam.Add(new SqlParameter(paramPRO_Rg, profissionalInfo.PRO_Rg));
                lParam.Add(new SqlParameter(paramPRO_Nome, profissionalInfo.PRO_Nome));
                lParam.Add(new SqlParameter(paramPRO_Telefone, profissionalInfo.PRO_Telefone));
                lParam.Add(new SqlParameter(paramPRO_Veiculo, profissionalInfo.PRO_Veiculo));
                lParam.Add(new SqlParameter(paramPRO_Placa, profissionalInfo.PRO_Placa));
                lParam.Add(new SqlParameter(paramPRO_Foto, profissionalInfo.PRO_Foto));
                lParam.Add(new SqlParameter(paramPRO_Empresa, profissionalInfo.PRO_Empresa));

                using (sp = new StoredProcedure(spInserir, lParam, ConexoesBanco.PlusCondominios))
                {
                    dr = sp.GetDataReader();
                    if (dr.Read())
                    {
                        profissionalInfo.PRO_Codigo = int.Parse(dr["PRO_Codigo"].ToString());
                        sucesso = true;
                    }
                    else
                    {
                        sucesso = false;
                    }
                }
            }
            catch (Exception exc)
            {
                sucesso = false;
                throw new Exception(exc.Message, exc);
            }
            finally
            {
                lParam = null;
                dr.Close();
            }
            return(sucesso);
        }