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); }
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()); }