public void ControleAbaPJuridico(bool editar, ContatoJuridico c)
        {
            CarregarComboVinculadoOS();
            cbVinculadoPJuridica.IsEnabled         = false;
            cbOrganizacaoSocialPJuridica.IsEnabled = false;
            chWhatsappPJuridica.IsEnabled          = false;
            tcContatos.SelectedItem = tabPJuridica;

            if (editar.Equals(true))
            {
                contatoJuridico = controleJuridico.ConsultarPorNome(c.Nome);

                btnGravarPJuridica.IsEnabled = false;
                btnEditarPJuridica.IsEnabled = true;
                tabFisica.IsEnabled          = false;

                cbCategoriaPJuridica.SelectedItem = c.Categoria;
                txtNomePJuridica.Text             = c.Nome;
                txtDescricaoPJuridica.Text        = c.Descricao;

                if (c.Categoria.Equals(Categoria.Unidade_de_Saúde))
                {
                    cbVinculadoPJuridica.IsEnabled         = true;
                    cbOrganizacaoSocialPJuridica.IsEnabled = true;

                    for (int i = 0; i < auditoriaPJuridica.Count; i++)
                    {
                        if (c.Auditoria != null)
                        {
                            if (auditoriaPJuridica.ToList()[i].ToString().Equals(c.Auditoria.ToString()))
                            {
                                cbVinculadoPJuridica.SelectedIndex = i;
                            }
                        }
                    }

                    for (int i = 0; i < organizacaoSocialPJuridica.Count; i++)
                    {
                        if (c.OrganizacaoSocial != null)
                        {
                            if (organizacaoSocialPJuridica.ToList()[i].ToString().Equals(c.OrganizacaoSocial.ToString()))
                            {
                                cbOrganizacaoSocialPJuridica.SelectedIndex = i;
                            }
                        }
                    }
                }

                listEmailPJuridica    = c.Emails;
                listTelefonePJuridica = c.Telefones;

                DGEmailPJuridica.ItemsSource    = listEmailPJuridica;
                DGTelefonePJuridica.ItemsSource = listTelefonePJuridica;
            }
            else
            {
                btnGravarPJuridica.IsEnabled = true;
                btnEditarPJuridica.IsEnabled = false;
            }
        }
        public Page_Contatos(bool editar, ContatoJuridico c)
        {
            InitializeComponent();

            CarregarComboVinculadoOS();
            InitPF();
            InitPJ();
            contatoJ = c;
            ControleAbaPJuridico(editar, c);
        }
        public Page_Contato_Juridico(bool editar, ContatoJuridico c)
        {
            InitializeComponent();

            Init();

            contatoJuridico = c;

            ControlePagina(editar, contatoJuridico);
        }
        public static Page_Contatos Instance(bool editar, ContatoJuridico c)
        {
            lock (typeof(Page_Contatos))
                if (instance == null)
                {
                    instance = new Page_Contatos(editar, c);
                }

            return(instance);
        }
 public void CarregarJuridico(bool editar, ContatoJuridico ct)
 {
     try
     {
         ControleAbaPJuridico(editar, ct);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Ocorreu um erro: " + ex.Message);
     }
 }
Example #6
0
        public void Modificar(ContatoJuridico contato)
        {
            using (var context = new ContatoDbContext())
            {
                //Faz uma consulta no banco de dados e traz os dados relacionados a este registro
                var result = context.ContatoJuridicos.Include(t => t.Telefones).Include(e => e.Emails).Single(c => c.Id == contato.Id);
                //Altera o valor do resultado trazido pelo banco de dados pelo que foi editado
                context.Entry(result).CurrentValues.SetValues(contato);
                //Deleta todos os registros de telefone com a chave estrangeira do registro
                foreach (var cont in result.Telefones.ToList())
                {
                    if (!contato.Telefones.Any(s => s.Id == cont.Id))
                    {
                        context.Telefones.Remove(cont);
                    }
                }
                //Deleta todos os registros de email com a chave estrangeira do registro
                foreach (var email in result.Emails.ToList())
                {
                    if (!contato.Emails.Any(s => s.Id == email.Id))
                    {
                        context.Emails.Remove(email);
                    }
                }
                //Altera registros de telefones existentes e acrescenta novos números, caso haja
                foreach (var newtel in contato.Telefones)
                {
                    var dbTel = result.Telefones.SingleOrDefault(s => s.Id == newtel.Id);
                    if (dbTel != null)
                    {
                        context.Entry(dbTel).CurrentValues.SetValues(newtel);
                    }
                    else
                    {
                        result.Telefones.Add(newtel);
                    }
                }
                //Altera registros de emails existentes e acrescenta novos endeços, caso haja
                foreach (var newemail in contato.Emails)
                {
                    var dbEmail = result.Emails.SingleOrDefault(s => s.Id == newemail.Id);
                    if (dbEmail != null)
                    {
                        context.Entry(dbEmail).CurrentValues.SetValues(newemail);
                    }
                    else
                    {
                        result.Emails.Add(newemail);
                    }
                }

                context.SaveChanges();
            }
        }
Example #7
0
        public void Excluir(int id)
        {
            using (var context = new ContatoDbContext())
            {
                var contato = new ContatoJuridico()
                {
                    Id = id
                };
                context.ContatoJuridicos.Remove(contato);

                context.SaveChanges();
            }
        }
Example #8
0
 private void BtnCriarDemoPJuridica_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         ContatoJuridico c    = (ContatoJuridico)DgContatoPJuridica.SelectedItem;
         ViewDetalhes    view = new ViewDetalhes();
         view.DetalheContatoJuridico(c);
         view.Show();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        private void BtnEditarContato_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ContatoJuridico c = new ContatoJuridico();
                c = (ContatoJuridico)DgContato.SelectedItem;

                Page_Contato_Juridico p = new Page_Contato_Juridico(true, c);

                ViewContatoJuridico v = new ViewContatoJuridico();

                v.AbrirDeUmaPagina(p);
                v.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #10
0
        public void SalvarContatoJuridico(ContatoJuridico contatoJuridico)
        {
            using (ContatoDbContext con = new ContatoDbContext())
            {
                if (contatoJuridico.Auditoria != null)
                {
                    int i = contatoJuridico.Auditoria.Id;
                    contatoJuridico.Auditoria = null;
                    contatoJuridico.Auditoria = con.ContatoJuridicos.Find(i);
                }

                if (contatoJuridico.OrganizacaoSocial != null)
                {
                    int i = contatoJuridico.OrganizacaoSocial.Id;
                    contatoJuridico.OrganizacaoSocial = null;
                    contatoJuridico.OrganizacaoSocial = con.ContatoJuridicos.Find(i);
                }

                con.ContatoJuridicos.Add(contatoJuridico);
                con.SaveChanges();
            }
        }
Example #11
0
        private void BtnEditarContatoPJuridica_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ContatoJuridico c = new ContatoJuridico();
                c = (ContatoJuridico)DgContatoPJuridica.SelectedItem;

                c = controleContato.ConsultarPorNome(c.Nome);

                //ViewContatoJuridico v = new ViewContatoJuridico();
                ViewContatoJuridico v = ViewContatoJuridico.Instance();

                Page_Contatos p = Page_Contatos.Instance(true, c);

                v.AbrirDeUmaPagina(p);
                p.ControleAbaPJuridico(true, c);
                v.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void BtnExcluirContato_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                MessageBoxResult result = MessageBox.Show("Tem certeza que deseja deletar este registro.", "Excluir", MessageBoxButton.YesNoCancel);

                if (result.Equals(MessageBoxResult.Yes))
                {
                    ContatoJuridico c = new ContatoJuridico();
                    c = (ContatoJuridico)DgContato.SelectedItem;
                    controleContato.Excluir(c.Id);

                    MessageBox.Show("Registro Deletado com sucesso!");

                    DgContato.ItemsSource = null;
                    DgContato.ItemsSource = controleContato.ListarContatoJuridico();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #13
0
        public void DetalheContatoJuridico(ContatoJuridico b)
        {
            try
            {
                #region Nome

                Label lbRotuloNome = new Label();
                lbRotuloNome.Content    = "Nome:";
                lbRotuloNome.Width      = 100;
                lbRotuloNome.FontWeight = FontWeights.UltraBold;
                lbRotuloNome.FontSize   = 16;
                lbRotuloNome.HorizontalContentAlignment = HorizontalAlignment.Left;
                Grid.SetColumn(lbRotuloNome, 0);
                Grid.SetRow(lbRotuloNome, 0);
                Grid.SetRowSpan(lbRotuloNome, 1);
                Grid.SetColumnSpan(lbRotuloNome, 2);

                Label lbNome = new Label();
                lbNome.Background = Brushes.Azure;
                lbNome.Content    = b.Nome;
                lbNome.Width      = 300;
                lbNome.HorizontalContentAlignment = HorizontalAlignment.Left;
                Border borderNome = new Border();
                borderNome.BorderThickness = new Thickness(1);
                borderNome.BorderBrush     = Brushes.Black;
                borderNome.Child           = lbNome;
                Grid.SetColumn(borderNome, 2);
                Grid.SetRow(borderNome, 0);
                Grid.SetRowSpan(borderNome, 1);
                Grid.SetColumnSpan(borderNome, 5);

                #endregion

                #region Descrição

                Label lbRotuloDecricao = new Label();
                lbRotuloDecricao.Content    = "Descrição:";
                lbRotuloDecricao.Width      = 100;
                lbRotuloDecricao.FontWeight = FontWeights.UltraBold;
                lbRotuloDecricao.FontSize   = 16;
                lbRotuloDecricao.HorizontalContentAlignment = HorizontalAlignment.Left;
                Grid.SetColumn(lbRotuloDecricao, 0);
                Grid.SetRow(lbRotuloDecricao, 1);
                Grid.SetRowSpan(lbRotuloDecricao, 1);
                Grid.SetColumnSpan(lbRotuloDecricao, 2);

                TextBlock txtbDescricao = new TextBlock();
                txtbDescricao.Background   = Brushes.Azure;
                txtbDescricao.Text         = b.Descricao;
                txtbDescricao.Width        = 300;
                txtbDescricao.IsEnabled    = false;
                txtbDescricao.TextWrapping = TextWrapping.Wrap;
                Border borderDescricao = new Border();
                borderDescricao.BorderThickness = new Thickness(1);
                borderDescricao.BorderBrush     = Brushes.Black;
                borderDescricao.Child           = txtbDescricao;
                Grid.SetColumn(borderDescricao, 2);
                Grid.SetRow(borderDescricao, 1);
                Grid.SetRowSpan(borderDescricao, 1);
                Grid.SetColumnSpan(borderDescricao, 5);

                #endregion

                #region Categoria

                Label lbRotuloCategoria = new Label();
                lbRotuloCategoria.Content    = "Categoria:";
                lbRotuloCategoria.Width      = 100;
                lbRotuloCategoria.FontWeight = FontWeights.UltraBold;
                lbRotuloCategoria.FontSize   = 16;
                lbRotuloCategoria.HorizontalContentAlignment = HorizontalAlignment.Left;
                Grid.SetColumn(lbRotuloCategoria, 0);
                Grid.SetRow(lbRotuloCategoria, 2);
                Grid.SetRowSpan(lbRotuloCategoria, 1);
                Grid.SetColumnSpan(lbRotuloCategoria, 2);

                TextBlock txtbCategoria = new TextBlock();
                txtbCategoria.Background   = Brushes.Azure;
                txtbCategoria.Text         = b.Categoria.ToString();
                txtbCategoria.Width        = 300;
                txtbCategoria.IsEnabled    = false;
                txtbCategoria.TextWrapping = TextWrapping.Wrap;
                Border borderCategoria = new Border();
                borderCategoria.BorderThickness = new Thickness(1);
                borderCategoria.BorderBrush     = Brushes.Black;
                borderCategoria.Child           = txtbCategoria;
                Grid.SetColumn(borderCategoria, 2);
                Grid.SetRow(borderCategoria, 2);
                Grid.SetRowSpan(borderCategoria, 1);
                Grid.SetColumnSpan(borderCategoria, 5);

                #endregion

                #region Vinculo

                Label lbRotuloAuditoria = new Label();
                Label lbAuditoria       = new Label();
                Label lbRotuloOrgSocial = new Label();
                Label lbOrgSocial       = new Label();

                if (b.Categoria.Equals(Categoria.Unidade_de_Saúde))
                {
                    #region Auditoria

                    lbRotuloAuditoria.Content    = "Auditoria:";
                    lbRotuloAuditoria.Width      = 100;
                    lbRotuloAuditoria.FontWeight = FontWeights.UltraBold;
                    lbRotuloAuditoria.FontSize   = 16;
                    lbRotuloAuditoria.HorizontalContentAlignment = HorizontalAlignment.Left;
                    Grid.SetColumn(lbRotuloAuditoria, 0);
                    Grid.SetRow(lbRotuloAuditoria, 4);
                    Grid.SetRowSpan(lbRotuloAuditoria, 1);
                    Grid.SetColumnSpan(lbRotuloAuditoria, 2);

                    lbAuditoria.Background = Brushes.Azure;
                    if (b.Auditoria != null)
                    {
                        lbAuditoria.Content = b.Auditoria.ToString();
                    }
                    else
                    {
                        lbAuditoria.Content = "Sem Vinculo";
                    }
                    lbAuditoria.Width = 300;
                    lbAuditoria.HorizontalContentAlignment = HorizontalAlignment.Left;
                    Grid.SetColumn(lbAuditoria, 2);
                    Grid.SetRow(lbAuditoria, 4);
                    Grid.SetRowSpan(lbAuditoria, 1);
                    Grid.SetColumnSpan(lbAuditoria, 5);

                    #endregion

                    #region Organização Social

                    lbRotuloOrgSocial.Content    = "Organização Social:";
                    lbRotuloOrgSocial.Width      = 100;
                    lbRotuloOrgSocial.FontWeight = FontWeights.UltraBold;
                    lbRotuloOrgSocial.FontSize   = 16;
                    lbRotuloOrgSocial.HorizontalContentAlignment = HorizontalAlignment.Left;
                    Grid.SetColumn(lbRotuloOrgSocial, 0);
                    Grid.SetRow(lbRotuloOrgSocial, 3);
                    Grid.SetRowSpan(lbRotuloOrgSocial, 1);
                    Grid.SetColumnSpan(lbRotuloOrgSocial, 2);

                    lbOrgSocial.Background = Brushes.Azure;
                    if (b.OrganizacaoSocial != null)
                    {
                        lbOrgSocial.Content = b.OrganizacaoSocial.ToString();
                    }
                    else
                    {
                        lbOrgSocial.Content = "Sem Vinculo";
                    }
                    lbOrgSocial.Width = 300;
                    lbOrgSocial.HorizontalContentAlignment = HorizontalAlignment.Left;
                    Grid.SetColumn(lbOrgSocial, 2);
                    Grid.SetRow(lbOrgSocial, 3);
                    Grid.SetRowSpan(lbOrgSocial, 1);
                    Grid.SetColumnSpan(lbOrgSocial, 5);

                    #endregion
                }

                #endregion

                #region Telefone

                Label lbRotuloTelefone = new Label();
                lbRotuloTelefone.Content    = "Telefones:";
                lbRotuloTelefone.Width      = 100;
                lbRotuloTelefone.FontWeight = FontWeights.UltraBold;
                lbRotuloTelefone.FontSize   = 16;
                lbRotuloTelefone.HorizontalContentAlignment = HorizontalAlignment.Left;
                lbRotuloTelefone.HorizontalAlignment        = HorizontalAlignment.Center;
                Grid.SetColumn(lbRotuloTelefone, 0);
                Grid.SetRow(lbRotuloTelefone, 5);
                Grid.SetRowSpan(lbRotuloTelefone, 1);
                Grid.SetColumnSpan(lbRotuloTelefone, 2);

                StackPanel stackTelefone = new StackPanel();
                stackTelefone.Background = Brushes.Azure;
                Grid.SetColumn(stackTelefone, 2);
                Grid.SetRow(stackTelefone, 5);
                Grid.SetRowSpan(stackTelefone, 1);
                Grid.SetColumnSpan(stackTelefone, 5);

                string telefone = "";

                List <Telefone> telefones = b.Telefones.ToList();

                for (int i = 0; i < telefones.Count; i++)
                {
                    telefone = "lbTelefone_" + i;
                    Label lb = new Label();
                    lb.Name    = telefone;
                    lb.Content = telefones[i].ToDetalhes();
                    stackTelefone.Children.Add(lb);
                }

                #endregion

                #region Email

                Label lbRotuloEmail = new Label();
                lbRotuloEmail.Content    = "Emails:";
                lbRotuloEmail.Width      = 100;
                lbRotuloEmail.FontWeight = FontWeights.UltraBold;
                lbRotuloEmail.FontSize   = 16;
                lbRotuloEmail.HorizontalContentAlignment = HorizontalAlignment.Left;
                lbRotuloEmail.HorizontalAlignment        = HorizontalAlignment.Left;
                Grid.SetColumn(lbRotuloEmail, 0);
                Grid.SetRow(lbRotuloEmail, 6);
                Grid.SetRowSpan(lbRotuloEmail, 1);
                Grid.SetColumnSpan(lbRotuloEmail, 2);

                StackPanel stackEmail = new StackPanel();
                var        converter  = new System.Windows.Media.BrushConverter();
                stackEmail.Background = (Brush)converter.ConvertFromString("#7cffd4");
                Grid.SetColumn(stackEmail, 2);
                Grid.SetRow(stackEmail, 6);
                Grid.SetRowSpan(stackEmail, 1);
                Grid.SetColumnSpan(stackEmail, 5);
                string       email  = "";
                List <Email> emails = b.Emails.ToList();
                for (int i = 0; i < emails.Count; i++)
                {
                    email = "lbTelefone_" + i;
                    Label lbc = new Label();
                    lbc.Name    = email;
                    lbc.Content = emails[i].ToDetalhes();
                    stackEmail.Children.Add(lbc);
                }

                #endregion

                #region Contatos

                Label lbRotuloContatos = new Label();
                lbRotuloContatos.Content    = "Contatos:";
                lbRotuloContatos.Width      = 100;
                lbRotuloContatos.FontWeight = FontWeights.UltraBold;
                lbRotuloContatos.FontSize   = 16;
                lbRotuloContatos.HorizontalContentAlignment = HorizontalAlignment.Left;
                lbRotuloContatos.HorizontalAlignment        = HorizontalAlignment.Left;
                lbRotuloContatos.VerticalAlignment          = VerticalAlignment.Center;
                lbRotuloContatos.VerticalContentAlignment   = VerticalAlignment.Center;
                Grid.SetColumn(lbRotuloContatos, 0);
                Grid.SetRow(lbRotuloContatos, 7);
                Grid.SetRowSpan(lbRotuloContatos, 1);
                Grid.SetColumnSpan(lbRotuloContatos, 2);

                StackPanel stackContato = new StackPanel();
                var        converter1   = new System.Windows.Media.BrushConverter();
                stackContato.Background = (Brush)converter1.ConvertFromString("#7affd4");
                Grid.SetColumn(stackContato, 2);
                Grid.SetRow(stackContato, 7);
                Grid.SetRowSpan(stackContato, 1);
                Grid.SetColumnSpan(stackContato, 5);
                string         contato  = "";
                List <Contato> contatos = b.Contatos.ToList();
                for (int i = 0; i < contatos.Count; i++)
                {
                    contato = "lbContatos_" + i;
                    Label lcd = new Label();
                    lcd.Name    = contato;
                    lcd.Content = contatos[i];
                    stackEmail.Children.Add(lcd);
                }

                #endregion

                #region Juridicos

                Label      lbRotuloJuridicos = new Label();
                StackPanel stackJuridicos    = new StackPanel();

                if (b.Categoria.Equals(Categoria.Auditoria) || b.Categoria.Equals(Categoria.Organização_Social))
                {
                    lbRotuloJuridicos.Content    = "Jurídicos:";
                    lbRotuloJuridicos.Width      = 100;
                    lbRotuloJuridicos.FontWeight = FontWeights.UltraBold;
                    lbRotuloJuridicos.FontSize   = 16;
                    lbRotuloJuridicos.HorizontalContentAlignment = HorizontalAlignment.Left;
                    lbRotuloJuridicos.HorizontalAlignment        = HorizontalAlignment.Left;
                    Grid.SetColumn(lbRotuloJuridicos, 0);
                    Grid.SetRow(lbRotuloJuridicos, 8);
                    Grid.SetRowSpan(lbRotuloJuridicos, 1);
                    Grid.SetColumnSpan(lbRotuloJuridicos, 2);

                    var converter2 = new System.Windows.Media.BrushConverter();
                    stackJuridicos.Background = (Brush)converter2.ConvertFromString("#77ffd4");
                    Grid.SetColumn(stackJuridicos, 2);
                    Grid.SetRow(stackJuridicos, 8);
                    Grid.SetRowSpan(stackJuridicos, 1);
                    Grid.SetColumnSpan(stackJuridicos, 5);
                    string juridico = "";
                    List <ContatoJuridico> juridicos = b.Juridicos.ToList();
                    for (int i = 0; i < juridicos.Count; i++)
                    {
                        juridico = "lbContatos_" + i;
                        Label lbj = new Label();
                        lbj.Name    = juridico;
                        lbj.Content = juridicos[i];
                        stackEmail.Children.Add(lbj);
                    }
                }

                #endregion

                GridConteudo.Children.Add(lbRotuloNome);
                GridConteudo.Children.Add(borderNome);
                GridConteudo.Children.Add(lbRotuloDecricao);
                GridConteudo.Children.Add(borderDescricao);
                GridConteudo.Children.Add(lbRotuloAuditoria);
                GridConteudo.Children.Add(lbAuditoria);
                GridConteudo.Children.Add(lbRotuloOrgSocial);
                GridConteudo.Children.Add(lbOrgSocial);
                GridConteudo.Children.Add(lbRotuloTelefone);
                GridConteudo.Children.Add(stackTelefone);
                GridConteudo.Children.Add(lbRotuloEmail);
                GridConteudo.Children.Add(stackEmail);
                GridConteudo.Children.Add(lbRotuloCategoria);
                GridConteudo.Children.Add(borderCategoria);
                GridConteudo.Children.Add(lbRotuloContatos);
                GridConteudo.Children.Add(stackContato);
                GridConteudo.Children.Add(lbRotuloJuridicos);
                GridConteudo.Children.Add(stackJuridicos);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #14
0
 public void Modificar(ContatoJuridico c)
 {
     contato.Modificar(c);
 }
Example #15
0
 public void salvarContatoJuridico(ContatoJuridico c)
 {
     contato.SalvarContatoJuridico(c);
 }
        private void ControlePagina(bool editar, ContatoJuridico c)
        {
            cbVinculado.IsEnabled         = false;
            cbOrganizacaoSocial.IsEnabled = false;
            chWhatsapp.IsEnabled          = false;

            if (editar.Equals(true))
            {
                btnGravar.IsEnabled = false;
                btnEditar.IsEnabled = true;

                foreach (ContatoJuridico cj in auditoria)
                {
                    if (cj.Categoria.Equals(Categoria.Auditoria))
                    {
                        cbVinculado.Items.Add(cj);
                    }
                    else if (cj.Categoria.Equals(Categoria.Organização_Social))
                    {
                        cbOrganizacaoSocial.Items.Add(cj);
                    }
                }

                cbCategoria.SelectedItem = c.Categoria;
                txtNome.Text             = c.Nome;
                txtDescricao.Text        = c.Descricao;

                if (c.Categoria.Equals(Categoria.Unidade_de_Saúde))
                {
                    cbVinculado.IsEnabled         = true;
                    cbOrganizacaoSocial.IsEnabled = true;

                    for (int i = 0; i < auditoria.Count; i++)
                    {
                        if (c.Auditoria != null)
                        {
                            if (auditoria.ToList()[i].ToString().Equals(c.Auditoria.ToString()))
                            {
                                cbVinculado.SelectedIndex = i;
                            }
                        }
                    }

                    for (int i = 0; i < organizacaoSocial.Count; i++)
                    {
                        if (c.OrganizacaoSocial != null)
                        {
                            if (organizacaoSocial.ToList()[i].ToString().Equals(c.OrganizacaoSocial.ToString()))
                            {
                                cbOrganizacaoSocial.SelectedIndex = i;
                            }
                        }
                    }
                }

                listEmail    = c.Emails;
                listTelefone = c.Telefones;

                DGEmail.ItemsSource    = listEmail;
                DGTelefone.ItemsSource = listTelefone;
            }
            else
            {
                btnGravar.IsEnabled = true;
                btnEditar.IsEnabled = false;

                foreach (ContatoJuridico cj in auditoria)
                {
                    if (cj.Categoria.Equals(Categoria.Auditoria))
                    {
                        cbVinculado.Items.Add(cj);
                    }
                    else if (cj.Categoria.Equals(Categoria.Organização_Social))
                    {
                        cbOrganizacaoSocial.Items.Add(cj);
                    }
                }
            }
        }
        private void BtnGravarPJuridica_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (controleJuridico.ConsultarPorNome(txtNomePJuridica.Text) != null)
                {
                    MessageBox.Show("Este nome de contato já existe no banco de dados. Por favor, verifique a listagem.");
                }
                else
                {
                    contatoJuridico = new ContatoJuridico();

                    bool bnome      = false;
                    bool bcategoria = false;
                    bool bemail     = false;
                    bool btelefone  = false;

                    if (txtNomePJuridica.Text != "")
                    {
                        bnome = true;
                        contatoJuridico.Nome = txtNomePJuridica.Text;
                    }
                    else
                    {
                        MessageBox.Show("Informe um nome!");
                    }

                    if (txtDescricaoPJuridica.Text != "")
                    {
                        contatoJuridico.Descricao = txtDescricaoPJuridica.Text;
                    }
                    else
                    {
                        MessageBox.Show("Informe uma descrição!");
                    }

                    if (cbCategoriaPJuridica.SelectedItem != null)
                    {
                        bcategoria = true;
                        contatoJuridico.Categoria = (Categoria)cbCategoriaPJuridica.SelectedItem;
                    }
                    else
                    {
                        contatoJuridico.Categoria = 0;
                    }

                    contatoJuridico.Tipo = Tipo.Juridica;

                    if (listEmailPJuridica.Count == 0 && listTelefonePJuridica.Count == 0)
                    {
                        MessageBox.Show("Informe um endereço de email ou um número de telefone para continuar com o processo de cadastro");
                    }

                    if (listEmailPJuridica.Count != 0)
                    {
                        bemail = true;
                        contatoJuridico.Emails = listEmailPJuridica;
                    }

                    if (listTelefonePJuridica.Count != 0)
                    {
                        btelefone = true;
                        contatoJuridico.Telefones = listTelefonePJuridica;
                    }

                    if (cbVinculadoPJuridica.SelectedItem != null)
                    {
                        contatoJuridico.Auditoria = (ContatoJuridico)cbVinculadoPJuridica.SelectedItem;
                    }
                    else
                    {
                        contatoJuridico.Auditoria = null;
                    }

                    if (cbOrganizacaoSocialPJuridica.SelectedItem != null)
                    {
                        contatoJuridico.OrganizacaoSocial = (ContatoJuridico)cbOrganizacaoSocialPJuridica.SelectedItem;
                    }
                    else
                    {
                        contatoJuridico.OrganizacaoSocial = null;
                    }


                    if (bnome.Equals(false) || bcategoria.Equals(false) || bemail.Equals(false) && btelefone.Equals(false))
                    {
                        MessageBox.Show("Um ou mais dados obrigatórios estão ausentes (Nome, Categoria, Email ou Telefone).");
                    }
                    else
                    {
                        controleJuridico.salvarContatoJuridico(contatoJuridico);
                        MessageBox.Show("Novo contato jurídico gravado com sucesso!", "Sucesso", MessageBoxButton.OK, MessageBoxImage.Information);
                        limparCamposPJuridica();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }