Esempio n. 1
0
 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;
 }
Esempio n. 2
0
        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;
        }
Esempio n. 6
0
        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;
        }
Esempio n. 7
0
        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;
        }