public void PreencheDependencias(CaracteristicaClienteAprovacao carApr)
        {
            Task t1 = Task.Factory.StartNew(() =>
            {

                if (carApr.Caracteristicas == null)
                {
                    carApr.Caracteristicas = ListarCaracteristicas();
                }

            });

            Task t2 = Task.Factory.StartNew(() =>
            {
                if (carApr.Componentes == null)
                {
                    carApr.Componentes = ListarComponentes();
                }
            });

            Task.WaitAll(t1,t2);

            t1.Dispose();
            t2.Dispose();
        }
        public void ObterNomes(CaracteristicaClienteAprovacao carApr)
        {
            try
            {
                PreencheDependencias(carApr);

                var queryccl = carApr.Caracteristicas.Where(c => c.codccl == carApr.Caracteristica).Select(c => c.desccl).FirstOrDefault();
                carApr.NomCaracteristica = queryccl;
                var queryccc = carApr.Componentes.Where(c => c.codccc.ToString() == carApr.Componente).Select(c => c.desccc).FirstOrDefault();
                carApr.NomComponente = queryccc;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
示例#3
0
        public ActionResult SalvarCaracteristicas(CaracteristicaClienteAprovacao carApr)
        {
            using (var bll = new CaracteristicaClienteAprovacaoBLL())
            {
                var p = Session["Parecer"] as ParecerSolicitacao;
                //pega por código e atualiza
                var carSapBLL = new CaracteristicaSapiensBLL();
                try
                {
                    var codCarApr = carApr.CodCaracteristicaClienteAprovacao;
                    if (codCarApr == 0)
                    {
                        p.CaracteristicasAprovacao.Add(carApr);
                    }
                    else
                    {
                        var car = bll.ObterPorCodigo(codCarApr);

                        car.Caracteristica = carApr.Caracteristica;
                        car.Componente = carApr.Componente;
                        car.Sequencial = carApr.Sequencial;

                        var objToRemove = p.CaracteristicasAprovacao.Where(c => c.CodCaracteristicaClienteAprovacao == car.CodCaracteristicaClienteAprovacao).FirstOrDefault();
                        var indice = p.CaracteristicasAprovacao.IndexOf(objToRemove);
                        p.CaracteristicasAprovacao.Remove(objToRemove);

                        carSapBLL.ObterNomes(car);

                        p.CaracteristicasAprovacao.Insert(indice, car);
                    }

                    Session["Parecer"] = p;

                    return Json(new { msg = "Característica Atualizada" }, JsonRequestBehavior.DenyGet);

                }
                catch (Exception)
                {
                    return Json(new { msg = "Erro ao tentar atualizar" }, JsonRequestBehavior.DenyGet);
                }

            }
        }