private void SetupServiceItemsDataSource(long serviceItemGroupId) { CurrentServiceItems = CurrentServiceItemGroups != null && CurrentServiceItemGroups.Count > 0 ? ServiceItems.Where(si => si.ServiceItemGroupId == serviceItemGroupId).ToList() : new List <ServiceItemWithServiceItemGroupDTO>(); ServiceItemsBindingList = new BindingList <ServiceItemWithServiceItemGroupDTO>(CurrentServiceItems); serviceItemsDataGridView.DataSource = ServiceItemsBindingList; }
private void UpdateServiceItemsList() { if (CurrentServiceItems == null) { return; } foreach (var serviceItem in CurrentServiceItems) { var existingServiceItem = ServiceItems .Where(si => si.Id == serviceItem.Id) .FirstOrDefault(); if (existingServiceItem != null) { var index = ServiceItems.IndexOf(existingServiceItem); ServiceItems[index] = existingServiceItem; } else { serviceItem.ServiceItemGroupId = CurrentServiceItemGroupId; ServiceItems.Add(serviceItem); } } foreach (var serviceItemId in DeletedServiceItems) { var existingServiceItem = ServiceItems .Where(si => si.Id == serviceItemId) .FirstOrDefault(); if (existingServiceItem != null) { var index = ServiceItems.IndexOf(existingServiceItem); ServiceItems.RemoveAt(index); } } }