public bool RemoverParte(mediacao_parte p)
 {
     try
     {
         Table <mediacao_parte> tb = getTablePartes();
         if (p != null)
         {
             tb.DeleteOnSubmit(p);
             tb.Context.SubmitChanges();
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception e)
     {
         message = e.Message;
         return(false);
     }
 }
        protected bool FinalizarMediacao()
        {
            if (ValidarDepoimentos())
            {
                // função que irá salvar os dados da mediação no banco e gerar o termo de mediação
                Mediacao_Model model = new Mediacao_Model();

                mediacao m = new mediacao();

                // pega o mediador logado
                mediador med = Master.GetLogado();

                int id_agendamento = 0;
                if (Session["med_agendamento"] != null)
                    id_agendamento = Int32.Parse(Session["med_agendamento"].ToString());

                m.numero = model.GerarProximoNumero(med.id_local);
                m.tema_conflito = txtTemaConflito.Value;
                m.id_tipo_registro = Int32.Parse(ddTipoRegistro.SelectedValue);
                m.data_mediacao = DateTime.Parse(txtData.Value + " " + txtHora.Value + ":00");
                m.id_mediador = med.id;
                m.id_local = med.id_local;
                m.objeto = txtObjetoMediacao.Text;
                m.resolucao = Char.Parse(ddResolucao.SelectedValue);
                // SE teve acordo entra as partes, status 1 CONCLUIDO
                // SENAO   status 0 PENDENTE
                if (m.resolucao == 'A')
                    m.status = Mediacao_Model.STATUS_CONCLUIDO;
                else
                    m.status = Mediacao_Model.STATUS_PENDENTE;
                // pega o id da cidade do local
                Local_Model l_model = new Local_Model();
                m.id_cidade = l_model.Obter(med.id_local).id_cidade;

                if ( id_agendamento != 0 )
                {
                    m.id_agendamento = id_agendamento;
                }

                mediacao_parte mp = null;

                // após inserir a mediação, é necessário inserir as partes

                List<mediacao_parte> mpLista = new List<mediacao_parte>();
                foreach (Control ctr in TextBoxPlaceHolder.Controls)
                {
                    if (ctr is TextBox)
                    {
                        // percorre a lista de pessoas verificando de qual pessoa é aquele depoimento
                        foreach (pessoa p in lista)
                        {
                            if (ctr.ID.Contains(p.cpf))
                            {
                                mp = new mediacao_parte();
                                // depoimento da pessoa
                                mp.descricao_caso = ((TextBox)ctr).Text;
                                // quando encontrar a pessoa do depoimento então passa o CPF para o Identificador
                                mp.pessoa_id = p.cpf;
                                mpLista.Add(mp);
                            }
                        }
                    }
                }

                if (model.InserirMediacaoTotal(m, mpLista))
                {
                    Session.Remove("med_agendamento");
                    Response.Redirect("detail_mediacao.aspx?ID=" + m.id.ToString());
                    return true;
                }
                else
                {
                    Master.Alerta("Erro: " + model.message);
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
        protected bool FinalizarMediacao()
        {
            if (ValidarDepoimentos())
            {
                // função que irá salvar os dados da mediação no banco e gerar o termo de mediação
                Mediacao_Model model = new Mediacao_Model();

                mediacao m = new mediacao();

                // pega o mediador logado
                mediador med = Master.GetLogado();

                int id_agendamento = 0;
                if (Session["med_agendamento"] != null)
                {
                    id_agendamento = Int32.Parse(Session["med_agendamento"].ToString());
                }

                m.numero           = model.GerarProximoNumero(med.id_local);
                m.tema_conflito    = txtTemaConflito.Value;
                m.id_tipo_registro = Int32.Parse(ddTipoRegistro.SelectedValue);
                m.data_mediacao    = DateTime.Parse(txtData.Value + " " + txtHora.Value + ":00");
                m.id_mediador      = med.id;
                m.id_local         = med.id_local;
                m.objeto           = txtObjetoMediacao.Text;
                m.resolucao        = Char.Parse(ddResolucao.SelectedValue);
                // SE teve acordo entra as partes, status 1 CONCLUIDO
                // SENAO   status 0 PENDENTE
                if (m.resolucao == 'A')
                {
                    m.status = Mediacao_Model.STATUS_CONCLUIDO;
                }
                else
                {
                    m.status = Mediacao_Model.STATUS_PENDENTE;
                }
                // pega o id da cidade do local
                Local_Model l_model = new Local_Model();
                m.id_cidade = l_model.Obter(med.id_local).id_cidade;

                if (id_agendamento != 0)
                {
                    m.id_agendamento = id_agendamento;
                }

                mediacao_parte mp = null;

                // após inserir a mediação, é necessário inserir as partes

                List <mediacao_parte> mpLista = new List <mediacao_parte>();
                foreach (Control ctr in TextBoxPlaceHolder.Controls)
                {
                    if (ctr is TextBox)
                    {
                        // percorre a lista de pessoas verificando de qual pessoa é aquele depoimento
                        foreach (pessoa p in lista)
                        {
                            if (ctr.ID.Contains(p.cpf))
                            {
                                mp = new mediacao_parte();
                                // depoimento da pessoa
                                mp.descricao_caso = ((TextBox)ctr).Text;
                                // quando encontrar a pessoa do depoimento então passa o CPF para o Identificador
                                mp.pessoa_id = p.cpf;
                                mpLista.Add(mp);
                            }
                        }
                    }
                }

                if (model.InserirMediacaoTotal(m, mpLista))
                {
                    Session.Remove("med_agendamento");
                    Response.Redirect("detail_mediacao.aspx?ID=" + m.id.ToString());
                    return(true);
                }
                else
                {
                    Master.Alerta("Erro: " + model.message);
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }