public Funcionario Build()
        {
            var funcionario = new Funcionario(Funcionario.Id,
                                              Funcionario.Nome,
                                              Funcionario.Cpf,
                                              Funcionario.DataContratacao);

            funcionario.AlterarFuncionarioCargos(Funcionario.FuncionarioCargos);
            funcionario.AlterarEmpresaId(Funcionario.EmpresaId);
            return(funcionario);
        }
        public FuncionarioBuilder WithCargos(int quantidade)
        {
            List <FuncionarioCargo> funcionarioCargos = new List <FuncionarioCargo>();
            var cargos = new CargoBuilder(quantidade).BuildList();

            for (int i = 0; i < quantidade; i++)
            {
                var cargo = cargos[i];

                funcionarioCargos.Add(
                    new FuncionarioCargo(
                        Funcionario.Id,
                        cargo.Id,
                        new Faker().Date.Past())
                {
                    Cargo       = cargo,
                    Funcionario = Funcionario
                }
                    );
            }

            Funcionario.AlterarFuncionarioCargos(funcionarioCargos);
            return(this);
        }