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(); }
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); } }