public ActionResult ExcluirContato(int codigo)
        {
            using (var bll = new ParecerSolicitacaoBLL())
            {
                var p = Session["Parecer"] as ParecerSolicitacao;

                var contBLL = new ContatoClienteAprovacaoBLL();
                try
                {
                    var ct = p.ContatosAprovacao.Where(c => c.CodContatoAprovacao == codigo).Single();
                    p.ContatosAprovacao.Remove(ct);

                    contBLL.Excluir(ct);
                    //bll.Atualizar(p);
                }
                catch (Exception ex)
                {
                    return Json(new { erro = ex.Message }, JsonRequestBehavior.DenyGet);
                }

                Session["Parecer"] = p;

                return Json(new { msg = "Contato excluído." }, JsonRequestBehavior.DenyGet);
            }
        }
        public ActionResult SalvarContato(ContatoClienteAprovacao cont)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var p = Session["Parecer"] as ParecerSolicitacao;

                    using (var contatoBLL = new ContatoClienteAprovacaoBLL())
                    {
                        cont.Parecer = p;

                        if (cont.CodContatoAprovacao == 0)
                        {
                            p.ContatosAprovacao.Add(cont);
                        }
                        else
                        {
                            var ct = contatoBLL.ObterPorCodigo(cont.CodContatoAprovacao);

                            var objToRemove = p.ContatosAprovacao.Where(c => c.CodContatoAprovacao == cont.CodContatoAprovacao).FirstOrDefault();
                            var indice = p.ContatosAprovacao.IndexOf(objToRemove);
                            p.ContatosAprovacao.Remove(objToRemove);

                            ct.Nome = cont.Nome;
                            ct.Ramal1 = cont.Ramal1;
                            ct.Ramal2 = cont.Ramal2;
                            ct.Ramal3 = cont.Ramal3;
                            ct.Telefone1 = cont.Telefone1;
                            ct.Telefone2 = cont.Telefone2;
                            ct.Telefone3 = cont.Telefone3;
                            ct.Email = cont.Email;

                            p.ContatosAprovacao.Insert(indice, ct);

                        }
                        Session["Parecer"] = p;
                    }
                    return Json(new { msg = "Contato (Aprovação) gravado com sucesso." }, JsonRequestBehavior.DenyGet);
                }
                catch (Exception ex)
                {
                    return Json(new { erro = "Erro ao tentar gravar contato: " + ex.Message }, JsonRequestBehavior.DenyGet);
                }
            }
            else
            {
                return Json(new { erro = "Erro interno de validação do contato, Verificar o modelo de dados." }, JsonRequestBehavior.DenyGet);
            }
        }