Пример #1
0
        private static async Task FetchDenormalizedNotificationsAsync(INotifyPage page, string login, string password)
        {
            var client = new GitHubWrapper(login, password);
            var notes  = client.GetNotifications();

            if (page != null)
            {
                page.NotifyUser(Constants.FetchingGithubNotificationDetails, NotifyType.StatusMessage);
            }
            await _dataSource.ProcessFetchedDataAsync(notes);
        }
Пример #2
0
        public LoginPage(IUserRepository userRepository = null, INotifyPage notifyPage = null, IValuesRepository valuesRepository = null)
        {
            _userRepository = userRepository ?? DependencyService.Get<IUserRepository>();
            _notifyPage = notifyPage ?? new NotifyPage(this);
            _valuesRepository = valuesRepository ?? DependencyService.Get<IValuesRepository>();

            _userLoginModel = _userRepository.GetUserLoginModel();

            BindingContext = _userLoginModel;
            
            InitializeComponent();
        }
Пример #3
0
        public RegisterPage(IUserRepository userRepository = null)
        {
            _userRepository = userRepository ?? DependencyService.Get<IUserRepository>();

            _notifyPage = new NotifyPage(this);

            _userRegisterModel = new UserRegisterModel
            {
                Email = _userRepository?.GetUserLoginModel()?.Email ?? string.Empty,
            };

            BindingContext = _userRegisterModel;

            InitializeComponent();
        }
Пример #4
0
        public GroupPage(GroupViewModel groupViewModel = null, IUserRepository userRepository = null, IGroupRepository groupRepository = null, IDeviceRepository deviceRepository = null)
        {
            _groupViewModel = groupViewModel;
            BindingContext = this;
            _devices = new ObservableCollection<DeviceViewModel>();

            _userRepository = userRepository ?? DependencyService.Get<IUserRepository>();
            _groupRepository = groupRepository ?? DependencyService.Get<IGroupRepository>();
            _deviceRepository = deviceRepository ?? DependencyService.Get<IDeviceRepository>();

            _notifyPage = new NotifyPage(this);

            InitializeComponent();

            DevicesListView.ItemsSource = _devices;
        }
Пример #5
0
        public static async Task <IDataGroup> GetGroupAsync(INotifyPage page, string uniqueId)
        {
            if (uniqueId != Constants.NotesGroupName)
            {
                throw (new NotImplementedException());
            }

            var now = DateTime.UtcNow;

            if (DataState.IsDataLoadDue())
            {
                DataState.LastDataLoadAt = now;
                try
                {
                    //page.NotifyUser(Constants.PivotLocalData, NotifyType.StatusMessage);
                    await DataSource.LoadDenormalizeNotificationsAsync();

                    DataState.LastDataLoadSuccess = true;
                    page.NotifyUser(Constants.PivotLocalDataSuccess, NotifyType.StatusMessage);
                }
                catch
                {
                    DataState.LastDataLoadSuccess = false;
                    page.NotifyUser(Constants.PivotLocalDataError, NotifyType.ErrorMessage);
                }
            }

            if (DataState.IsDataFetchDue())
            {
                DataState.LastDataFetchAt = now;
                try
                {
                    page.NotifyUser(Constants.PivotFetchData, NotifyType.StatusMessage);
                    await DataSource.FetchDenormalizedNotificationsAsync(page);

                    DataState.LastDataFetchSuccess = true;
                    page.NotifyUser(Constants.PivotFetchDataSuccess, NotifyType.StatusMessage);
                }
                catch
                {
                    DataState.LastDataFetchSuccess = false;
                    page.NotifyUser(Constants.PivotFetchDataError, NotifyType.ErrorMessage);
                }
            }

            return(GetDenormalizedNotificationGroup());
        }
Пример #6
0
        public DevicePage(DeviceViewModel device, IDeviceRepository deviceRepository = null, IRealTimeService realTimeService = null)
        {
            _deviceViewModel = device;
            _deviceRepository = deviceRepository ?? DependencyService.Get<IDeviceRepository>();
            _realTimeService = realTimeService ?? DependencyService.Get<IRealTimeService>();
            _notifyPage = new NotifyPage(this);
            _realTimeService.DeviceUpdated += RealTimeService_DeviceUpdated;

            BindingContext = _deviceViewModel;

            InitializeComponent();

            if (device.DeviceType == DeviceType.AutomaticWindow || device.DeviceType == DeviceType.Thermostat)
                ChangeSettingButton.IsVisible = true;

            if (device.DeviceType == DeviceType.Thermostat)
                ContinousSettingEntry.IsVisible = true;

        }
Пример #7
0
 public static async Task FetchDenormalizedNotificationsAsync(INotifyPage page)
 {
     if (credentials.Login != "" && credentials.Password != "")
     {
         try
         {
             if (page != null)
             {
                 page.NotifyUser(Constants.FetchingGithubNotifications, NotifyType.StatusMessage);
             }
             await FetchDenormalizedNotificationsAsync(page, credentials.Login, credentials.Password);
         }
         catch (Exception Error)
         {
             if (page != null)
             {
                 page.NotifyUser(String.Format("{0}\n{1}", Constants.FetchingGithubNotificationsError, Error.Message),
                                 NotifyType.ErrorMessage);
             }
             throw (Error);
         }
     }
 }