private async Task HandleDownloadedData(ServiceUser serviceUser, OldDataManager oldDataManager, AllegroDataContainer newData, AllegroDataContainer oldData, List <AllegroDataContainer> allUsersData) { oldDataManager.StoreData(newData); AllegroDataContainer consolidatedData = AllegroDataContainer.Consolidate(new List <AllegroDataContainer>() { newData, oldData }); allUsersData.Add(consolidatedData); if (!processedUsers.Contains(serviceUser.UserName)) { processedUsers.Add(serviceUser.UserName); this.logger.Info($"Processed user {serviceUser.UserName}"); if (processedUsers.Count == this.config.Users.Count) { allUsersCompletionCallback(allUsersData); } else { this.currentUserIndex++; await this.GetDataForUser(); } } }
public AllegroDataContainer GetOldData() { List <AllegroDataContainer> sheets = new List <AllegroDataContainer>(); if (this.dataRetentionDirectory != null) { foreach (FileInfo fileInfo in this.dataRetentionDirectory.GetFiles("*.json")) { try { AllegroDataContainer deserialized = JsonConvert.DeserializeObject <AllegroDataContainer>(File.ReadAllText(fileInfo.FullName)); if (deserialized.ServiceUserName == this.serviceUserConfig.UserName && deserialized.Model.myorders != null) { sheets.Add(deserialized); } } catch (Exception ex) { this.logger.Warning($"Exception while loading old data from {fileInfo.Name}. {ex.Message}"); } } } if (sheets.Any()) { return(AllegroDataContainer.Consolidate(sheets)); } return(null); }