示例#1
0
        public void loadArmorTypes()
        {
            armorTypes.Clear();

            ValueRange response = GDriveManager.readSpreadsheet(logURI, "Constants");
            IDictionary <string, int> headerMap = GDriveManager.getHeaderMap(response.Values);

            IEnumerable <IList <Object> > sorted = response.Values.Skip(1).OrderBy(f => f.ElementAt(headerMap[CONSTANTS_ARMOR_TYPES_NAME_COL]).ToString());
            List <BulkLoader>             rows   = new List <BulkLoader>();

            // Iterate through each row
            foreach (IList <Object> row in sorted)
            {
                ArmorTypeEntry at = new ArmorTypeEntry();
                at.armorType = GDriveManager.readCell(row, headerMap[CONSTANTS_ARMOR_TYPES_NAME_COL]);

                // for some reason if data isn't present in the 2nd column the row array is set to 1
                // not sure what happens if the first column was missing data
                if (row.Count > headerMap[CONSTANTS_TIER_COL])
                {
                    string tier = row[headerMap[CONSTANTS_TIER_COL]].ToString();
                    if (!tier.Equals(""))
                    {
                        tiers.Add(tier);
                    }
                }

                armorTypes.Add(at);
            }

            tiers.Reverse();
            logger.Info("Events loaded successfully. " + events.Count + " entries.");
        }
示例#2
0
        public void loadArmorTypes()
        {
            armorTypes.Clear();

            // Get the first worksheet of the first spreadsheet.
            // TODO: Choose a worksheet more intelligently based on your
            // app's needs.
            WorksheetFeed wsFeed = spreadsheet.Worksheets;

            // Get the Event list worksheet
            WorksheetEntry worksheet = (WorksheetEntry)wsFeed.Entries.ToList().Find(new Predicate<AtomEntry>(findArmorTypesWorkSheet));
            ;

            // Define the URL to request the list feed of the worksheet.
            AtomLink listFeedLink = worksheet.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);

            // Fetch the list feed of the worksheet.
            ListQuery listQuery = new ListQuery(listFeedLink.HRef.ToString());
            listQuery.OrderByColumn = CONSTANTS_ARMOR_TYPES_NAME_COL;

            ListFeed listFeed = GDriveManager.getService().Query(listQuery);

            // Iterate through each row, printing its cell values.
            foreach (ListEntry row in listFeed.Entries) {

                // Print the first column's cell value
                //logger.Debug(row.Title.Text);
                ArmorTypeEntry at = new ArmorTypeEntry();
                // Iterate over the remaining columns, and print each cell value
                foreach (ListEntry.Custom element in row.Elements) {
                    //logger.Debug(element.Value);
                    if (element.Value.Length > 0) {
                        switch (element.LocalName.ToLower()) {
                            case CONSTANTS_ARMOR_TYPES_NAME_COL:
                                at.armorType = element.Value;
                                break;
                            case CONSTANTS_TIER_COL:
                                tiers.Add(element.Value);
                                break;
                        }
                    }
                }

                armorTypes.Add(at);
            }

            tiers.Reverse();

            logger.Info("Events loaded successfully. " + events.Count + " entries.");
        }