public weekPage() { InitializeComponent(); ApplicationLanguages.PrimaryLanguageOverride = "sv-se"; viewModel = new ScheduleViewModel(); dataMapping = new ScheduleAppointmentMapping(); dataMapping.SubjectMapping = "EventName"; dataMapping.StartTimeMapping = "From"; dataMapping.EndTimeMapping = "To"; dataMapping.AppointmentBackgroundMapping = "color"; dataMapping.AllDayMapping = "AllDay"; KalDag.AppointmentMapping = dataMapping; this.DataContext = viewModel; }
public DeadlinesPage() { Title = "Deadlines"; ScheduleAppointmentMapping mapping = new ScheduleAppointmentMapping { SubjectMapping = "Title", ColorMapping = "Color" }; Scheduler.AppointmentMapping = mapping; Scheduler.DataSource = Deadlines; Scheduler.ScheduleView = ScheduleView.MonthView; Scheduler.ShowAppointmentsInline = true; MonthInlineViewStyle style = new MonthInlineViewStyle { BackgroundColor = Color.FromHex("#E3E3E3"), TextSize = 16, TimeTextColor = Color.Transparent }; Scheduler.OnMonthInlineLoadedEvent += (sender, args) => { args.monthInlineViewStyle = style; }; Scheduler.OnMonthInlineAppointmentLoadedEvent += (sender, args) => { }; Scheduler.MonthInlineAppointmentTapped += (sender, args) => { }; Content = Scheduler; }
protected override void OnAppearing() { var mapping = new ScheduleAppointmentMapping(); mapping.SubjectMapping = nameof(CEvent.Subject); mapping.StartTimeMapping = nameof(CEvent.FromDate); mapping.EndTimeMapping = nameof(CEvent.ToDate); mapping.ColorMapping = nameof(CEvent.EventColor); scheduler.AppointmentMapping = mapping; var vm = new EventsVM(); scheduler.BindingContext = vm; scheduler.DataSource = vm.appointments; scheduler.ScheduleView = ScheduleView.MonthView; scheduler.MonthViewSettings.ShowAgendaView = true; base.OnAppearing(); }
public DashboardPage() { InitializeComponent(); ScheduleAppointmentMapping dataMapping = new ScheduleAppointmentMapping(); dataMapping.SubjectMapping = "Name"; dataMapping.NotesMapping = "Comments"; dataMapping.StartTimeMapping = "StartTime"; dataMapping.EndTimeMapping = "EndTime"; dataMapping.LocationMapping = "UserName"; dataMapping.IsAllDayMapping = "IsAllDay"; Sfschedule.AppointmentMapping = dataMapping; AppointmentStyle appointmentStyle = new AppointmentStyle(); appointmentStyle.TextColor = Color.Red; appointmentStyle.TextStyle = Font.SystemFontOfSize(15, FontAttributes.Bold); appointmentStyle.BorderColor = Color.Blue; appointmentStyle.BorderWidth = 5; appointmentStyle.SelectionBorderColor = Color.Yellow; appointmentStyle.SelectionTextColor = Color.Yellow; Sfschedule.AppointmentStyle = appointmentStyle; }
public GettingStarted_WinRT() { ApplicationLanguages.PrimaryLanguageOverride = "en-US"; this.InitializeComponent(); /// <summary> /// custom data mapping /// </summary> meetings = new ObservableCollection <Meeting>(); viewModel = new ScheduleViewModel(); dataMapping = new ScheduleAppointmentMapping(); dataMapping.SubjectMapping = "EventName"; dataMapping.StartTimeMapping = "From"; dataMapping.EndTimeMapping = "To"; dataMapping.AppointmentBackgroundMapping = "color"; dataMapping.AllDayMapping = "AllDay"; Schedule.AppointmentMapping = dataMapping; meetings = viewModel.ListOfMeeting; Schedule.ItemsSource = meetings; this.DataContext = viewModel; Schedule.AppointmentEditorOpening += Schedule1_AppointmentEditorOpening; Schedule.AppointmentEditorClosed += Schedule1_AppointmentEditorClosed; Schedule.VisibleDatesChanging += Schedule_VisibleDatesChanging; this.Week.IsChecked = true; ScheduleHeaderStyle mainHeader = new ScheduleHeaderStyle(); mainHeader.HeaderHeight = 0; Schedule.ScheduleHeaderStyle = mainHeader; Schedule.AppointmentEditorOpening += Schedule_AppointmentEditorOpening; Schedule.ScheduleTypeChanging += Schedule_ScheduleTypeChanging; }
public GettingStarted() { ApplicationLanguages.PrimaryLanguageOverride = "en-US"; this.InitializeComponent(); schedule_Type.ItemsSource = Enum.GetValues(typeof(ScheduleType)); /// <summary> /// custom data mapping /// </summary> meetings = new ObservableCollection <Meeting>(); viewModel = new ScheduleViewModel(); dataMapping = new ScheduleAppointmentMapping(); dataMapping.SubjectMapping = "EventName"; dataMapping.StartTimeMapping = "From"; dataMapping.EndTimeMapping = "To"; dataMapping.AppointmentBackgroundMapping = "color"; dataMapping.AllDayMapping = "AllDay"; schedule.AppointmentMapping = dataMapping; meetings = viewModel.ListOfMeeting; schedule.ItemsSource = meetings; this.DataContext = viewModel; }
public CalendarioPage(CalendarioPageVM vm) { VM = vm ?? new CalendarioPageVM(); VM.UIPage = this; BindingContext = VM; var calendar = new SfSchedule { ShowAppointmentsInline = true, ScheduleView = ScheduleView.WeekView }; #region Customization var headerStyle = new HeaderStyle(); //headerStyle.TextSize = 15; //headerStyle.TextStyle headerStyle.TextColor = Color.Black; calendar.HeaderStyle = headerStyle; #endregion ScheduleAppointmentMapping dataMapping = new ScheduleAppointmentMapping(); dataMapping.SubjectMapping = nameof(GoogleEventVM.Title); dataMapping.StartTimeMapping = nameof(GoogleEventVM.StartDate); dataMapping.EndTimeMapping = nameof(GoogleEventVM.EndDate); dataMapping.ColorMapping = nameof(GoogleEventVM.BackgroundColor); calendar.AppointmentMapping = dataMapping; calendar.ScheduleCellTapped += async(object sender, ScheduleTappedEventArgs args) => { var data = args; var fine = args.datetime.Add(TimeSpan.FromMinutes(calendar.TimeInterval)); var events = VM.GetEventsFromDateTime(args.datetime, TimeSpan.FromMinutes(calendar.TimeInterval)); if (events != null && events.Count > 0) { var IsNuovoEvento = false; var stringaCrea = "Crea evento"; var eventiListaStringhe = events.Select(x => x.Name).ToList(); eventiListaStringhe.Add(stringaCrea); var stringaScelta = await DisplayActionSheet("Quale evento?", "Nessuno", null, eventiListaStringhe.ToArray()); if (stringaScelta == stringaCrea) { IsNuovoEvento = true; await DoCrea(args.datetime, fine); return; } var eventoScelto = VM.EventsObj.FirstOrDefault(x => x.Name == stringaScelta); if (eventoScelto != null) { if (App.VM.user != null) { //se è modificabile, aprilo in edit var eventoInterno = VM.EventiInterniObj.FirstOrDefault(x => x.data.RelatedGoogleEventID == eventoScelto.ID); if (IsNuovoEvento || (eventoInterno != null && eventoInterno.data.RelatedOwnerGuid == App.VM.user.Guid)) { var pageEditVM = new EventDetailEditVM { CalendarioVM = VM, ObjEvent = eventoScelto, ObjInternalEvent = eventoInterno, ObjAllEvents = VM.EventsObj }; pageEditVM.DownloadData(false).ContinueWith(delegate { pageEditVM.UpdateVM(); }); await Navigation.PushAsync(new EventDetailViewEdit(pageEditVM)); } else { //altrimenti, aprilo in read only var pageViewVM = new EventDetailViewModel { ObjEvent = eventoScelto }; pageViewVM.DownloadData().ContinueWith(delegate { pageViewVM.UpdateVM(); }); await Navigation.PushAsync(new EventDetailView(pageViewVM)); } } else { //altrimenti, aprilo in read only var pageViewVM = new EventDetailViewModel { ObjEvent = eventoScelto }; pageViewVM.UpdateVM(); //non c'è bisogno qui di fare il download data perchè già ho gli oggetti interi che sto passando await Navigation.PushAsync(new EventDetailView(pageViewVM)); } } else { //se non ho scelto nessun evento torna indietro return; } } else if (events == null || events.Count == 0) { //se non ci sono già eventi in questa fascia oraria, permettine la creazione await DoCrea(args.datetime, fine); } }; //var listaVacanze = new List<DateTime> { }; //listaVacanze.Add(DateTime.Now); //calendar.BlackoutDates = listaVacanze; calendar.SetBinding(SfSchedule.DataSourceProperty, new Binding(nameof(CalendarioPageVM.Items))); var loadingText = new Label { Text = "Caricamento in corso", HorizontalTextAlignment = TextAlignment.Center }; loadingText.SetBinding(View.IsVisibleProperty, nameof(ViewModelBase.IsLoadingData)); var grid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = GridLength.Auto }, new RowDefinition { Height = GridLength.Star }, } }; grid.AddChild(loadingText, 0, 0); grid.AddChild(calendar, 1, 0); this.Content = grid; }