// [Test]
        public void AoCriarPrimeiroOrcamentoNomeDeveSerIgualAVersaoUm()
        {
            GerenciadorDeOrcamentos gerenciamento = new GerenciadorDeOrcamentos();
            Departamento departamento = new Hospital("Barra Dor");
            var orcamento = new OrcamentoHospitalar(departamento, 2012);
            gerenciamento.InformarNomeOrcamento(new List<Orcamento.Domain.Orcamento>(), orcamento, departamento, TipoOrcamentoEnum.Hospitalar);

            Assert.IsTrue(orcamento.NomeOrcamento == "Versão 1");
        }
 public void AoCriarSegundoOrcamentoNomeDeveSerIgualAVersaoDois()
 {
     Departamento departamento = new Hospital("Barra Dor");
     var orcamento = new OrcamentoHospitalar(departamento, 2012);
     var listaOrcamentos = new List<Orcamento.Domain.Orcamento>();
     listaOrcamentos.Add(orcamento);
     GerenciadorDeOrcamentos gerenciamento = new GerenciadorDeOrcamentos();
     gerenciamento.InformarNomeOrcamento(listaOrcamentos, orcamento, departamento, TipoOrcamentoEnum.Hospitalar);
     Assert.IsTrue(orcamento.NomeOrcamento == "Versão 2");
 }
        public void CriarNovoOrcamentoOperacional(Departamento departamento)
        {
            try
            {
                var servico = new ServicoCriarOrcamentoHospitalar();
                var orcamentosGerenciamento = Orcamentos.TodosOrcamentosHospitalares(departamento);

                GerenciadorDeOrcamentos gerenciamento = new GerenciadorDeOrcamentos();

                if (gerenciamento.PodeCriarOrcamento(orcamentosGerenciamento, departamento, TipoOrcamentoEnum.Hospitalar))
                {
                    this.View.Orcamento = servico.CriarOrcamentoHospitalar(orcamentosGerenciamento, departamento, 2014);
                    this.InformarDespesas();
                    PreencherOrcamentos();
                    CarregarValidacao();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private bool PodeCriarMaisUmaVersaoDeOrcamento(Departamento setor, int centroDeCustoId, List<Orcamento.Domain.Orcamento> orcamentosGerenciamento)
        {
            var gerenciamento = new GerenciadorDeOrcamentos();

            return gerenciamento.PodeCriarOrcamento(orcamentosGerenciamento, setor,
                                                    setor.ObterCentroDeCustoPor(
                                                        centroDeCustoId),
                                                    TipoOrcamentoEnum.
                                                        DespesaOperacional);
        }
        public void Clonar()
        {
            try
            {
                var orcamentosGerenciamento = Orcamentos.TodosOrcamentosHospitalares(this.View.Orcamento.Setor);

                GerenciadorDeOrcamentos gerenciamento = new GerenciadorDeOrcamentos();
                var servicoCriar = new ServicoCriarOrcamentoHospitalar();

                if (gerenciamento.PodeCriarOrcamento(orcamentosGerenciamento, this.View.Orcamento.Setor, TipoOrcamentoEnum.Hospitalar))
                {
                    ServicoClonarOrcamentoHospitalar servico = new ServicoClonarOrcamentoHospitalar();
                    var orcamento = servico.Clonar(this.View.Orcamento);
                    this.View.Orcamento = servicoCriar.CriarOrcamentoHospitalar(orcamentosGerenciamento, orcamento.Setor, 2014, orcamento);
                    this.InformarDespesas();
                    PreencherOrcamentos();
                    CarregarValidacao();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }