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); //} } }
protected override int GetRowsCount() { var rowsCount = GridOptions.HeaderRowsCount + GroupedCollection.Count() + GridOptions.Collection.Count() - 1; if (GridOptions.HasColumnSummary) { rowsCount += GroupedCollection.Count(); } return(rowsCount); }