コード例 #1
0
        public ActionResult CadastrarControleDeRisco(VMNovoReconhecimentoControle entidade)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    List <TipoDeControle> tiposDeControle = new List <TipoDeControle>();

                    if (entidade?.Controles?.Count == 0)
                    {
                        throw new Exception("Nenhum tipo de controle foi identificado.");
                    }

                    foreach (string[] item in entidade.Controles)
                    {
                        Guid UKTipo = Guid.Parse(item[0]);

                        TipoDeControle tipoControl = TipoDeControleBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(UKTipo));

                        if (tipoControl == null)
                        {
                            throw new Exception("Não foi possível encontrar um do(s) tipo(s) de controle na base de dados.");
                        }

                        tiposDeControle.Add(tipoControl);
                    }



                    ReconhecimentoDoRisco oReconhecimento = ReconhecimentoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) &&

                                                                                                           p.UKAtividade.Equals(entidade.UKAtividade) &&
                                                                                                           p.UKPerigo.Equals(entidade.UKPerigo) &&
                                                                                                           p.UKRisco.Equals(entidade.UKRisco)
                                                                                                           );

                    if (oReconhecimento == null)
                    {
                        oReconhecimento = new ReconhecimentoDoRisco()
                        {
                            UKAtividade     = entidade.UKAtividade,
                            UKPerigo        = entidade.UKPerigo,
                            UKRisco         = entidade.UKRisco,
                            Tragetoria      = entidade.Tragetoria,
                            EClasseDoRisco  = entidade.EClasseDoRisco,
                            UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                        };

                        ReconhecimentoBusiness.Inserir(oReconhecimento);
                    }



                    foreach (string[] item in entidade.Controles)
                    {
                        Guid UKTipo = Guid.Parse(item[0]);
                        Guid UKClassificacaoMedida = Guid.Parse(item[1]);

                        ControleDeRiscos obj = new ControleDeRiscos()
                        {
                            UsuarioInclusao         = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                            UKReconhecimentoDoRisco = oReconhecimento.UniqueKey,
                            UKTipoDeControle        = UKTipo,
                            UKClassificacaoDaMedia  = UKClassificacaoMedida,
                            EControle = (EControle)Enum.Parse(typeof(EControle), item[2], true)
                        };

                        if (item[3] != null && !string.IsNullOrEmpty(item[3]))
                        {
                            obj.UKLink = Guid.Parse(item[3]);
                        }

                        ControleDeRiscosBusiness.Inserir(obj);
                    }


                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Sucesso = "Reconhecimento e controles dos riscos cadastrados com sucesso."
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Erro = ex.Message
                                  } }));
            }
        }
コード例 #2
0
        public ActionResult EditarControleDoRiscoAtividade(string UKReconhecimento, string UKAtividade, string UKPerigo, string UKRisco)
        {
            ViewBag.UKAtividade = UKAtividade;
            ViewBag.UKPerigo    = UKPerigo;
            ViewBag.UKRisco     = UKRisco;

            //var UKWork = Guid.Parse(UKWorkarea);
            var UKativ  = Guid.Parse(UKAtividade);
            var UKPerig = Guid.Parse(UKPerigo);
            var UKRisc  = Guid.Parse(UKRisco);
            var UKRec   = Guid.Parse(UKReconhecimento);


            var objReconhecimento = ReconhecimentoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(UKRec));

            if (objReconhecimento == null)
            {
                throw new Exception("Não foi possível recuperar o reconhecimento na base de dados. Tente novamente ou acione o administrador do sitema.");
            }


            //var objWorkArea = WorkAreaBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKWork));

            var oAtividade = AtividadeBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKativ));

            if (oAtividade == null)
            {
                throw new Exception("Não foi possível recuperar a workarea ou atividade na base de dados. Tente novamente ou acione o administrador do sitema.");
            }


            ViewBag.WorkArea = oAtividade.Descricao;


            //var objFonte = FonteGeradoraDeRiscoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKFont));
            var oPerigo = PerigoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKPerig));


            if (oPerigo == null)
            {
                throw new Exception("Não foi possível recuperar a fonte geradora do risco na base de dados. Tente novamente ou acione o administrador do sitema.");
            }

            ViewBag.FonteGeradora = oPerigo.Descricao;


            var objPerigo = PerigoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKPerig));

            if (objPerigo == null)
            {
                throw new Exception("Não foi possível recuperar a workarea na base de dados. Tente novamente ou acione o administrador do sitema.");
            }

            ViewBag.Perigo = objPerigo.Descricao;


            Risco objRisco = RiscoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKRisc));

            if (objRisco == null)
            {
                throw new Exception("Não foi possível recuperar o risco na base de dados. Tente novamente ou acione o administrador do sitema.");
            }

            ViewBag.Risco = objRisco.Nome;



            var enumData = from EClasseDoRisco e in Enum.GetValues(typeof(EClasseDoRisco))
                           select new
            {
                ID   = (int)e,
                Name = e.GetDisplayName()
            };

            ViewBag.Eclasse = new SelectList(enumData, "ID", "Name", objReconhecimento.EClasseDoRisco);


            var enumData01 = from ETrajetoria e in Enum.GetValues(typeof(ETrajetoria))
                             select new
            {
                ID   = (int)e,
                Name = e.GetDisplayName()
            };

            ViewBag.ETrajetoria = new SelectList(enumData01, "ID", "Name", objReconhecimento.Tragetoria.ToString());


            VMNovoReconhecimentoControle obj = new VMNovoReconhecimentoControle();

            obj.Tragetoria     = objReconhecimento.Tragetoria;
            obj.EClasseDoRisco = objReconhecimento.EClasseDoRisco;
            obj.Controles      = new List <string[]>();



            List <ControleDeRiscos> controles = (from controle in ControleDeRiscosBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKReconhecimentoDoRisco.Equals(objReconhecimento.UniqueKey)).ToList()
                                                 join tipocontrole in TipoDeControleBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on controle.UKTipoDeControle equals tipocontrole.UniqueKey
                                                 join classificacao in ClassificacaoMedidaBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on controle.UKClassificacaoDaMedia equals classificacao.UniqueKey
                                                 select new ControleDeRiscos
            {
                UKTipoDeControle = tipocontrole.UniqueKey,
                TipoDeControle = tipocontrole.Descricao,
                UKClassificacaoDaMedia = classificacao.UniqueKey,
                ClassificacaoMedida = new ClassificacaoMedida()
                {
                    Nome = classificacao.Nome
                },
                UKLink = controle.UKLink,
                EControle = controle.EControle
            }).ToList();

            if (controles?.Count > 0)
            {
                foreach (ControleDeRiscos control in controles)
                {
                    Link objLink = LinkBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(control.UKLink));
                    if (objLink == null)
                    {
                        obj.Controles.Add(new string[]
                        {
                            control.UKTipoDeControle.ToString() + "$" + control.TipoDeControle,
                            control.UKClassificacaoDaMedia.ToString() + "$" + control.ClassificacaoMedida.Nome,
                            control.EControle.ToString() + "$" + control.EControle.GetDisplayName(),
                            control.UKLink.ToString() + "$"
                        });
                    }
                    else
                    {
                        obj.Controles.Add(new string[]
                        {
                            control.UKTipoDeControle.ToString() + "$" + control.TipoDeControle,
                            control.UKClassificacaoDaMedia.ToString() + "$" + control.ClassificacaoMedida.Nome,
                            control.EControle.ToString() + "$" + control.EControle.GetDisplayName(),
                            control.UKLink.ToString() + "$" + objLink.Nome
                        });
                    }
                }
            }
            ;


            return(PartialView("_AtualizarControleDeRisco", obj));
        }