예제 #1
0
        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);
        }
예제 #2
0
        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);
                    }
                }
            }
        }
예제 #3
0
 private void Detector_HomeOfficeActivityOfDayDetected1(object sender, HomeOfficeDetector.HomeOfficeActivityEventArgs e)
 {
     this.MonthViewModel.HomeOfficeActivityOfDayDetected(e);
 }