// // GET: /OS/Details/5 public ActionResult Details(int id) { try { ViewBag.Title = "Detalhes - Ordens de Serviço"; Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; INegocio<OrdemServico, int> umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); OrdemServico umaOS = umaOSBUS.Consultar(id); this.VerificaOsRemota(ref umaOS, umUsuario); if (umaOS != null) { if (umUsuario.IsAdministrador) { return View(umaOS); } else { if (umUsuario.Funcionario.Codigo == umaOS.Funcionario.Codigo) { return View(umaOS); } else { return RedirectToAction("Index", new { st = "er" }); } } } else { return RedirectToAction("Index", new { st = "iv" }); } } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
public ActionResult Delete(int id, OrdemServico os) { try { Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; INegocio<OrdemServico, int> umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); os = umaOSBUS.Consultar(id); this.VerificaOsRemota(ref os, umUsuario); if (os.Remoto) { IOrdemServicoRemotoNegocio umaOrdemServicoRemotoBUS; OrdemServicoRemoto umaOrdemServicoRemota; PrepararOsRemota(os, umUsuario, out umaOrdemServicoRemotoBUS, out umaOrdemServicoRemota); umaOrdemServicoRemotoBUS.Excluir(umaOrdemServicoRemota); } else { umaOSBUS.Excluir(os); } AtualizarOS(umUsuario, os.Data); return RedirectToAction("Index", new { st = "ok" }); } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
// // /OS/ViewReport/5 public ActionResult ViewReport(int id) { try { Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; OrdemServicoBUS umOrdemServicoBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); OrdemServico umaOS = umOrdemServicoBUS.Consultar(id); this.VerificaOsRemota(ref umaOS, umUsuario); string query = string.Empty; string pathRelatorio = string.Empty; if (umaOS.Remoto) { query = "SELECT O.CLIENTE, O.FUNCIONARIO, OSR.INICIO AS DATADE, OSR.FIM AS DATAATE, "+ "O.INICIO, O.FIM, O.TRANSLADO, OSR.TOTAL, O.ATIVIDADE, C.CODIGO AS CODIGOCLIENTE, "+ "C.NOME AS NOMECLIENTE, F.NOME AS NOMEFUNCIONARIO, "+ "F.CODIGO AS CODIGOFUNCIONARIO, F.DATACADASTRO, O.CODIGO AS CODIGOOS "+ "FROM (ORDEM_SERVICO O INNER JOIN CLIENTES C ON O.CLIENTE = C.CODIGO) "+ "INNER JOIN FUNCIONARIOS F ON O.FUNCIONARIO = F.CODIGO "+ "INNER JOIN ORDEM_SERVICO_REMOTO OSR ON O.CODIGO = OSR.ORDEMSERVICO "+ "WHERE O.CODIGO=@CODIGO"; pathRelatorio = "~/Relatorios/OrdensDeServicoRemoto.frx"; } else { query = "SELECT O.CLIENTE, O.FUNCIONARIO, O.DATA, O.INICIO, O.FIM, O.TRANSLADO, O.ATIVIDADE, " + "C.CODIGO AS CODIGOCLIENTE, C.NOME AS NOMECLIENTE, F.NOME AS NOMEFUNCIONARIO, " + "F.CODIGO AS CODIGOFUNCIONARIO, F.DATACADASTRO, O.CODIGO AS CODIGOOS " + "FROM (\"ORDEM_SERVICO\" O INNER JOIN \"CLIENTES\" C ON O.CLIENTE = C.CODIGO " + ") INNER JOIN \"FUNCIONARIOS\" F ON O.FUNCIONARIO = F.CODIGO " + "WHERE O.CODIGO=@CODIGO"; pathRelatorio = "~/Relatorios/OrdensDeServico.frx"; } FbParameter[] parametros = new FbParameter[1]; parametros[0] = new FbParameter(); parametros[0].ParameterName = "@CODIGO"; if (umUsuario.IsAdministrador) { GerarRelatorioOS(id, umOrdemServicoBUS, query, pathRelatorio, parametros); return View(); } else { if (umUsuario.Funcionario.Codigo == umaOS.Funcionario.Codigo) { GerarRelatorioOS(id, umOrdemServicoBUS, query, pathRelatorio, parametros); return View(); } else { return RedirectToAction("Index", new { st = "er" }); } } } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
// // GET: /OS/Edit/5 public ActionResult Edit(int id) { try { ViewBag.Title = "Edição - Ordens de Serviço"; Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; OrdemServicoBUS umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); OrdemServico umaOS = umaOSBUS.Consultar(id); this.VerificaOsRemota(ref umaOS, umUsuario); if (umaOSBUS.VerificaPrazoEdicao(umaOS, this._limiteDiasEdicao)) { umaOS.Clientes = new ClienteBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.Situacoes = new StatusOrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.Projetos = new ProjetoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Pesquisar(umaOS.Cliente.Codigo); umaOS.TipoHoras = new TipoHoraBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); if (umUsuario.IsAdministrador) { return View(umaOS); } else { if (umUsuario.Funcionario.Codigo == umaOS.Funcionario.Codigo) { return View(umaOS); } else { return RedirectToAction("Index", new { st = "er" }); } } } else { return RedirectToAction("Index", new { st = "tf" }); } } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }