/// <summary> /// Método para editar un Cálculo de Riesgo /// </summary> /// <param name="id"></param> /// <returns></returns> public CalculoRiesgo Editar(string id) { CalculoRiesgo editar = new CalculoRiesgo(); editar = db.CalculoRiesgo.Find(id); List<RiesgosPotenciadores> results = ( from p in db.CalculoRiesgoValoresPotenciador group p by p.idriesgo into grouped select new RiesgosPotenciadores{ idRiesgo = grouped.Key, listaEditar = grouped.Where(m => m.idcal == id).OrderBy(m=>m.idfr).GroupBy(m => m.idpotenciador).ToList() } ).ToList(); List<RiesgosAgrupacionFactores> results2 = ( from p in db.CalculoRiesgoValores group p by p.idriesgo into grouped select new RiesgosAgrupacionFactores { idRiesgo = grouped.Key, listaEditar = grouped.Where(m => m.idcal == id).OrderBy(m=>m.idfr).GroupBy(m => m.idafr).ToList() } ).ToList(); editar.listaPotenciadoresRiesgo = results; editar.listaRiesgoAgrupacion = results2; List<string> idsRiesgos =db.CalculoRiesgoValores.Where(m => m.idcal == id).Select(m => m.idriesgo).Distinct().ToList(); editar.listaRiesgosEditar = new Riesgos().ListaDrop().Where(m => idsRiesgos.Contains(m.Value)).ToList(); editar.listaFactoresRiesgos = new Factores_Riesgo().ListaTotalDrop(); return editar; }
/// <summary> /// Método para crear un nuevo Cálculo de Riesgo /// </summary> /// <returns></returns> public CalculoRiesgo Nuevo(){ CalculoRiesgo nuevo = new CalculoRiesgo(); List<RiesgosAgrupacionFactores> results = (from p in db.FRRiesgo join c in db.Factores_Riesgo on p.id_fr equals c.id into j1 from j2 in j1.DefaultIfEmpty() group j2 by p.id_riesgo into grouped select new RiesgosAgrupacionFactores { idRiesgo = grouped.Key, lista = grouped.Where(m => m.activo == true && m.calculo == true).OrderBy(m=>m.id).GroupBy(m => m.id_afr).ToList() }).ToList(); List<RiesgosPotenciadores> resultsPotenciadores = (from p in db.FRRiesgo join c in db.Factores_Riesgo on p.id_fr equals c.id into j1 from j2 in j1.DefaultIfEmpty() where j2.activo == true && j2.potenciador == true group p by p.id_riesgo into grouped select new RiesgosPotenciadores { idRiesgo = grouped.Key, lista = grouped.OrderBy(m=>m.id_fr).GroupBy(m => m.id_riesgo).ToList() }).ToList(); List<string> ids = db.Factores_Riesgo.Where(m => m.activo == true && m.calculo == true).Select(m => m.id).ToList(); nuevo.listaFactoresRiesgosRiesgos = db.FRRiesgo.Where(m => ids.Contains(m.id_fr)).GroupBy(m => m.id_riesgo).ToList(); nuevo.listaRiesgoAgrupacion = results; nuevo.listaPotenciadoresRiesgo = resultsPotenciadores; return nuevo; }