public void PreencheDependencias(EnderecoEntregaClienteAprovacao endEnt)
        {
            Task t2 = Task.Factory.StartNew(() =>
            {
                var rotaDAL = new RotaDAL();

                endEnt.Rotas = new List<Rota>();
                var rotas = from rota in rotaDAL.ListarTodos()
                            select rota;

                foreach (var r in rotas)
                {
                    endEnt.Rotas.Add(r);
                }
            });

            Task t3 = Task.Factory.StartNew(() =>
            {
                var subRotaDAL = new SubRotaDAL();

                endEnt.SubRotas = new List<SubRota>();
                var subrotas = from s in subRotaDAL.ListarTodos()
                               select s;

                foreach (var s in subrotas)
                {
                    endEnt.SubRotas.Add(s);
                }
                //endEnt.SubRotas = new List<SubRota>();
            });

            Task.WaitAll(t2, t3);
            t2.Dispose();
            t3.Dispose();
        }
Ejemplo n.º 2
0
        public ActionResult SalvarEnderecoEntrega(EnderecoEntregaClienteAprovacao endEnt)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var p = Session["Parecer"] as ParecerSolicitacao;

                    using (var endEntBLL = new EnderecoEntregaClienteAprovacaoBLL())
                    {
                        endEnt.Parecer = p;

                        if (endEnt.CodEnderecoEntregaClienteApr == 0)
                        {
                            p.EnderecosEntregaAprovacao.Add(endEnt);
                        }
                        else
                        {
                            var ee = endEntBLL.ObterPorCodigo(endEnt.CodEnderecoEntregaClienteApr);

                            var objToRemove = p.EnderecosEntregaAprovacao.Where(e => e.CodEnderecoEntregaClienteApr == endEnt.CodEnderecoEntregaClienteApr).FirstOrDefault();
                            var indice = p.EnderecosEntregaAprovacao.IndexOf(objToRemove);

                            p.EnderecosEntregaAprovacao.Remove(objToRemove);

                            ee.Bairro = endEnt.Bairro;
                            ee.Cep = endEnt.Cep;
                            ee.Cidade = endEnt.Cidade;
                            ee.CodRota = endEnt.CodRota;
                            ee.CodSubRota = Regex.Replace(endEnt.CodSubRota, @"(\s+)|(\\+)|(\.+)|(/+)|(\-+)", "");
                            ee.Complemento = endEnt.Complemento;
                            ee.Estado = endEnt.Estado;
                            ee.FaixaInicialCEP = endEnt.FaixaInicialCEP;
                            ee.Logradouro = endEnt.Logradouro;
                            ee.NomContato = endEnt.NomContato;
                            ee.Numero = endEnt.Numero;
                            ee.Proximidade = endEnt.Proximidade;
                            ee.Telefone1 = endEnt.Telefone1;
                            ee.Telefone2 = endEnt.Telefone2;
                            ee.CPFCNPJDeEntrega = endEnt.CPFCNPJDeEntrega;

                            p.EnderecosEntregaAprovacao.Insert(indice, ee);

                        }
                        Session["Parecer"] = p;
                    }

                    return Json(new { msg = "Endereço de entrega (Aprovação) gravado com sucesso." }, JsonRequestBehavior.DenyGet);
                }

                catch (Exception ex)
                {
                    return Json(new { erro = "Erro ao tentar gravar endereço de entrega: " + ex.Message }, JsonRequestBehavior.DenyGet);
                }
            }
            else
            {
                return Json(new { erro = "Erro interno de validação do endereço de entrega, Verificar o modelo de dados." }, JsonRequestBehavior.DenyGet);
            }
        }