public void Should_have_state_OnTime_at_12_00() { var stateResolver = new StateResolver(); Assert.Equal(TeamDailyStatus.Issue, stateResolver.StateAt(new TeamStatusListItemIHoldTeamStatusWrapper(_teamStatusListItem), new DateTime(2013, 7, 31, 12, 00, 00))); }
public void Should_have_state_Completed_at_14_00() { var stateResolver = new StateResolver(); Assert.Equal(TeamDailyStatus.Completed, stateResolver.StateAt(new TeamStatusListItemIHoldTeamStatusWrapper(_teamStatusListItem), new DateTime(2013, 7, 31, 14, 00, 00))); }
private void UpdateScheduledStatuses(object state) { var date = DateTime.Today.ToString("yyyyMMdd"); var todaysSchedules = new List<ScheduleItem>(); using (var session = _sessionProvider.GetSession()) { todaysSchedules = session.Query<ScheduleItem>() .Where(x => x.Date == date) .ToList(); } foreach (IGrouping<string, ScheduleItem> teamItemsGroup in todaysSchedules.GroupBy(x => x.TeamId)) { var teamItems = teamItemsGroup.ToArray(); if (teamItems.Any() == false) return; var scheduleItem = teamItems.First(); var stateResolver = new StateResolver(); var currentState = stateResolver.StateAt(new ScheduleItemsListIHoldTeamStatusWrapper(Date.Create(date), TeamDailyStatus.OnTime, teamItems), _clientSettings.Now(scheduleItem.ClientId)); switch (currentState) { case TeamDailyStatus.OnTime: _eventDispatcher.Dispatch(new ScheduleItemOnTime { ClientId = scheduleItem.ClientId, Date = scheduleItem.Date, TeamId = scheduleItem.TeamId, TeamName = scheduleItem.TeamName, }); break; case TeamDailyStatus.Issue: _eventDispatcher.Dispatch(new ScheduleItemIssue { ClientId = scheduleItem.ClientId, Date = scheduleItem.Date, TeamId = scheduleItem.TeamId, TeamName = scheduleItem.TeamName, }); break; case TeamDailyStatus.Risk: _eventDispatcher.Dispatch(new ScheduleItemRisk { ClientId = scheduleItem.ClientId, Date = scheduleItem.Date, TeamId = scheduleItem.TeamId, TeamName = scheduleItem.TeamName, }); break; case TeamDailyStatus.Completed: _eventDispatcher.Dispatch(new ScheduleItemCompleted { ClientId = scheduleItem.ClientId, Date = scheduleItem.Date, TeamId = scheduleItem.TeamId, TeamName = scheduleItem.TeamName, }); break; } } }
public void Should_have_state_Risk_at_11_44() { var stateResolver = new StateResolver(); Assert.Equal(TeamDailyStatus.Risk, stateResolver.StateAt(new TeamStatusListItemIHoldTeamStatusWrapper(_teamStatusListItem), new DateTime(2013, 7, 31, 11, 44, 00))); }