コード例 #1
0
        private async Task UpdatePlayers()
        {
            IEnumerable <Person> serviceResult = Enumerable.Empty <Person>();

            try
            {
                serviceResult = await _service.GetPlayersAsync();
            }
            catch (Exception ex)
            {
                // TODO:
            }

            if (serviceResult?.Any() ?? false)
            {
                _allContacts.UpdateRange(serviceResult);

                GroupedContacts = serviceResult.GroupBy(item => item.Position);
                GroupedCollection.UpdateItems(serviceResult);
                //var newItems = serviceResult.Where(item => !AllContacts.Any(contact => item.Name == contact.Name));

                //var updatedItems = serviceResult.Where(item => AllContacts.Any(contact => item.Name == contact.Name));

                //foreach (var updateItem in updatedItems)
                //{
                //    var existingItem = AllContacts.FirstOrDefault(contact => contact.Name == updateItem.Name);
                //    existingItem.LoadData(updateItem);
                //}

                //foreach(var item in newItems)
                //{
                //    AllContacts.Add(item);
                //}
            }
        }
コード例 #2
0
        protected override int GetRowsCount()
        {
            var rowsCount = GridOptions.HeaderRowsCount + GroupedCollection.Count() + GridOptions.Collection.Count() - 1;

            if (GridOptions.HasColumnSummary)
            {
                rowsCount += GroupedCollection.Count();
            }
            return(rowsCount);
        }