/// <summary>
        /// Check if the user has access to our application.
        /// </summary>
        /// <param name="accessToken"></param>
        public void CheckIfValidUser(string accessToken)
        {
            UserCredentials.Current.CurrentUser = new User();
            _myEventsService.AuthenticationService.LogOnAsync(accessToken, (result) =>
            {
                if (result != null)
                {
                    UserCredentials.Current.CurrentUser.UserId        = result.RegisteredUserId;
                    UserCredentials.Current.CurrentUser.FacebookToken = accessToken;
                    UserCredentials.Current.CurrentUser.MyEventsToken = result.Token;
                    UserCredentials.Current.CurrentUser.FullName      = result.UserName;
                    UserCredentials.Current.CurrentUser.FacebookId    = result.FacebookUserId;

                    ApplicationData.Current.LocalSettings.Values["Facebook_AccessToken"] = accessToken;
                    ApplicationData.Current.LocalSettings.Values["Facebook_UserId"]      = UserCredentials.Current.CurrentUser.FacebookId;

                    _myEventsService.SetAccessToken(UserCredentials.Current.CurrentUser.MyEventsToken);
                    App.RootFrame.Dispatcher.RunAsync(CoreDispatcherPriority.High, new DispatchedHandler(() =>
                    {
                        ShowProgress = true;
                        NavigateFromAppOrTile();
                    })).AsTask().Wait();
                }
                else
                {
                    App.RootFrame.Dispatcher.RunAsync(CoreDispatcherPriority.High, new DispatchedHandler(() =>
                    {
                        ApplicationData.Current.LocalSettings.Values["Facebook_AccessToken"] = "";
                        FacebookLogin();
                    })).AsTask().Wait();
                }
            });
        }
 /// <summary>
 /// Constructor
 /// </summary>
 public ManageMapViewModel(INavigationService navService, IMyEventsClient myEventsClient)
 {
     _navService   = navService;
     _eventsClient = myEventsClient;
     _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
     SuscribeCommands();
 }
示例#3
0
 /// <summary>
 /// Constructor
 /// </summary>
 public ManageMapViewModel(INavigationService navService, IMyEventsClient myEventsClient)
 {
     _navService = navService;
     _eventsClient = myEventsClient;
     _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
     SuscribeCommands();
 }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="navService"></param>
        /// <param name="eventsClient"></param>
        public EventDetailsViewModel(INavigationService navService, IMyEventsClient eventsClient)
        {
            _navService = navService;
            _eventsClient = eventsClient;
            SuscribeCommands();

            _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
        }
示例#5
0
 /// <summary>
 /// Default constructor for the UploadMaterialViewModel
 /// </summary>
 public UploadMaterialViewModel(INavigationService navService, IMyEventsClient eventsClient)
 {
     _navService   = navService;
     _eventsClient = eventsClient;
     Materials     = new ObservableCollection <Material>();
     _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
     SuscribeCommands();
 }
        /// <summary>
        /// Constructor
        /// </summary>
        public EventScheduleViewModel(IMyEventsClient eventsClient, INavigationService navService)
        {
            _eventsClient = eventsClient;
            _navService = navService;
            _navigateBackCommand = new Lazy<RelayCommand>(() => new RelayCommand(NavigateBackExecute));

            _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
        }
 private void LoadData()
 {
     ShowLoading();
     ReloadTopTags();
     _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
     GetEventDefinitions();
     GetTopSpeakers();
 }
示例#8
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="navService"></param>
        /// <param name="eventsClient"></param>
        public EventDetailsViewModel(INavigationService navService, IMyEventsClient eventsClient)
        {
            _navService   = navService;
            _eventsClient = eventsClient;
            SuscribeCommands();

            _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
        }
 /// <summary>
 /// Default constructor for the UploadMaterialViewModel  
 /// </summary>
 public UploadMaterialViewModel(INavigationService navService, IMyEventsClient eventsClient)
 {
     _navService = navService;
     _eventsClient = eventsClient;
     Materials = new ObservableCollection<Material>();
     _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
     SuscribeCommands();
 }
        /// <summary>
        /// Constructor
        /// </summary>
        public EventScheduleViewModel(IMyEventsClient eventsClient, INavigationService navService)
        {
            _eventsClient        = eventsClient;
            _navService          = navService;
            _navigateBackCommand = new Lazy <RelayCommand>(() => new RelayCommand(NavigateBackExecute));

            _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
        }
示例#11
0
 /// <summary>
 /// Initializes a new instance of the SessionDetailViewModel class.
 /// </summary>
 public SessionDetailViewModel(INavigationService navSrv, IMyEventsClient myEventSrv)
 {
     _navService      = navSrv;
     _myEventsService = myEventSrv;
     _myEventsService.SetAccessToken(UserCredentials.Current.CurrentUser.MyEventsToken);
     _navigateBackCommand  = new Lazy <RelayCommand>(() => new RelayCommand(NavigateBackCommandExecute));
     _deleteCommentCommand = new Lazy <RelayCommand>(() => new RelayCommand(DeleteCommentCommandExecute));
     _pinToStartCommand    = new Lazy <RelayCommand <Rect> >(() => new RelayCommand <Rect>(PinToStartCommandExecute));
 }
        /// <summary>
        /// Initializes a new instance of the SessionDetailViewModel class.
        /// </summary>
        public SessionDetailViewModel(INavigationService navSrv, IMyEventsClient myEventSrv)
        {
            _navService = navSrv;
            _myEventsService = myEventSrv;
            _myEventsService.SetAccessToken(UserCredentials.Current.CurrentUser.MyEventsToken);
            _navigateBackCommand = new Lazy<RelayCommand>(() => new RelayCommand(NavigateBackCommandExecute));
            _deleteCommentCommand = new Lazy<RelayCommand>(() => new RelayCommand(DeleteCommentCommandExecute));
            _pinToStartCommand = new Lazy<RelayCommand<Rect>>(() => new RelayCommand<Rect>(PinToStartCommandExecute));

        }
示例#13
0
        /// <summary>
        /// Initializes a new instance of the EventDetailViewModel class.
        /// </summary>
        /// <param name="navSrv">Navigation Service</param>
        /// <param name="twitterSrv">Twitter Service</param>
        /// <param name="myEventSrv">MyEvents Service</param>
        public EventDetailViewModel(INavigationService navSrv, ITwitterService twitterSrv, IMyEventsClient myEventSrv)
        {
            _navService = navSrv;
            _twitterService = twitterSrv;
            _myEventsService = myEventSrv;

            TwitterBtnContent = _loader.GetString("LogInTwitter");
            InitializeCommands();

            _myEventsService.SetAccessToken(UserCredentials.Current.CurrentUser.MyEventsToken);
        }
        /// <summary>
        /// Initializes a new instance of the EventDetailViewModel class.
        /// </summary>
        /// <param name="navSrv">Navigation Service</param>
        /// <param name="twitterSrv">Twitter Service</param>
        /// <param name="myEventSrv">MyEvents Service</param>
        public EventDetailViewModel(INavigationService navSrv, ITwitterService twitterSrv, IMyEventsClient myEventSrv)
        {
            _navService      = navSrv;
            _twitterService  = twitterSrv;
            _myEventsService = myEventSrv;

            TwitterBtnContent = _loader.GetString("LogInTwitter");
            InitializeCommands();

            _myEventsService.SetAccessToken(UserCredentials.Current.CurrentUser.MyEventsToken);
        }
示例#15
0
        private void LoadData()
        {
            _eventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
            _eventsClient.EventDefinitionService.GetEventDefinitionByOrganizerIdAsync(UserCredentials.Current.UserId, string.Empty, 500, 0, (result) =>
            {
                App.Current.Dispatcher.Invoke(() =>
                {
                    Events = new ObservableCollection <EventDefinition>(result);

                    RaisePropertyChanged(() => Events);
                    IsBusy = false;
                });
            });
        }
示例#16
0
        void FacebookLogin_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            ViewModelLocator.Register();
            bool offline = false;

            bool.TryParse(ConfigurationManager.AppSettings.Get("OfflineMode"), out offline);

            if (!offline)
            {
                if ((bool)e.NewValue)
                {
                    progressBarLogin.Visibility = System.Windows.Visibility.Visible;
                    fbapi = new FacebookApi(ConfigurationManager.AppSettings.Get("FacebookAppId"), ConfigurationManager.AppSettings.Get("FacebookAppPermissions"));
                    var loginUrl = fbapi.GetFacebookLoginUrl();
                    fbLoginBrowser.Navigate(loginUrl);
                }
            }
            else
            {
                _myEventsClient.AuthenticationService.GetFakeAuthorizationAsync((result) =>
                {
                    Credentials.UserCredentials.Current.UserId        = result.RegisteredUserId;
                    Credentials.UserCredentials.Current.FacebookToken = "";
                    Credentials.UserCredentials.Current.FacebookId    = result.FacebookUserId;
                    Credentials.UserCredentials.Current.MyEventsToken = result.Token;
                    Credentials.UserCredentials.Current.FullName      = result.UserName;

                    _myEventsClient.SetAccessToken(Credentials.UserCredentials.Current.MyEventsToken);
                    Dispatcher.Invoke(() =>
                    {
                        progressBarLogin.Visibility = System.Windows.Visibility.Collapsed;
                        (this.DataContext as MainPageViewModel).ShowFacebookLogin = false;
                    });
                });
            }
        }
示例#17
0
        private void InitializeData()
        {
            ResourceLoader loader = new ResourceLoader();

            _myEventsService.SetAccessToken(UserCredentials.Current.CurrentUser.MyEventsToken);
            _myEventsService.EventDefinitionService.GetEventDefinitionByOrganizerIdAsync(UserCredentials.Current.CurrentUser.UserId, string.Empty, 50, 0, (result) =>
            {
                _ungroupedEvents = new ObservableCollection <EventDefinition>(result);
                ObservableCollection <EventDefinition> events = new ObservableCollection <EventDefinition>(result);

                _events = new ObservableCollection <EventGroup>();
                _events.Add(new EventGroup()
                {
                    GroupIndex = 1,
                    GroupTitle = loader.GetString("ComingSoonTitle"),
                    Items      = new ObservableCollection <EventDefinition>(events.Where(e => e.Date >= DateTime.UtcNow).OrderBy(ev => ev.Date).Take(4)
                                                                            .Select(ev => new EventDefinition()
                    {
                        Address           = ev.Address,
                        AttendeesCount    = ev.AttendeesCount,
                        City              = ev.City,
                        Date              = ev.Date,
                        Description       = ev.Description,
                        EndTime           = ev.EndTime,
                        EventDefinitionId = ev.EventDefinitionId,
                        GroupNumber       = 1,
                        Latitude          = ev.Latitude,
                        Likes             = ev.Likes,
                        Logo              = ev.Logo,
                        Longitude         = ev.Longitude,
                        MapImage          = ev.MapImage,
                        Name              = ev.Name,
                        Organizer         = ev.Organizer,
                        OrganizerId       = ev.OrganizerId,
                        Registered        = ev.Registered,
                        RegisteredUsers   = ev.RegisteredUsers,
                        RoomNumber        = ev.RoomNumber,
                        RoomPoints        = ev.RoomPoints,
                        Sessions          = ev.Sessions,
                        StartTime         = ev.StartTime,
                        Tags              = ev.Tags,
                        TimeZoneOffset    = ev.TimeZoneOffset,
                        TwitterAccount    = ev.TwitterAccount,
                        ZipCode           = ev.ZipCode
                    }).ToList())
                });
                _events.Add(new EventGroup()
                {
                    GroupIndex = 2,
                    GroupTitle = loader.GetString("MoreEventsTitle"),
                    Items      = new ObservableCollection <EventDefinition>(events
                                                                            .Select(ev => new EventDefinition()
                    {
                        Address           = ev.Address,
                        AttendeesCount    = ev.AttendeesCount,
                        City              = ev.City,
                        Date              = ev.Date,
                        Description       = ev.Description,
                        EndTime           = ev.EndTime,
                        EventDefinitionId = ev.EventDefinitionId,
                        GroupNumber       = 2,
                        Latitude          = ev.Latitude,
                        Likes             = ev.Likes,
                        Logo              = ev.Logo,
                        Longitude         = ev.Longitude,
                        MapImage          = ev.MapImage,
                        Name              = ev.Name,
                        Organizer         = ev.Organizer,
                        OrganizerId       = ev.OrganizerId,
                        Registered        = ev.Registered,
                        RegisteredUsers   = ev.RegisteredUsers,
                        RoomNumber        = ev.RoomNumber,
                        RoomPoints        = ev.RoomPoints,
                        Sessions          = ev.Sessions,
                        StartTime         = ev.StartTime,
                        Tags              = ev.Tags,
                        TimeZoneOffset    = ev.TimeZoneOffset,
                        TwitterAccount    = ev.TwitterAccount,
                        ZipCode           = ev.ZipCode
                    }).ToList())
                });

                App.RootFrame.Dispatcher.RunAsync(CoreDispatcherPriority.High, new DispatchedHandler(() =>
                {
                    RaisePropertyChanged(() => Events);
                    RaisePropertyChanged(() => UngroupedEvents);
                    ShowProgress       = false;
                    this.isLoading     = false;
                    this.SelectedEvent = null;
                    NoEventsAvailable  = events == null ? true : !events.Any();
                    RaisePropertyChanged(() => NoEventsAvailable);
                })).AsTask().Wait();
            });
        }