Пример #1
0
        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
                                  } }));
            }
        }
Пример #2
0
        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
                                  } }));
            }
        }