private void UserControl_Loaded(object sender, RoutedEventArgs e) { MySchedule.loadAllSchedule(); MyTask.loadAllTasks(); drawScheduleCards(); drawTaskCards(); }
static void Main(string[] args) { var scheduler = MySchedule.GetValue(); Console.WriteLine("Scheduler started. Press [Enter] to quit."); Console.ReadLine(); }
public void ScheduleTest() { var timeEvent = new MySchedule { Title = "Test title" }; Assert.Equal("Test title", timeEvent.Title); }
private void MenuButton_Click(object sender, RoutedEventArgs e) { MySchedule.removeAllSchedule(); MyTask.clearAllTasks(); TreeSession.clearAllTrees(); Task.Factory.StartNew(() => Thread.Sleep(1000)).ContinueWith(t => { MainWindowViewModel.MainSnackbarMessageQueue?.Enqueue("清除缓存成功"); }, TaskScheduler.FromCurrentSynchronizationContext()); }
public async Task <IActionResult> MySchedule() { var user = await GetCurrentUserAsync(); MySchedule mySchedule = new MySchedule(); mySchedule.activities = await _context.Activity .Where(a => a.UserId == user.Id) .ToListAsync(); mySchedule.gatherings = await _context.Gathering .Where(g => g.GatheringUsers.Any(gu => gu.UserId == user.Id)) .ToListAsync(); return(Ok(mySchedule)); }
public SetSchedulePage(Plug p, MySchedule s) { InitializeComponent(); myschedule = new MySchedule(); myschedule = s; _index = p.MyPlugState.MyScheduleList.IndexOf(s); connection = Websockets.WebSocketFactory.Create(); //Exclude schedule from List p.MyPlugState.MyScheduleList.Remove(s); plug = new Plug(); plug = p; Helper = new ScheduleHelperClass(); StepValue = 1.0; IsOnPreviousState = true; SetValuesFromPreviousState(s); }
private void SetValuesFromPreviousState(MySchedule s) { List <string> days = s.Days.Split(' ').ToList(); foreach (var v in days) { if (string.Equals(v, L10n.Localize("MonLabel"))) { MonSwitch.IsToggled = true; } else if (string.Equals(v, L10n.Localize("TueLabel"))) { TueSwitch.IsToggled = true; } else if (string.Equals(v, L10n.Localize("WedLabel"))) { WedSwitch.IsToggled = true; } else if (string.Equals(v, L10n.Localize("ThuLabel"))) { ThuSwitch.IsToggled = true; } else if (string.Equals(v, L10n.Localize("FriLabel"))) { FriSwitch.IsToggled = true; } else if (string.Equals(v, L10n.Localize("SatLabel"))) { SatSwitch.IsToggled = true; } else if (string.Equals(v, L10n.Localize("SunLabel"))) { SunSwitch.IsToggled = true; } } var fromt = Helper.StringToQt(s.FromTime); var tot = Helper.StringToQt(s.ToTime); InitializeValues(fromt, tot); }
public void drawplanGrid() { planGrid.Children.Clear(); planGrid.RowDefinitions.Clear(); Dictionary <Guid, MySchedule> schdic = MySchedule.getSchedulesofDay(DateTime.Now); foreach (KeyValuePair <Guid, MySchedule> kvp in schdic) { double ah = planGrid.ActualHeight; double upperMargin = 0; double lowerMargin = 0; double schedulestartsecond = (kvp.Value.Start - kvp.Value.Start.Date).TotalSeconds; double scheduleendsecond = (kvp.Value.Start - kvp.Value.Start.Date + kvp.Value.Duration).TotalSeconds; if (startsecond < schedulestartsecond) { upperMargin = (schedulestartsecond - startsecond) / (endsecond - startsecond) * ah; } if (scheduleendsecond < endsecond) { lowerMargin = (endsecond - scheduleendsecond) / (endsecond - startsecond) * ah; } Button b = new Button(); b.Tag = kvp.Value; planGrid.Children.Add(b); b.Margin = new Thickness(5, upperMargin + 2, 3, lowerMargin + 2); b.Height = double.NaN; SolidColorBrush c = new SolidColorBrush(Color.FromArgb(200, (byte)(kvp.Value.Title.GetHashCode()), (byte)(kvp.Value.Title.GetHashCode() / 256), 255)); b.Background = c; b.BorderBrush = c; b.Content = kvp.Value.Title; } }
private void SetMySchedules(int i, int j) { var myschedule = new MySchedule(); if (MyScheduleList.Count == i) { myschedule.FromTime = QtToTime(firstPosition[j]); myschedule.ToTime = QtToTime(lastPosition[j]); myschedule.Days = daysList[j]; MyScheduleList.Add(myschedule); } else if (StringToQt(MyScheduleList[i].FromTime) == firstPosition[j] && StringToQt(MyScheduleList[i].ToTime) == lastPosition[j]) { MyScheduleList[i].Days += $" {daysList[j]}"; } else { i++; SetMySchedules(i, j); } }
private void CreateScheduleButton_Click(object sender, RoutedEventArgs e) { string title = ScheduleNameInputBox.Text; DateTime?starttime = ScheduleStartTimerPicker.SelectedTime; DateTime?endtime = ScheduleEndTimerPicker.SelectedTime; int repeat = ScheduleRepeatBox.SelectedIndex; int remind = ScheduleRemindBox.SelectedIndex; if (title.Length == 0) { MessageBox.Show("请输入日程标题!"); return; } if (starttime == null) { MessageBox.Show("请选择日程开始时间!"); return; } if (endtime == null) { MessageBox.Show("请选择日程结束时间!"); return; } if (remind == -1) { MessageBox.Show("请选择提醒方式!"); return; } if (repeat == -1) { MessageBox.Show("请选择重复周期!"); return; } if (starttime >= endtime) { MessageBox.Show("结束时间必须在开始时间之后!"); return; } DateTime startday = DateTime.Now.Date; if (!TodayToStart) { if (ScheduleCalendar.SelectedDate == null) { MessageBox.Show("请选择一个开始日期!"); return; } startday = ScheduleCalendar.SelectedDate.Value; } MySchedule.AddSchedule(new MySchedule { Title = title, Start = startday.Date + starttime.Value.TimeOfDay, Duration = endtime.Value - starttime.Value, Repeat = (Freq)repeat, remindMode = (RemindMode)remind }); ScheduleNameInputBox.Text = null; ScheduleStartTimerPicker.SelectedTime = null; ScheduleEndTimerPicker.SelectedTime = null; ScheduleRepeatBox.SelectedIndex = -1; ScheduleRemindBox.SelectedIndex = -1; ScheduleFlipper.IsFlipped = false; drawScheduleCards(); }
private void CancelAll_Click(object sender, RoutedEventArgs e) { MySchedule.removeScheduleAll((Guid)(((Button)sender).Tag)); drawScheduleCards(); }
private void drawScheduleCards() { //标题上只要一个题目和一个大致的开始时间。 //展开后,里面的字符串为: //开始时间: //结束时间: //重复周期: //提醒:未设置之类的 //按钮:本次提前结束 //按钮:永久结束 //这些按钮里面应该对应着GUID的,所以就能取消到。 ScheduleShowerPanel.Orientation = Orientation.Vertical; ScheduleShowerPanel.Children.Clear(); List <Guid> guids = MySchedule.getAllActiveSchedules(); foreach (Guid guid in guids) { MySchedule sched = MySchedule.getActiveSchedule(guid); Expander expd = new Expander(); DockPanel header = new DockPanel(); TextBlock tb1 = new TextBlock(); tb1.Text = sched.Title; TextBlock tb2 = new TextBlock(); tb2.Text = sched.Start.ToString("yyyy-MM-dd"); tb2.HorizontalAlignment = HorizontalAlignment.Right; header.Children.Add(tb1); header.Children.Add(tb2); expd.Header = header; StackPanel sp = new StackPanel(); sp.Orientation = Orientation.Vertical; TextBlock tb3 = new TextBlock(); tb3.Text = "开始时间:" + sched.Start.ToString("yyyy-MM-dd HH:mm:ss"); tb3.Margin = new Thickness(24, 0, 24, 0); sp.Children.Add(tb3); TextBlock tb4 = new TextBlock(); tb4.Text = "结束时间:" + (sched.Start + sched.Duration).ToString("yyyy-MM-dd HH:mm:ss"); tb4.Margin = new Thickness(24, 0, 24, 0); sp.Children.Add(tb4); TextBlock tb5 = new TextBlock(); tb5.Text = "重复:" + chongfu[(int)sched.Repeat]; tb5.Margin = new Thickness(24, 0, 24, 0); sp.Children.Add(tb5); TextBlock tb6 = new TextBlock(); tb6.Text = "提醒模式:" + tixing[(int)sched.remindMode]; tb6.Margin = new Thickness(24, 0, 24, 8); sp.Children.Add(tb6); Grid lsp = new Grid(); lsp.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); lsp.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); Button bt = new Button(); bt.Tag = guid; bt.Click += CancelOnce_Click; bt.Content = "本次提前结束";//一个结束本次,一个永久结束,对于可以重复的schedule来说,这两个是不一样的。 lsp.Children.Add(bt); bt.SetValue(Grid.ColumnProperty, 0); Button bt2 = new Button(); bt2.Tag = guid; bt2.Click += CancelAll_Click; bt2.Content = "永久取消日程";//一个结束本次,一个永久结束,对于可以重复的schedule来说,这两个是不一样的。 lsp.Children.Add(bt2); bt2.SetValue(Grid.ColumnProperty, 1); sp.Children.Add(lsp); expd.Content = sp; MaterialDesignThemes.Wpf.ColorZone cz = new MaterialDesignThemes.Wpf.ColorZone(); cz.Margin = new Thickness(3, 5, 3, 5); cz.Content = expd; ScheduleShowerPanel.Children.Add(cz); } }