public void TestaExcluirOS()
 {
     this.CriaInstancia();
     Empresa emp = new Empresa();
     emp.Codigo = "99";
     Filial fil = new Filial();
     fil.Codigo = "99";
     OrdemServico os = new OrdemServico();
     os.Codigo = 43;
     INegocio<OrdemServico, int> osBus = new OrdemServicoBUS(Conexao.Instacia, emp, fil);
     osBus.Excluir(os);
 }
        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);
                }
            }
        }