public void ObterNomes(CaracteristicaClienteSolicitacao carSol) { try { PreencheDependencias(carSol); var queryccl = carSol.Caracteristicas.Where(c => c.codccl == carSol.Caracteristica).Select(c => c.desccl).FirstOrDefault(); carSol.NomCaracteristica = queryccl; var queryccc = carSol.Componentes.Where(c => c.codccc.ToString() == carSol.Componente).Select(c => c.desccc).FirstOrDefault(); carSol.NomComponente = queryccc; } catch (Exception e) { throw new Exception(e.Message); } }
public void PreencheDependencias(CaracteristicaClienteSolicitacao carSol) { Task t1 = Task.Factory.StartNew(() => { if (carSol.Caracteristicas == null) { carSol.Caracteristicas = ListarCaracteristicas(); } if (carSol.Componentes == null) { carSol.Componentes = ListarComponentes(); } }); Task.WaitAll(t1); t1.Dispose(); }
public ActionResult SalvarCaracteristicas(CaracteristicaClienteSolicitacao car) { var s = Session["Solicitacao"] as Solicitacao; if (Request.IsAjaxRequest()) { if (ModelState.IsValid) { try { using (var caracteristicaBLL = new CaracteristicaClienteSolicitacaoBLL()) { var carSapBLL = new CaracteristicaSapiensBLL(); car.Solicitacao = s; carSapBLL.ObterNomes(car); if (car.CodCaracteristicaClienteSolicitacao == 0) { car.Sequencial = s.Caracteristicas.Count + 1; caracteristicaBLL.Salvar(car); s.Caracteristicas.Add(car); } else { var caracteristica = caracteristicaBLL.ObterPorCodigo(car.CodCaracteristicaClienteSolicitacao); var objToRemove = s.Caracteristicas.Where(c => c.CodCaracteristicaClienteSolicitacao == car.CodCaracteristicaClienteSolicitacao).FirstOrDefault(); var indice = s.Caracteristicas.IndexOf(objToRemove); s.Caracteristicas.Remove(objToRemove); caracteristica.Caracteristica = car.Caracteristica; caracteristica.Componente = car.Componente; caracteristica.Sequencial = car.Sequencial; caracteristicaBLL.Atualizar(caracteristica); s.Caracteristicas.Insert(indice, caracteristica); } Session["Solicitacao"] = s; } return Json(new { msg = "Caracteristica gravada com sucesso." }, JsonRequestBehavior.DenyGet); } catch (Exception ex) { return Json(new { msg = "Erro ao tentar gravar caracteristica: " + ex.Message }, JsonRequestBehavior.DenyGet); } } } return View(s); }