Esempio n. 1
0
        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();
                }
            }
        }
Esempio n. 2
0
        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);
        }