public ActionResult MontarMenuDeOperacoes(string uk) { try { IncidenteVeiculo fichaPersistida = IncidenteVeiculoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(uk)); if (fichaPersistida == null) { throw new Exception("As informações fornecidas para montagem do menu de operações não são válidas."); } Workflow wfPersistida = WorkflowBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObject.Equals(fichaPersistida.UniqueKey)); if (wfPersistida == null) { //Criar método } else { fichaPersistida.Operacoes = OperacaoBusiness.RecuperarTodasPermitidas(CustomAuthorizationProvider.UsuarioAutenticado.Login, CustomAuthorizationProvider.UsuarioAutenticado.Permissoes, wfPersistida); } return(PartialView("_MenuOperacoes", fichaPersistida)); } catch (Exception ex) { Response.StatusCode = 500; return(Content(ex.Message, "text/html")); } }
public ActionResult RejeitarIncidente(ItemInbox item) { try { Incidente obj = IncidenteBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(item.UniqueKey) && a.Responsavel.ToUpper().Equals(CustomAuthorizationProvider.UsuarioAutenticado.Login.ToUpper())); if (obj == null) { throw new Exception("Não foi possível recuperar o incidente através da identificação recebida."); } else { ReiniciarCache(CustomAuthorizationProvider.UsuarioAutenticado.Login); obj.StatusWF = "RJ"; obj.DataExclusao = DateTime.Now; obj.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; IncidenteBusiness.Alterar(obj); string novoStatus = OperacaoBusiness.RecuperarStatusAnterior(obj.Status); string sql = "select top 1 Responsavel from objincidente where uniquekey = '" + item.UniqueKey + "' and UsuarioExclusao is not null and Status = '" + novoStatus + "' order by DataExclusao desc"; string Responsavel = IncidenteBusiness.ExecuteQuery(sql); if (string.IsNullOrEmpty(Responsavel)) { List <string> Responsaveis = OperacaoBusiness.RecuperarResponsavelPorStatus(novoStatus); foreach (string resp in Responsaveis) { Incidente obj2 = new Incidente(); PropertyCopy.Copy(obj, obj2); obj2.ID = Guid.NewGuid().ToString(); obj2.StatusWF = "RS"; obj2.MensagemPasso = item.Comentarios; obj2.Status = novoStatus; if (resp.Equals("Submitter")) { string sql2 = "select top 1 UsuarioInclusao from OBJIncidente where Codigo = '" + obj2.Codigo + "' order by DataInclusao"; string submitter = IncidenteBusiness.ExecuteQuery(sql2); if (string.IsNullOrEmpty(submitter)) { throw new Exception("Não foi possível recuperar o usuário que criou o incidente."); } obj2.Responsavel = submitter; } else { obj2.Responsavel = resp; } obj2.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; obj2.UsuarioExclusao = null; obj2.DataExclusao = DateTime.MaxValue; obj2.DataAtualizacao = DateTime.Now; IncidenteBusiness.Inserir(obj2); Severino.GravaCookie("MensagemSucesso", "O incidente " + obj2.Codigo + " foi rejeitado com sucesso.", 10); } } else { Incidente obj2 = new Incidente(); PropertyCopy.Copy(obj, obj2); obj2.ID = Guid.NewGuid().ToString(); obj2.StatusWF = "RS"; obj2.MensagemPasso = item.Comentarios; obj2.Status = novoStatus; obj2.Responsavel = Responsavel; obj2.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; obj2.UsuarioExclusao = null; obj2.DataExclusao = DateTime.MaxValue; obj2.DataAtualizacao = DateTime.Now; IncidenteBusiness.Inserir(obj2); Severino.GravaCookie("MensagemSucesso", "O incidente " + obj2.Codigo + " foi rejeitado com sucesso.", 10); } } return(Json(new { sucesso = "O passo do workflow associado ao documento foi aprovado com sucesso." })); } catch (Exception ex) { return(Json(new { erro = ex.Message })); } }
public ActionResult Detalhes(string uniquekey) { try { if (string.IsNullOrEmpty(uniquekey)) { throw new Exception("Não foi possível localizar o parâmetro que identifica o incidente com veículo."); } else { List <IncidenteVeiculo> lista = IncidenteVeiculoBusiness.Consulta.Where(a => a.UniqueKey.Equals(uniquekey) && string.IsNullOrEmpty(a.UsuarioExclusao)).ToList(); IncidenteVeiculo registro = lista[0]; registro.PassoAtual = WorkflowBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObject.Equals(registro.UniqueKey)); VMIncidenteVeiculo vm = new VMIncidenteVeiculo(); if (registro.PassoAtual != null) { vm.UKWorkflow = registro.PassoAtual.UniqueKey; vm.StatusWF = registro.PassoAtual.Nome; } else { vm.StatusWF = registro.Status.ToString(); } vm.UniqueKey = registro.UniqueKey; vm.Codigo = registro.Codigo; //vm.Status = registro.Status; vm.Descricao = registro.Descricao; vm.AcidenteFatal = registro.AcidenteFatal ? "Sim" : "Não"; vm.AcidenteGraveIP102 = registro.AcidenteGraveIP102 ? "Sim" : "Não"; vm.Centro = registro.Centro.GetDisplayName(); vm.Regional = registro.Regional.ToString(); vm.NumeroSmart = registro.NumeroSmart; if (registro.ETipoEntrada != 0) { vm.TipoEntrada = registro.ETipoEntrada.GetDisplayName(); } Municipio mun = MunicipioBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(registro.UKMunicipio)); if (mun != null) { vm.Municipio = mun.NomeCompleto; } ESocial eso = ESocialBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(registro.UKESocial)); if (eso != null) { vm.ESocial = eso.Codigo; ViewBag.ESocialDesc = eso.Descricao; } vm.Estado = registro.Estado; vm.Logradouro = registro.Logradouro; vm.NumeroLogradouro = registro.NumeroLogradouro; vm.ETipoAcidente = registro.ETipoAcidente.GetDisplayName(); vm.LocalAcidente = registro.LocalAcidente; Departamento dep = DepartamentoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(registro.UKOrgao)); if (dep != null) { vm.Orgao = dep.Sigla; } if (registro.TipoLocalAcidente != 0) { vm.TipoLocalAcidente = registro.TipoLocalAcidente.GetDisplayName(); } vm.DataIncidente = registro.DataIncidente.ToString("dd/MM/yyyy"); vm.HoraIncidente = registro.HoraIncidente; vm.DataInclusao = registro.DataInclusao.ToString("dd/MM/yyyy HH:mm"); if (registro.DataAtualizacao != null) { vm.DataAtualizacao = ((DateTime)registro.DataAtualizacao).ToString("dd/MM/yyyy HH:mm"); } vm.UsuarioInclusao = registro.UsuarioInclusao; vm.Arquivos = ArquivoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObjeto.Equals(uniquekey)).ToList(); vm.Operacoes = OperacaoBusiness.RecuperarTodasPermitidas(CustomAuthorizationProvider.UsuarioAutenticado.Login, CustomAuthorizationProvider.UsuarioAutenticado.Permissoes, lista); registro.Operacoes = vm.Operacoes; ViewBag.Incidente = registro; vm.Veiculos = (from iv in IncidenteVeiculoVeiculoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKIncidenteVeiculo.Equals(vm.UniqueKey)).ToList() join v in VeiculoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on iv.UKVeiculo equals v.UniqueKey select new VMVeiculo() { TipoCondutor = iv.TipoCondutor, NomeCondutor = iv.NomeCondutor, TipoFrota = v.TipoFrota, Placa = v.Placa, TipoVeiculo = v.TipoVeiculo, UKRel = iv.UniqueKey }).ToList(); vm.Populacao = (from iv in IncidenteVeiculoPopulacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKIncidenteVeiculo.Equals(vm.UniqueKey)).ToList() join v in PopulacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on iv.UKPopulacao equals v.UniqueKey select new VMPopulacao() { TipoAcidente = iv.TipoAcidente, Atividade = iv.Atividade, Causa = iv.Causa, AgenteCausador = iv.AgenteCausador, DataNascimento = v.DataNascimento.ToString("dd/MM/yyyy"), Sexo = v.Sexo, Nome = v.Nome, Natureza = iv.Natureza, UKPopulacao = v.UniqueKey, UKRel = iv.UniqueKey }).ToList(); vm.Materiais = MaterialBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKIncidente.Equals(vm.UniqueKey)).ToList(); return(PartialView("_DetalhesVeiculo", vm)); } } catch (Exception ex) { if (ex.GetBaseException() == null) { return(Json(new { resultado = new RetornoJSON() { Erro = ex.Message } })); } else { return(Json(new { resultado = new RetornoJSON() { Erro = ex.GetBaseException().Message } })); } } }
public ActionResult AprovarIncidente(ItemInbox item) { try { Incidente obj = IncidenteBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(item.UniqueKey) && a.Responsavel.ToUpper().Equals(CustomAuthorizationProvider.UsuarioAutenticado.Login.ToUpper())); if (obj == null) { throw new Exception("Não foi possível recuperar o incidente através da identificação recebida."); } else { ReiniciarCache(CustomAuthorizationProvider.UsuarioAutenticado.Login); obj.StatusWF = "SO"; obj.DataExclusao = DateTime.Now; obj.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; IncidenteBusiness.Alterar(obj); string novoStatus = OperacaoBusiness.RecuperarProximoStatus(obj.Status); List <string> Responsaveis = OperacaoBusiness.RecuperarResponsavelPorStatus(novoStatus); foreach (string resp in Responsaveis) { Incidente obj2 = new Incidente(); PropertyCopy.Copy(obj, obj2); obj2.ID = Guid.NewGuid().ToString(); obj2.UniqueKey = item.UniqueKey; if (novoStatus.Equals("Concluído")) { obj2.StatusWF = "SO"; } else { obj2.StatusWF = "RS"; } obj2.MensagemPasso = item.Comentarios; obj2.Status = novoStatus; obj2.Responsavel = resp; obj2.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; obj2.UsuarioExclusao = null; obj2.DataExclusao = DateTime.MaxValue; obj2.DataAtualizacao = DateTime.Now; IncidenteBusiness.Inserir(obj2); Severino.GravaCookie("MensagemSucesso", "O incidente " + obj2.Codigo + " foi aprovado com sucesso.", 10); } } return(Json(new { sucesso = "O passo do workflow associado ao documento foi aprovado com sucesso." })); } catch (Exception ex) { return(Json(new { erro = ex.Message })); } }