public static PontoService criarPontoService(SessaoLogin sessao, IDataHoraStrategy dataHoraStrategy = null, IPontoDiaRepository pontoRepository = null, bool mock = false, IFeriadoRepository feriadoRepository = null) { if (dataHoraStrategy == null) { dataHoraStrategy = new DataHoraMockStrategy(DateTime.Today); } if (pontoRepository == null) { pontoRepository = new PontoDiaMockRepository(); } var tipoIntervaloRepository = new TipoIntervaloMockRepository(); tipoIntervaloRepository.save(new TipoIntervalo("Almoço")); if (mock) { return(new PontoServiceMock(criarPontoFactory(pontoRepository, feriadoRepository), dataHoraStrategy, new FuncionarioPossuiPontoAbertoSpecification(pontoRepository), new FuncionarioJaTrabalhouHojeSpecification(pontoRepository), sessao, pontoRepository, tipoIntervaloRepository)); } return(new PontoService(criarPontoFactory(pontoRepository, feriadoRepository), dataHoraStrategy, new FuncionarioPossuiPontoAbertoSpecification(pontoRepository), new FuncionarioJaTrabalhouHojeSpecification(pontoRepository), sessao, pontoRepository, tipoIntervaloRepository)); }
public PontoService(PontoFactory pontoFactory, IDataHoraStrategy dataHoraStrategy, FuncionarioPossuiPontoAbertoSpecification pontoAbertoSpec, FuncionarioJaTrabalhouHojeSpecification funcTrabSpec, SessaoLogin sessaoLogin, IPontoDiaRepository pontoRepository, ITipoIntervaloRepository tipoIntervaloRepository) { this.pontoFactory = pontoFactory; this.dataHoraStrategy = dataHoraStrategy; this.deixouPontoAberto = pontoAbertoSpec; this.jaTrabalhouHoje = funcTrabSpec; this.jaTrabalhouHoje.Data = dataHoraStrategy.getDataHoraAtual(); this.sessaoLogin = sessaoLogin; this.pontoRepository = pontoRepository; this.tipoIntervaloRepository = tipoIntervaloRepository; }
private PontoService criarService(IDataHoraStrategy dataHoraStrategy = null, IPontoDiaRepository repository = null, Usuario logado = null) { var sessao = sessaoLogin; if (logado != null) { sessao = new SessaoLoginMock(logado); } return(FactoryHelper.criarPontoService(sessao, dataHoraStrategy, repository)); }
public DiaTrabalho criarDiaTrabalho(IDataHoraStrategy dataHoraStrategy, SessaoLogin sessaoLogin) { DateTime dt = dataHoraStrategy.getDataHoraAtual(); if (repository.existePontoDia(sessaoLogin.UsuarioLogado as Funcionario, dt)) { throw new PontoDiaJaExisteException(dt); } if (feriadoService.isFeriado(dt)) { return(new DiaTrabalhoFeriado(feriadoService.getFeriado(dt), dt.TimeOfDay, sessaoLogin.UsuarioLogado as Funcionario)); } return(new DiaTrabalhoComum(dt.Date, dt.TimeOfDay, sessaoLogin.UsuarioLogado as Funcionario)); }
public virtual void registrarIntervalo(TipoIntervalo tipoIntervalo, IDataHoraStrategy dataHoraStrategy) { if (intervaloFoiRegistrado(tipoIntervalo)) { var intervalo = getIntervalo(tipoIntervalo); if (intervalo.Saida.HasValue) { throw new IntervaloJaRegistradoException(tipoIntervalo); } intervalo.Saida = dataHoraStrategy.getDataHoraAtual().TimeOfDay; } else { if (algumIntervaloEmAberto()) { throw new IntervaloEmAbertoException(getIntervaloEmAberto()); } Intervalos.Add(new Intervalo(tipoIntervalo, dataHoraStrategy.getDataHoraAtual().TimeOfDay)); } }
public static PontoService criarPontoService(Funcionario logado, IDataHoraStrategy dataHoraStrategy = null, IPontoDiaRepository pontoRepository = null, bool mock = false, IFeriadoRepository feriadoRepository = null) { return(criarPontoService(new SessaoLoginMock(logado), dataHoraStrategy, pontoRepository, mock, feriadoRepository)); }
private PontoService criarPontoService(IPontoDiaRepository pontoRepository, IFeriadoRepository feriadoRepository, IDataHoraStrategy dataHora) { return (FactoryHelper.criarPontoService(funcionario, dataHora, pontoRepository, false, feriadoRepository)); }
private DiaTrabalho iniciarEncerrarDia(IPontoDiaRepository pontoRepository, IFeriadoRepository feriadoRepository, DateTime entrada, IDataHoraStrategy dataHora) { var diaTrab = criarPontoTrabalhoDoDia(pontoRepository, feriadoRepository, entrada.Day, entrada.Month, entrada.Year, entrada.Hour); criarPontoService(pontoRepository, feriadoRepository, dataHora).encerrarDia(diaTrab); return(diaTrab); }
public PontoServiceMock(PontoFactory pontoFactory, IDataHoraStrategy dataHoraStrategy, FuncionarioPossuiPontoAbertoSpecification pontoAbertoSpec, FuncionarioJaTrabalhouHojeSpecification funcTrabSpec, SessaoLogin sessaoLogin, IPontoDiaRepository pontoRepository, ITipoIntervaloRepository tipoIntervaloRepository) : base(pontoFactory, dataHoraStrategy, pontoAbertoSpec, funcTrabSpec, sessaoLogin, pontoRepository, tipoIntervaloRepository) { }