void ScheduleEntriesCalendar_AddAppointment(object sender, RoutedEventArgs e) { if (ctrlCalendar.ReadOnly) { return; } var item = (CalendarTimeslotItem)e.OriginalSource; var entry = new ScheduleEntryDTO(); entry.StartTime = item.StartTime.ToUniversalTime(); entry.EndTime = entry.StartTime.AddHours(1); var viewModelItem = new ScheduleEntryViewModel(entry, ctrlCalendar); viewModel.Entries.Add(viewModelItem); viewModel.SelectedAppointment = viewModelItem; viewModel.EditSelected(); //if (ctrlCalendar.DisplayMode == ScheduleDisplayMode.Room) //{ // entry.RoomId = Identifier; //} //else //{ // entry.EmployeeId = Identifier; //} //EditDomainObjectView dlg = new EditDomainObjectView(); //var ctrl = new ScheduleEntryEditorView(); //dlg.SetControl(ctrl); //ctrl.Fill(entry, ctrlCalendar.DisplayMode); //if (dlg.ShowDialog() == true) //{ // ServiceManager.Default.SaveScheduleEntry(entry); // var usluga = DomainModelCache.Uslugi[entry.UslugaId]; // IList<Appointment> list = (IList<Appointment>)ctrlCalendar.Appointments; // Appointment app = new Appointment(); // app.Color = usluga.Color; // app.Subject = usluga.Name; // app.Tag = new ScheduleEntryViewModel(entry, ctrlCalendar); // app.StartTime = entry.StartTime; // app.EndTime = entry.EndTime; // list.Add(app); // ctrlCalendar.RefreshAppointments(); //} }
private AdaptiveGroup GetAdaptiveGroup(ScheduleEntryViewModel entry, TileSize size, bool subtle, bool addSpacing) { AdaptiveSubgroup subgroup; switch (size) { case TileSize.Large: subgroup = new AdaptiveSubgroup() { Children = { new AdaptiveText() { Text = entry.Name, HintStyle = subtle ? AdaptiveTextStyle.BaseSubtle : AdaptiveTextStyle.Base }, new AdaptiveText() { Text = entry.TimeRangeRoomDisplay, HintStyle = subtle ? AdaptiveTextStyle.CaptionSubtle : AdaptiveTextStyle.Caption } } }; break; case TileSize.Wide: subgroup = new AdaptiveSubgroup() { Children = { new AdaptiveText() { Text = entry.Name, HintStyle = subtle ? AdaptiveTextStyle.BaseSubtle : AdaptiveTextStyle.Base }, new AdaptiveText() { Text = entry.TimeRangeRoomDisplay, HintStyle = AdaptiveTextStyle.CaptionSubtle } } }; break; case TileSize.Medium: subgroup = new AdaptiveSubgroup() { Children = { new AdaptiveText() { Text = entry.Name, HintWrap = true, HintMaxLines = 2, HintStyle = subtle ? AdaptiveTextStyle.BaseSubtle : AdaptiveTextStyle.Base }, new AdaptiveText() { Text = entry.TimeRangeDisplay, HintStyle = AdaptiveTextStyle.CaptionSubtle }, new AdaptiveText() { Text = entry.Room, HintStyle = AdaptiveTextStyle.CaptionSubtle } } }; break; default: throw new ArgumentOutOfRangeException(nameof(size)); } if (addSpacing) { subgroup.Children.Add(new AdaptiveText() { HintStyle = AdaptiveTextStyle.Caption }); } return(new AdaptiveGroup() { Children = { subgroup } }); }