public void PreencheDependencias(EnderecoEntregaClienteSolicitacao 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); }
public ActionResult SalvarEnderecoEntrega(EnderecoEntregaClienteSolicitacao endEnt) { if (ModelState.IsValid) { try { var s = Session["Solicitacao"] as Solicitacao; using (var endEntBLL = new EnderecoEntregaClienteSolicitacaoBLL()) { endEnt.Solicitacao = s; if (endEnt.CodEnderecoEntregaClienteSolicitacao == 0) { endEntBLL.Salvar(endEnt); s.EnderecosEntrega.Add(endEnt); } else { var ee = endEntBLL.ObterPorCodigo(endEnt.CodEnderecoEntregaClienteSolicitacao); var objToRemove = s.EnderecosEntrega.Where(e => e.CodEnderecoEntregaClienteSolicitacao == endEnt.CodEnderecoEntregaClienteSolicitacao).FirstOrDefault(); var indice = s.EnderecosEntrega.IndexOf(objToRemove); s.EnderecosEntrega.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; endEntBLL.Atualizar(ee); s.EnderecosEntrega.Insert(indice, ee); } Session["Solicitacao"] = s; } return Json(new { msg = "Endereço de entrega gravado com sucesso." }, JsonRequestBehavior.DenyGet); } catch (Exception ex) { return Json(new { msg = "Erro ao tentar gravar endereço de entrega: " + ex.Message }, JsonRequestBehavior.DenyGet); } } else { return Json(new { msg = "Erro interno de validação do endereço de entrega, Verificar o modelo de dados." }, JsonRequestBehavior.DenyGet); } }