//
        // 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);
                }
            }
        }