public void Salvar(Departamento departamento)
        {
            #region [ Validações ]

            if (departamento == null)
                throw new ArgumentNullException("departamento");

            if (string.IsNullOrEmpty(departamento.Nome))
                throw new InvalidOperationException("Forneça um nome para o departamento.");

            #endregion

            var rep = Data.RepositoryFactory<Departamento>.Criar();

            rep.Save(departamento);
        }
        static void Main(string[] args)
        {
            var depBusiness = new Business.DepartamentoBusiness();
            var funBusiness = new Business.FuncionarioBusiness();

            Departamento novoDepartamento = new Departamento();
            novoDepartamento.Nome = "TI";

            //  Salvar o departamento na fonte de dados.
            depBusiness.Salvar(novoDepartamento);

            Funcionario novoFuncionario = new Funcionario();
            novoFuncionario.Nome = "Wolverine";
            novoFuncionario.Departamento = novoDepartamento;

            // Salvar o funcionário na fonte de dados.
            funBusiness.Salvar(novoFuncionario);

            var todosFuncionarios = funBusiness.GetFuncionarios();
        }