示例#1
0
        public async Task <List <MultiViewUserModel> > LoadMultiViewUsers(Func <IMessageModel, string, Task> getLog)
        {
            var folder = Path.Combine(Environment.GetFolderPath(
                                          Environment.SpecialFolder.LocalApplicationData), "orl");

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }
            var file = Path.Combine(folder, "MultiViewUsers.json");

            if (!File.Exists(file))
            {
                return(null);
            }
            var filestring = File.ReadAllText(file);
            var json       = JsonConvert.DeserializeObject <List <MultiViewUserModel> >(filestring);

            foreach (var multiViewUserModel in json)
            {
                try {
                    var months = await _apiLogs.Get(multiViewUserModel.User, multiViewUserModel.Channel);

                    multiViewUserModel.Months = new ObservableCollection <IMessageModel>(months);
                    multiViewUserModel.GetLog = getLog;
                    //multiViewUserModel.SelectedMonth = months[0];
                    await Task.Delay(50);
                }
                catch (Exception e) {
                    _snackbarMessageQueue(e.Message);
                    Console.WriteLine(e);
                }
            }
            return(json);
        }
示例#2
0
        private async Task AddUser()
        {
            if (string.IsNullOrWhiteSpace(User) || string.IsNullOrWhiteSpace(SelectedChannel))
            {
                return;
            }
            if (SelectedChannel != "Destinygg")
            {
                User = User.ToLower();
            }
            var monthsList = await _apiLogs.Get(User, SelectedChannel);

            if (Users == null)
            {
                Users = new ObservableCollection <IMultiViewUserModel>();
            }
            Users.Add(new MultiViewUserModel(User, SelectedChannel, monthsList, GetLog));
            _currentState.SaveMultiViewUsers(Users.ToList());
        }