public ActionResult CriarControle(string UKWorkarea, string UKRisco) { ViewBag.UKWorkArea = UKWorkarea; ViewBag.UKRisco = UKRisco; var UKRisc = Guid.Parse(UKRisco); var UKWork = Guid.Parse(UKWorkarea); var Nome = RiscoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.UniqueKey.Equals(UKRisc))).ToList(); var WArea = WorkAreaBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.UniqueKey.Equals(UKWork))).ToList(); var enumData = from EClasseDoRisco e in Enum.GetValues(typeof(EClasseDoRisco)) select new { ID = (int)e, Name = e.ToString() }; ViewBag.Eclasse = new SelectList(enumData, "ID", "Name"); var enumData01 = from ETrajetoria e in Enum.GetValues(typeof(ETrajetoria)) select new { ID = (int)e, Name = e.ToString() }; ViewBag.ETrajetoria = new SelectList(enumData01, "ID", "Name"); var enumData02 = from EClassificacaoDaMedia e in Enum.GetValues(typeof(EClassificacaoDaMedia)) select new { ID = (int)e, Name = e.ToString() }; ViewBag.EClassificacaoDaMedia = new SelectList(enumData02, "ID", "Name"); var enumData03 = from EControle e in Enum.GetValues(typeof(EControle)) select new { ID = (int)e, Name = e.ToString() }; ViewBag.EControle = new SelectList(enumData03, "ID", "Name"); ViewBag.FonteGeradora = new SelectList(FonteGeradoraDeRiscoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(), "ID", "FonteGeradora"); List <WorkArea> lista = new List <WorkArea>(); string sql = @"select wa.UniqueKey, wa.Nome, wa.Descricao, r1.Uniquekey as relwap, p.UniqueKey as ukperigo, p.Descricao as perigo, r2.UniqueKey as relpr, r.UniqueKey as ukrisco, r.Nome as risco from tbWorkArea wa left join [dbGestor].[dbo].[REL_WorkAreaPerigo] r1 on r1.UKWorkArea = wa.UniqueKey and r1.DataExclusao = CAST('9999-12-31 23:59:59.997' as datetime2) left join [dbGestor].[dbo].[tbPerigo] p on r1.UKPerigo = p.UniqueKey and p.DataExclusao = CAST('9999-12-31 23:59:59.997' as datetime2) left join [dbGestor].[dbo].[REL_PerigoRisco] r2 on r2.UKPerigo = p.UniqueKey and r2.DataExclusao =CAST('9999-12-31 23:59:59.997' as datetime2) left join [dbGestor].[dbo].[tbRisco] r on r2.UKRisco = r.UniqueKey and r.DataExclusao = CAST('9999-12-31 23:59:59.997' as datetime2) where wa.DataExclusao =CAST('9999-12-31 23:59:59.997' as datetime2) and wa.UniqueKey = '" + UKWorkarea + @"' and r.UniqueKey = '" + UKRisco + @"' order by wa.UniqueKey "; DataTable result = WorkAreaBusiness.GetDataTable(sql); if (result.Rows.Count > 0) { WorkArea obj = null; Perigo oPerigo = null; foreach (DataRow row in result.Rows) { if (obj == null) { //obj = new WorkArea() //{ // UniqueKey = Guid.Parse(row["UniqueKey"].ToString()), // Nome = row["Nome"].ToString(), // Descricao = row["Descricao"].ToString(), // Perigos = new List<Perigo>() //}; //if (!string.IsNullOrEmpty(row["relwap"].ToString())) //{ // oPerigo = new Perigo() // { // ID = Guid.Parse(row["relwap"].ToString()), // UniqueKey = Guid.Parse(row["ukperigo"].ToString()), // Descricao = row["perigo"].ToString(), // Riscos = new List<Risco>() // }; // if (!string.IsNullOrEmpty(row["relpr"].ToString())) // { // oPerigo.Riscos.Add(new Risco() // { // ID = Guid.Parse(row["relpr"].ToString()), // UniqueKey = Guid.Parse(row["ukrisco"].ToString()), // Nome = row["risco"].ToString() // }); // } // obj.Perigos.Add(oPerigo); //} } } if (obj != null) { lista.Add(obj); } } return(PartialView("_CadastrarControleDeRisco", lista)); }
public ActionResult PesquisarWorkArea(FonteGeradoraViewModel entidade) { try { List <WorkArea> lista = new List <WorkArea>(); Guid guid = Guid.Empty; string sql = @"select wa.UniqueKey as UniqWa, wa.UKEstabelecimento, wa.Nome, wa.Descricao,f.UniqueKey as UniqFon, f.FonteGeradora, r1.Uniquekey as relfp, p.UniqueKey as ukperigo, p.Descricao as perigo, r2.UniqueKey as relpr,r.UniqueKey as ukrisco, r.Nome as risco, re.UniqueKey as UKReconhecimento, re.UKRisco as rUKrisco, re.UKWorkarea as rWorkarea , re.UKFonteGeradora as rUKFonte from tbWorkArea wa left join tbFonteGeradoraDeRisco f on f.UKWorkarea = wa.UniqueKey and f.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) left join REL_FontePerigo r1 on r1.UKFonteGeradora = f.UniqueKey and r1.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) left join tbPerigo p on r1.UKPerigo = p.UniqueKey and p.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) left join REL_PerigoRisco r2 on r2.UKPerigo = p.UniqueKey and r2.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) left join tbRisco r on r2.UKRisco = r.UniqueKey and r.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) left join tbReconhecimentoDoRisco re on r.UniqueKey = re.UKRisco and f.Uniquekey = re.UKFonteGeradora and re.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) where wa.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) and wa.UKEstabelecimento = '" + entidade.UKEstabelecimento + @"' order by wa.UniqueKey"; DataTable result = WorkAreaBusiness.GetDataTable(sql); if (result.Rows.Count > 0) { WorkArea obj = null; FonteGeradoraDeRisco oFonte = null; Perigo oPerigo = null; foreach (DataRow row in result.Rows) { if (obj == null) { obj = new WorkArea() { UniqueKey = Guid.Parse(row["UniqWa"].ToString()), UKEstabelecimento = Guid.Parse(row["UKEstabelecimento"].ToString()), Nome = row["Nome"].ToString(), Descricao = row["Descricao"].ToString(), FonteGeradoraDeRisco = new List <FonteGeradoraDeRisco>() }; if (!string.IsNullOrEmpty(row["UniqFon"].ToString())) { oFonte = new FonteGeradoraDeRisco() { UniqueKey = Guid.Parse(row["UniqFon"].ToString()), FonteGeradora = row["FonteGeradora"].ToString(), Descricao = row["Descricao"].ToString(), Perigos = new List <Perigo>() }; if (!string.IsNullOrEmpty(row["relfp"].ToString())) { oPerigo = new Perigo() { ID = Guid.Parse(row["relfp"].ToString()), UniqueKey = Guid.Parse(row["UKPerigo"].ToString()), Descricao = row["perigo"].ToString(), Riscos = new List <Risco>() }; if (!string.IsNullOrEmpty(row["relpr"].ToString())) { Risco oRisco = new Risco() { ID = Guid.Parse(row["relpr"].ToString()), UniqueKey = Guid.Parse(row["ukrisco"].ToString()), Nome = row["risco"].ToString() }; if (!string.IsNullOrEmpty(row["UKReconhecimento"].ToString())) { oRisco.Reconhecimento = new ReconhecimentoDoRisco() { UniqueKey = Guid.Parse(row["UKReconhecimento"].ToString()) != null?Guid.Parse(row["UKReconhecimento"].ToString()) : guid, UKWorkarea = Guid.Parse(row["rWorkarea"].ToString()), UKRisco = Guid.Parse(row["rUKRisco"].ToString()), UKFonteGeradora = Guid.Parse(row["rUKFonte"].ToString()), }; } oPerigo.Riscos.Add(oRisco); } oFonte.Perigos.Add(oPerigo); } obj.FonteGeradoraDeRisco.Add(oFonte); } } else if (obj.UniqueKey.Equals(Guid.Parse(row["UniqWa"].ToString()))) { if (!string.IsNullOrEmpty(row["UniqFon"].ToString())) { if (oFonte == null) { oFonte = new FonteGeradoraDeRisco() { UniqueKey = Guid.Parse(row["UniqFon"].ToString()), FonteGeradora = row["FonteGeradora"].ToString(), Descricao = row["Descricao"].ToString(), Perigos = new List <Perigo>() }; if (!string.IsNullOrEmpty(row["relfp"].ToString())) { if (oFonte.Perigos.Equals(row["relfp"].ToString())) { oPerigo = new Perigo() { ID = Guid.Parse(row["relfp"].ToString()), UniqueKey = Guid.Parse(row["UKPerigo"].ToString()), Descricao = row["perigo"].ToString(), Riscos = new List <Risco>() }; if (!string.IsNullOrEmpty(row["relpr"].ToString())) { Risco oRisco = new Risco() { ID = Guid.Parse(row["relpr"].ToString()), UniqueKey = Guid.Parse(row["ukrisco"].ToString()), Nome = row["risco"].ToString() }; if (!string.IsNullOrEmpty(row["UKReconhecimento"].ToString())) { oRisco.Reconhecimento = new ReconhecimentoDoRisco() { UniqueKey = Guid.Parse(row["UKReconhecimento"].ToString()) != null?Guid.Parse(row["UKReconhecimento"].ToString()) : guid, UKWorkarea = Guid.Parse(row["rWorkarea"].ToString()), UKRisco = Guid.Parse(row["rUKRisco"].ToString()), UKFonteGeradora = Guid.Parse(row["rUKFonte"].ToString()), }; } oPerigo.Riscos.Add(oRisco); } oFonte.Perigos.Add(oPerigo); } } obj.FonteGeradoraDeRisco.Add(oFonte); } else if (oFonte.UniqueKey.ToString().Equals(row["UniqFon"].ToString())) { Perigo pTemp = oFonte.Perigos.FirstOrDefault(a => a.Descricao.Equals(row["perigo"].ToString())); if (pTemp == null) { oPerigo = new Perigo() { ID = Guid.Parse(row["relfp"].ToString()), UniqueKey = Guid.Parse(row["ukperigo"].ToString()), Descricao = row["perigo"].ToString(), Riscos = new List <Risco>() }; if (!string.IsNullOrEmpty(row["relpr"].ToString())) { Risco oRisco = new Risco() { ID = Guid.Parse(row["relpr"].ToString()), UniqueKey = Guid.Parse(row["ukrisco"].ToString()), Nome = row["risco"].ToString() }; if (!string.IsNullOrEmpty(row["UKReconhecimento"].ToString())) { oRisco.Reconhecimento = new ReconhecimentoDoRisco() { UniqueKey = Guid.Parse(row["UKReconhecimento"].ToString()) != null?Guid.Parse(row["UKReconhecimento"].ToString()) : guid, UKWorkarea = Guid.Parse(row["rWorkarea"].ToString()), UKRisco = Guid.Parse(row["rUKRisco"].ToString()), UKFonteGeradora = Guid.Parse(row["rUKFonte"].ToString()), }; } oPerigo.Riscos.Add(oRisco); } oFonte.Perigos.Add(oPerigo); } else { Risco riskTemp = pTemp.Riscos.FirstOrDefault(a => a.Nome.Equals(row["risco"].ToString())); if (riskTemp == null) { Risco oRisco = new Risco() { ID = Guid.Parse(row["relpr"].ToString()), UniqueKey = Guid.Parse(row["ukrisco"].ToString()), Nome = row["risco"].ToString() }; if (!string.IsNullOrEmpty(row["UKReconhecimento"].ToString())) { oRisco.Reconhecimento = new ReconhecimentoDoRisco() { UniqueKey = Guid.Parse(row["UKReconhecimento"].ToString()) }; } pTemp.Riscos.Add(oRisco); } } } else { oFonte = new FonteGeradoraDeRisco() { UniqueKey = Guid.Parse(row["UniqFon"].ToString()), FonteGeradora = row["FonteGeradora"].ToString(), Descricao = row["Descricao"].ToString(), Perigos = new List <Perigo>() }; if (!string.IsNullOrEmpty(row["relfp"].ToString())) { oPerigo = new Perigo() { ID = Guid.Parse(row["relfp"].ToString()), UniqueKey = Guid.Parse(row["ukperigo"].ToString()), Descricao = row["perigo"].ToString(), Riscos = new List <Risco>() }; if (!string.IsNullOrEmpty(row["relpr"].ToString())) { Risco oRisco = new Risco() { ID = Guid.Parse(row["relpr"].ToString()), UniqueKey = Guid.Parse(row["ukrisco"].ToString()), Nome = row["risco"].ToString() }; if (!string.IsNullOrEmpty(row["UKReconhecimento"].ToString())) { oRisco.Reconhecimento = new ReconhecimentoDoRisco() { UniqueKey = Guid.Parse(row["UKReconhecimento"].ToString()) != null?Guid.Parse(row["UKReconhecimento"].ToString()) : guid, UKWorkarea = Guid.Parse(row["rWorkarea"].ToString()), UKRisco = Guid.Parse(row["rUKRisco"].ToString()), UKFonteGeradora = Guid.Parse(row["rUKFonte"].ToString()), }; } oPerigo.Riscos.Add(oRisco); } oFonte.Perigos.Add(oPerigo); } obj.FonteGeradoraDeRisco.Add(oFonte); } } } else { lista.Add(obj); obj = new WorkArea() { UniqueKey = Guid.Parse(row["UniqWa"].ToString()), UKEstabelecimento = Guid.Parse(row["UKEstabelecimento"].ToString()), Nome = row["Nome"].ToString(), Descricao = row["Descricao"].ToString(), FonteGeradoraDeRisco = new List <FonteGeradoraDeRisco>() }; if (!string.IsNullOrEmpty(row["UniqFon"].ToString())) { oFonte = new FonteGeradoraDeRisco() { UniqueKey = Guid.Parse(row["UniqFon"].ToString()), FonteGeradora = row["FonteGeradora"].ToString(), Descricao = row["Descricao"].ToString(), Perigos = new List <Perigo>() }; if (!string.IsNullOrEmpty(row["relfp"].ToString())) { oPerigo = new Perigo() { ID = Guid.Parse(row["relfp"].ToString()), UniqueKey = Guid.Parse(row["ukperigo"].ToString()), Descricao = row["perigo"].ToString(), Riscos = new List <Risco>() }; if (!string.IsNullOrEmpty(row["relpr"].ToString())) { Risco oRisco = new Risco() { ID = Guid.Parse(row["relpr"].ToString()), UniqueKey = Guid.Parse(row["ukrisco"].ToString()), Nome = row["risco"].ToString() }; if (!string.IsNullOrEmpty(row["UKReconhecimento"].ToString())) { oRisco.Reconhecimento = new ReconhecimentoDoRisco() { UniqueKey = Guid.Parse(row["UKReconhecimento"].ToString()) != null?Guid.Parse(row["UKReconhecimento"].ToString()) : guid, UKWorkarea = Guid.Parse(row["rWorkarea"].ToString()), UKRisco = Guid.Parse(row["rUKRisco"].ToString()), UKFonteGeradora = Guid.Parse(row["rUKFonte"].ToString()), }; } oPerigo.Riscos.Add(oRisco); } oFonte.Perigos.Add(oPerigo); } obj.FonteGeradoraDeRisco.Add(oFonte); } } } if (obj != null) { lista.Add(obj); } } return(PartialView("_Pesquisa", lista)); } catch (Exception ex) { return(Json(new { resultado = new RetornoJSON() { Erro = ex.Message } })); } }