public ActionResult TerminarRelComPerigo(string UKFonte, string UKPerigo) { try { if (string.IsNullOrEmpty(UKFonte)) { throw new Exception("Não foi possível localizar a identificação da fonte geradora."); } if (string.IsNullOrEmpty(UKPerigo)) { throw new Exception("Não foi possível localizar a identificação do perigo."); } Guid guidFonte = Guid.Parse(UKFonte); Guid guidPerigo = Guid.Parse(UKPerigo); REL_FontePerigo rel = REL_FontePerigoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKFonteGeradora.Equals(guidFonte) && a.UKPerigo.Equals(guidPerigo)); if (rel == null) { throw new Exception("Não foi possível localizar o relacionamento entre Fonte Geradora do Risco com Perigo na base de dados."); } rel.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; REL_FontePerigoBusiness.Terminar(rel); return(Json(new { resultado = new RetornoJSON() { Sucesso = "Perigo desvinculado com sucesso." } })); } catch (Exception ex) { return(Json(new { resultado = new RetornoJSON() { Erro = ex.Message } })); } }
public ActionResult VincularPerigoAFonte(string UKPerigo, string UKFonte) { try { if (string.IsNullOrEmpty(UKPerigo)) { throw new Exception("Não foi possível localizar a identificação do perigo."); } if (string.IsNullOrEmpty(UKFonte)) { throw new Exception("Nenhuma fonte recebida como parâmetro para vincular ao perigo."); } Guid guidFonte = Guid.Parse(UKFonte); if (UKPerigo.Contains(",")) { foreach (string risk in UKPerigo.Split(',')) { if (!string.IsNullOrEmpty(risk.Trim())) { Perigo rTemp = PerigoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.Descricao.Equals(risk.Trim())); if (rTemp != null) { if (REL_FontePerigoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKFonteGeradora.Equals(guidFonte) && a.UKPerigo.Equals(rTemp.UniqueKey)).Count() == 0) { //Perigo p = new Perigo() //{ // UniqueKey = rTemp.UniqueKey // Descricao = rTemp.Descricao, // UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login //}; //PerigoBusiness.Inserir(p); REL_FontePerigo FontePerigo = new REL_FontePerigo() { UKFonteGeradora = guidFonte, UKPerigo = rTemp.UniqueKey, UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login }; REL_FontePerigoBusiness.Inserir(FontePerigo); } else { throw new Exception("O perigo '" + rTemp.Descricao + "' já está vinculado a esta fonte geradora."); } } else { throw new Exception("Não foi possível encontrar o perigo a ser vinculado a fonte geradora na base de dados."); } } } } else { Perigo rTemp = PerigoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.Descricao.Equals(UKPerigo)); if (rTemp != null) { if (REL_FontePerigoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKFonteGeradora.Equals(guidFonte) && a.UKPerigo.Equals(rTemp.UniqueKey)).Count() == 0) { //Perigo p = new Perigo() //{ // Descricao = rTemp.Descricao, // UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login //}; //PerigoBusiness.Inserir(p); REL_FontePerigo FontePerigo = new REL_FontePerigo() { UKFonteGeradora = guidFonte, UKPerigo = rTemp.UniqueKey, UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login }; REL_FontePerigoBusiness.Inserir(FontePerigo); } else { throw new Exception("O perigo '" + rTemp.Descricao + "' já está vinculado a esta fonte geradora."); } } else { throw new Exception("Não foi possível encontrar o perigo a ser vinculado a fonte geradora na base de dados."); } } return(Json(new { resultado = new RetornoJSON() { Sucesso = "Perigo relacionado a Fonte Geradora de Risco com sucesso." } })); } catch (Exception ex) { return(Json(new { resultado = new RetornoJSON() { Erro = ex.Message } })); } }