private void DoListUpdate()
        {
            String[] commaSplit = this.listUpdateTextBox.Text.Split(',');

            ListEntry entry
                = (ListEntry)editUriTable[this.listEntryComboBox.Text];

            for (int i = 0; i < commaSplit.Length; i++)
            {
                String[] pair = commaSplit[i].Split('=');

                // Make the new replacement custom
                ListEntry.Custom custom = new ListEntry.Custom();
                custom.LocalName = pair[0];

                if (pair.Length == 2)
                {
                    custom.Value = pair[1];
                }
                else
                {
                    custom.Value = null;
                    entry.Elements.Remove(custom);
                    continue;
                }

                // Set the replacement custom
                int index = entry.Elements.IndexOf(custom);
                entry.Elements[index] = custom;
            }

            AtomEntry retEntry = service.Update(entry);
        }
        public void SaveAndReadMultipleTest()
        {
            for (int i = 0; i < 256; i++)
            {
                ListEntry.Custom element = new ListEntry.Custom();
                element.LocalName = "local_name_" + i;
                element.Value     = "value_" + i;

                StringBuilder sb     = new StringBuilder();
                XmlWriter     writer = new XmlTextWriter(new StringWriter(sb));
                element.Save(writer);
                writer.Close();

                XmlDocument document = new XmlDocument();
                document.LoadXml(sb.ToString());

                ExtensionElementEventArgs e = new ExtensionElementEventArgs();
                e.ExtensionElement = document.FirstChild;
                entry.Parse(e, new AtomFeedParser());


                Assert.AreEqual(i + 1, entry.Elements.Count);
                Assert.AreEqual(element.LocalName, entry.Elements[i].LocalName);
                Assert.AreEqual(element.Value, entry.Elements[i].Value);
            }
        }
        /// <summary>
        /// Inserts a new row in the specified worksheet.
        /// </summary>
        /// <param name="service">an authenticated SpreadsheetsService object</param>
        /// <param name="entry">the worksheet into which the row will be inserted</param>
        /// <returns>the inserted ListEntry object, representing the new row</returns>
        private static ListEntry InsertRow(SpreadsheetsService service, WorksheetEntry entry)
        {
            AtomLink listFeedLink = entry.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);

            ListQuery query = new ListQuery(listFeedLink.HRef.ToString());
            ListFeed  feed  = service.Query(query);

            ListEntry firstRow = feed.Entries[0] as ListEntry;
            ListEntry newRow   = new ListEntry();

            Console.WriteLine();
            Console.WriteLine("Inserting a new row...");
            foreach (ListEntry.Custom element in firstRow.Elements)
            {
                Console.Write("Enter the value of column \"{0}\": ", element.LocalName);
                String elementValue = Console.ReadLine();

                ListEntry.Custom curElement = new ListEntry.Custom();
                curElement.LocalName = element.LocalName;
                curElement.Value     = elementValue;

                newRow.Elements.Add(curElement);
            }

            ListEntry insertedRow = feed.Insert(newRow);

            Console.WriteLine("Successfully inserted new row: \"{0}\"",
                              insertedRow.Content.Content);

            return(insertedRow);
        }
        public void SaveAndReadMultipleTest()
        {
            for (int i = 0; i < 256; i++)
            {
                ListEntry.Custom element = new ListEntry.Custom();
                element.LocalName = "local_name_" + i;
                element.Value = "value_" + i;

                StringBuilder sb = new StringBuilder();
                XmlWriter writer = new XmlTextWriter(new StringWriter(sb));
                element.Save(writer);
                writer.Close();

                XmlDocument document = new XmlDocument();
                document.LoadXml(sb.ToString());

                ExtensionElementEventArgs e = new ExtensionElementEventArgs();
                e.ExtensionElement = document.FirstChild;
                entry.Parse(e, new AtomFeedParser());


                Assert.AreEqual(i + 1, entry.Elements.Count);
                Assert.AreEqual(element.LocalName, entry.Elements[i].LocalName);
                Assert.AreEqual(element.Value, entry.Elements[i].Value);
            }   
        }
Пример #5
0
        private void InsertRow(string pPlayerOne, string pPlayerTwo, string pBetAmount, ListFeed pFeed)
        {
            DateTime tDateTime = DateTime.Today;

            string tDate       = tDateTime.Day + "/" + tDateTime.Month + "/" + tDateTime.Year;
            int    tBetAmount  = ConvertBetToInt(pBetAmount);
            int    tCommission = (int)(tBetAmount * 0.10);
            int    tAdminFee;

            if (tBuyinMode == true)
            {
                tAdminFee = (int)(tCommission * 0.10);
            }
            else
            {
                tAdminFee = (int)(tCommission * 0.30);
            }

            ListEntry tNewRow = new ListEntry();

            ListEntry.Custom tElementDate = new ListEntry.Custom();
            tElementDate.LocalName = "date";
            tElementDate.Value     = tDate;

            ListEntry.Custom tElementPlayer1 = new ListEntry.Custom();
            tElementPlayer1.LocalName = "nameofplayer1";
            tElementPlayer1.Value     = pPlayerOne;

            ListEntry.Custom tElementPlayer2 = new ListEntry.Custom();
            tElementPlayer2.LocalName = "nameofplayer2";
            tElementPlayer2.Value     = pPlayerTwo;

            ListEntry.Custom tElementPlayer1Bet = new ListEntry.Custom();
            tElementPlayer1Bet.LocalName = "player1bet";
            tElementPlayer1Bet.Value     = tBetAmount.ToString();

            ListEntry.Custom tElementPlayer2Bet = new ListEntry.Custom();
            tElementPlayer2Bet.LocalName = "player2bet";
            tElementPlayer2Bet.Value     = tBetAmount.ToString();

            ListEntry.Custom tElementCommission = new ListEntry.Custom();
            tElementCommission.LocalName = "commission";
            tElementCommission.Value     = tCommission.ToString();

            ListEntry.Custom tElementAdminFee = new ListEntry.Custom();
            tElementAdminFee.LocalName = "commisionforadmin";
            tElementAdminFee.Value     = tAdminFee.ToString();

            tNewRow.Elements.Add(tElementAdminFee);
            tNewRow.Elements.Add(tElementCommission);
            tNewRow.Elements.Add(tElementDate);
            tNewRow.Elements.Add(tElementPlayer1);
            tNewRow.Elements.Add(tElementPlayer1Bet);
            tNewRow.Elements.Add(tElementPlayer2);
            tNewRow.Elements.Add(tElementPlayer2Bet);

            var tResult = pFeed.Insert(tNewRow) as ListEntry;
        }
Пример #6
0
        private List <DatablockDetectionInfo> ParseSpreadsheet(SpreadsheetEntry spreadsheet)
        {
            WorksheetFeed wsFeed = spreadsheet.Worksheets;

            if (wsFeed.Entries.Count == 0)
            {
                return(null);
            }

            var worksheet = (WorksheetEntry)wsFeed.Entries[0];

            if (worksheet.Rows < 2)
            {
                return(null);
            }

            // 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.
            var      listQuery = new ListQuery(listFeedLink.HRef.ToString());
            ListFeed listFeed  = sheetsAPI.Service.Query(listQuery);

            var headers = new List <string>();

            spreadsheetRows = listFeed.Entries;
            nameColumnIndex = -1;

            var row = (ListEntry)spreadsheetRows[0];

            for (int index = 0; index < row.Elements.Count; index++)
            {
                ListEntry.Custom element = row.Elements[index];

                if (element.LocalName.Equals("name", StringComparison.OrdinalIgnoreCase))
                {
                    nameColumnIndex = index;
                }

                headers.Add(element.LocalName);
            }

            List <DatablockDetectionInfo> datablockTypes = AutoDetectDatablockType(headers);

            if (datablockTypes == null)
            {
                Debug.Log("Unable to auto detect datablock type");
                return(null);
            }

            return(datablockTypes);
        }
        private void DoListInsert()
        {
            String[]  commaSplit = this.listAddTextBox.Text.Split(',');
            ListEntry entry      = new ListEntry();

            for (int i = 0; i < commaSplit.Length; i++)
            {
                String[]         pair   = commaSplit[i].Split('=');
                ListEntry.Custom custom = new ListEntry.Custom();
                custom.LocalName = pair[0];
                custom.Value     = pair[1];
                entry.Elements.Add(custom);
            }

            AtomEntry retEntry = service.Insert(new Uri(this.worksheetListView.SelectedItems[0].SubItems[2].Text), entry);
        }
        /// <summary>
        /// Updates the value of a cell in a single worksheet row.
        /// </summary>
        /// <param name="service">an authenticated SpreadsheetsService object</param>
        /// <param name="entry">the ListEntry representing the row to update</param>
        /// <returns>the updated ListEntry object</returns>
        private static ListEntry UpdateRow(SpreadsheetsService service, ListEntry entry)
        {
            ListEntry.Custom firstColumn = entry.Elements[0];

            Console.WriteLine();
            Console.Write("Enter a new value for \"{0}\" (currently \"{1}\"): ",
                          firstColumn.LocalName, firstColumn.Value);
            String newValue = Console.ReadLine();

            firstColumn.Value = newValue;

            ListEntry updatedRow = entry.Update() as ListEntry;

            Console.WriteLine("Successfully updated \"{0}\": \"{1}\"",
                              updatedRow.Elements[0].LocalName, updatedRow.Elements[0].Value);

            return(updatedRow);
        }
Пример #9
0
 public string this[string key]
 {
     get
     {
         ListEntry.Custom entry = CollectionUtils.SelectFirst <ListEntry.Custom>(_entry.Elements,
                                                                                 delegate(ListEntry.Custom e) { return(e.LocalName.Equals(key, StringComparison.CurrentCultureIgnoreCase)); });
         return(entry == null ? null : entry.Value);
     }
     set
     {
         ListEntry.Custom entry = CollectionUtils.SelectFirst <ListEntry.Custom>(_entry.Elements,
                                                                                 delegate(ListEntry.Custom e) { return(e.LocalName.Equals(key, StringComparison.CurrentCultureIgnoreCase)); });
         if (entry == null)
         {
             entry = new ListEntry.Custom();
             _entry.Elements.Add(entry);
         }
         entry.Value = value;
     }
 }
 public void Init()
 {
     element = new ListEntry.Custom();
 }
 public void Init()
 {
     element = new ListEntry.Custom();
 }
Пример #12
0
        static void Main(string[] args)
        {
            //Get credentials
            Console.Write("Enter your username:"******"Enter your password:"******"my-service");

            service.setUserCredentials(user, password);
            ListFeed           listFeed = null;
            SpreadsheetFeed    feed     = null;
            IProgress <string> p        = new Progress <string>(Console.WriteLine);

            //Get list of spreadsheets
            var getSheets = Task.Run(() =>
            {
                p.Report("Getting all your Google spreadsheets...");
                var query = new SpreadsheetQuery();
                feed      = service.Query(query);
            });

            getSheets.Wait();

            //Show list of spreadsheets...
            foreach (SpreadsheetEntry entry in feed.Entries.OrderBy(x => x.Title.Text))
            {
                Console.WriteLine(entry.Title.Text);
            }

            Console.WriteLine("Which spreadsheet would you like to see the contents of?");
            var title = Console.ReadLine();

            //Get list of spreadsheets
            var getInfo = Task.Run(() =>
            {
                p.Report("Reading rows from spreadsheet");
                var query   = new SpreadsheetQuery();
                query.Title = title;
                feed        = service.Query(query);

                var spreadsheet = feed.Entries.FirstOrDefault() as SpreadsheetEntry;
                var wsFeed      = spreadsheet.Worksheets;
                var worksheet   = wsFeed.Entries.FirstOrDefault() as WorksheetEntry;

                //Define the URL to request the list feed of the worksheet
                var listFeedLink = worksheet.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);
                p.Report(string.Format("Spreadsheet table link: {0}", listFeedLink.HRef));

                //Rows in spreadsheet
                var listQuery = new ListQuery(listFeedLink.HRef.ToString());
                listFeed      = service.Query(listQuery);
            });

            getInfo.Wait();

            //Iterate through the rows...
            foreach (ListEntry row in listFeed.Entries)
            {
                foreach (ListEntry.Custom element in row.Elements)
                {
                    Console.WriteLine(element.Value);
                }
            }

            //NOTE: google docs always treats the first row as the header row...
            Console.WriteLine("Type a new value for the first cell in the first column:");
            var newValue = Console.ReadLine();

            Console.WriteLine("Updating row data...");
            var updateRow = (ListEntry)listFeed.Entries[0];

            ListEntry.Custom updateMe = updateRow.Elements[0];
            updateMe.Value = newValue;
            updateRow.Update();

            Console.Read();
        }