public void HomeOfficeDay_WillBeStarted_AccordingToTimeInArguments() { var dayData = new SingleDayData() { Day = 26, IsNoWorkDay = false }; // simulate a normal, working weekday Calculations.NowTime = new DateTime(2016, 10, 31, 7, 5, 0); // it's 07:05 in the morning // Remote Desktop Logon happened at, say, 06:38, when TimeMerge was not running yet: var remoteLogonTime = new DateTime(2016, 10, 31, 6, 38, 0); var args = new HomeOfficeDetector.HomeOfficeActivityEventArgs() { EventTime = remoteLogonTime }; dayData.StartHomeOfficeDay(args); Assert.AreEqual(WorkInterruption.WorkInterruptionType.PDOMA, dayData.WorkInterruptions[0].CorrectedType); Assert.AreEqual(remoteLogonTime, dayData.WorkInterruptions[0].CorrectionStartTime); }
internal void HomeOfficeActivityOfDayDetected(HomeOfficeDetector.HomeOfficeActivityEventArgs args) { if (!Properties.Settings.Default.IsHomeOfficeDetectionOn) { return; } var now = Calculations.NowTime; if (now.Year == YearMonth.Year && now.Month == YearMonth.Month) { int dayIndex = now.Day - 1; if (Days.Count > dayIndex) { var autoStartHomeOfficeDayCommand = Days[dayIndex].StartHomeOfficeDayCommand; if (autoStartHomeOfficeDayCommand.CanExecute(args)) { autoStartHomeOfficeDayCommand.Execute(args); string ballonText = string.Format("Začiatok práce z domu: {0}", args.EventTime.ToString("HH:mm")); _mainViewModel.HomeOfficeDayNotificationCommand?.Execute(ballonText); } } } }
private void Detector_HomeOfficeActivityOfDayDetected1(object sender, HomeOfficeDetector.HomeOfficeActivityEventArgs e) { this.MonthViewModel.HomeOfficeActivityOfDayDetected(e); }