public void PopulateNewWorksheet(OAuth2ClientCredentials clientCredentials, string refreshToken, string spreadsheetTitle, TypesByMarketGroup[] typesByMarketGroups, MarketStatTypesBySolarSystem[] marketStatTypes) { IUnityContainer unityContainer = UnityContainerFactory.GetUnityContainer(); IGoogleSpreadsheetAccessor googleSpreadsheetAccessor = unityContainer.Resolve<IGoogleSpreadsheetAccessor>(); string worksheetTitle = DateTime.Now.ToString(); IEnumerable<invType> types = typesByMarketGroups.SelectMany(t => t.Types); // row for headers + row for each type, plus row for each market group int rowCount = types.Count() + typesByMarketGroups.Count() + 1; // name column plus buy & sell stats for each system int columnCount = 1 + (6 * marketStatTypes.Length); ListEntry.Custom[,] listEntries = new ListEntry.Custom[rowCount, columnCount]; // populate header row listEntries[0, 0] = new ListEntry.Custom() { LocalName = "Name" }; PopulateRow(marketStatTypes, listEntries, 0, null); int marketGroupRowIndex = 1; foreach (var typesByMarketGroup in typesByMarketGroups) { listEntries[marketGroupRowIndex, 0] = new ListEntry.Custom() { LocalName = "Name", Value = typesByMarketGroup.MarketGroup.marketGroupName }; for (int typeCounter = 0; typeCounter < typesByMarketGroup.Types.Count(); typeCounter++) { int rowIndex = typeCounter + marketGroupRowIndex + 1; invType invType = typesByMarketGroup.Types.ElementAt(typeCounter); listEntries[rowIndex, 0] = new ListEntry.Custom() { LocalName = "Name", Value = invType.typeName }; PopulateRow(marketStatTypes, listEntries, rowIndex, invType); } marketGroupRowIndex += typesByMarketGroup.Types.Count() + 1; } googleSpreadsheetAccessor.PopulateNewWorksheet(clientCredentials, refreshToken, spreadsheetTitle, worksheetTitle, listEntries); }
public TypesByMarketGroup[] FindRigsAndSalvagedMaterials() { Logger.Write("EveAccountancyManager: Finding invTypes for *Rigs and Salvaged Materials invMarketGroups"); IUnityContainer unityContainer = UnityContainerFactory.GetUnityContainer(); IInvMarketGroupAccessor invMarketGroupAccessor = unityContainer.Resolve<IInvMarketGroupAccessor>(); IInvTypeAccessor invTypeAccessor = unityContainer.Resolve<IInvTypeAccessor>(); invMarketGroup[] marketGroups = invMarketGroupAccessor .FindMany(i => i.marketGroupName == "Salvaged Materials" || i.marketGroupName.Contains("Rigs")); List<TypesByMarketGroup> typesByMarketGroups = new List<TypesByMarketGroup>(); foreach (var marketGroup in marketGroups) { TypesByMarketGroup typesByMarketGroup = new TypesByMarketGroup() { MarketGroup = marketGroup, }; typesByMarketGroup.Types.AddRange(invTypeAccessor.FindMany(i => i.marketGroupID == marketGroup.marketGroupID)); if (typesByMarketGroup.Types.Count > 0) { typesByMarketGroups.Add(typesByMarketGroup); } } return typesByMarketGroups.ToArray(); }
public void SpreadsheetEngine_PopulateNewWorksheet() { SpreadsheetEngine spreadsheetEngine = new SpreadsheetEngine(); TypesByMarketGroup typesByMarketGroup = new TypesByMarketGroup() { MarketGroup = new invMarketGroup(), }; typesByMarketGroup.Types.Add(new invType() { typeID = 1 }); MarketStatTypesBySolarSystem marketStatType = new MarketStatTypesBySolarSystem() { MapSolarSystem = new mapSolarSystem(), }; spreadsheetEngine.PopulateNewWorksheet(new OAuth2ClientCredentials(), string.Empty, string.Empty, new TypesByMarketGroup[] { typesByMarketGroup }, new MarketStatTypesBySolarSystem[] { marketStatType }); }
public void PopulateNewWorksheet(OAuth2ClientCredentials clientCredentials, string refreshToken, string spreadsheetTitle, TypesByMarketGroup[] typesByMarketGroup, MarketStatTypesBySolarSystem[] marketStatTypes) { Logger.Write(string.Format("EveAccountancyManager: Writing to spreadsheet {0}", spreadsheetTitle)); IUnityContainer unityContainer = UnityContainerFactory.GetUnityContainer(); ISpreadsheetEngine spreadsheetEngine = unityContainer.Resolve<ISpreadsheetEngine>(); spreadsheetEngine.PopulateNewWorksheet(clientCredentials, refreshToken, spreadsheetTitle, typesByMarketGroup, marketStatTypes); }
public void PopulateNewWorksheet(OAuth2ClientCredentials clientCredentials, string refreshToken, string spreadsheetTitle, TypesByMarketGroup[] typesByMarketGroup, MarketStatTypesBySolarSystem[] marketStatTypes) { }