Ejemplo n.º 1
0
        /// <summary>
        /// Se o administrador, por alguma razão, desejar criar um ponto para o funcionário, este método será usado.
        /// Somente o login do administrador pode ocasionar a invocação deste método.
        /// </summary>
        /// <param name="funcionario">Funcionário o qual terá um dia de trabalho criado</param>
        /// <param name="date">Data do ponto que será adicionado</param>
        /// <returns></returns>
        public DiaTrabalho criarPontoParaFuncionarioEm(Funcionario funcionario, DateTime date)
        {
            Check.Require(!(sessaoLogin.UsuarioLogado is Funcionario));

            var ponto = pontoFactory.criarDiaTrabalhoEmDiaEspecifico(funcionario, date);

            ponto.Fim = new TimeSpan(0, 0, 0);

            foreach (var tipoIntervalo in tipoIntervaloRepository.findAll())
            {
                var novoIntervalo = new Intervalo(tipoIntervalo, new TimeSpan(0, 0, 0));
                ponto.Intervalos.Add(novoIntervalo);
                novoIntervalo.Saida = new TimeSpan(0, 0, 0);
            }

            pontoRepository.save(ponto);

            return(ponto);
        }