/// <summary> /// control the limit of work per day /// </summary> public void DayPeriod() { //how much time the computer has already worked for today //когда компютер начал работать DateTime dtComputerStart = timeParams.GetComputerStartDateTime(); //какой период времени работы в сутки разрешен int timeLimitPerDay = timeParams.GetTimeLimitPerDayInMinutes(); DateTime currentTime = DateTime.Now; //TimeSpan - промежуток времени TimeSpan timeDiff = currentTime.Subtract(dtComputerStart); int waitTime = 0; if (timeDiff.TotalMinutes < timeLimitPerDay) { //остановить процесс на нужное количество времени waitTime = (timeLimitPerDay - (int)timeDiff.TotalMinutes); //convert to miliseconds waitTime = waitTime * 60000; Debug.WriteLine("waitTime = {0} ms", waitTime); } ShutDown(waitTime); }
private void BtnOk_Click(object sender, EventArgs e) { timeControl.SetTimeLimitPerDay((int)allowedHours.Value, (int)allowedMinutes.Value); timeControl.SetTimeBeforBreak((int)powerOffHours.Value, (int)powerOffMinutes.Value); reg.WriteDayTimeLimit(timeControl.GetTimeLimitPerDayInMinutes()); reg.WriteBreakPeriod(timeControl.GetTimeBeforBreakInMinutes()); HideToSystemArea(); }
public CheckOut() { reg = new Register(); timeParams = new TimeParameters(); timeParams.SetTimeLimitPerDayInMinutes(reg.ReadDayTimeLimit()); //DateTime.Now timeParams.SetComputerStartDateTime(reg.ReadPcStartDateTime()); timeParams.SetTimeBeforBreak(reg.ReadBreakPeriod()); timeOutTimer = new System.Timers.Timer(); Debug.WriteLine("Allowed time of work - {0}, PowerOff hours - {1}, power off min - {2}", timeParams.GetTimeLimitPerDayInMinutes(), timeParams.GetTimeBeforBreakHours(), timeParams.GetTimeLimitPerDayMinutes()); }
public MainForm() { InitializeComponent(); //Register.DeleteKey(); reg = new Register(); timeControl = new TimeParameters(); //retrive from reg nesessary values timeControl.SetTimeLimitPerDayInMinutes(reg.ReadDayTimeLimit()); timeControl.SetComputerStartDateTime(DateTime.Now); timeControl.SetTimeBeforBreak(reg.ReadBreakPeriod()); timeControl.SetPauseTimeInMilisecons(1 * 60 * 1000); //5 minutes Debug.WriteLine("Allowed time of work - {0}, PowerOff hours - {1}, power off min - {2}", timeControl.GetTimeLimitPerDayInMinutes(), timeControl.GetTimeBeforBreakHours(), timeControl.GetTimeLimitPerDayMinutes()); /*shows the values in controls*/ allowedHours.Value = timeControl.GetTimeLimitPerDayHours(); allowedMinutes.Value = timeControl.GetTimeLimitPerDayMinutes(); powerOffHours.Value = timeControl.GetTimeBeforBreakHours(); powerOffMinutes.Value = timeControl.GetTimeBeforBreakMinutes(); WindowState = FormWindowState.Minimized; ShowInTaskbar = false; TimeParameters tp = new TimeParameters(); timeBefoBreakInSeconds = (tp.GetTimeBeforBreakInMinutes() * 60) + (tp.GetPauseTimeInMilisecons() / 1000); StartTimeControl(); }