private void ExecuteRemoveEquipmentItemFromRoom() { var typeToRemove = AddedEquipmentTypes.FirstOrDefault(et => et.Name == CurrentlySelectedEquipmentTypeInRoom.EquipmentType.Name); if (typeToRemove != null) { AddedEquipmentTypes.Remove(typeToRemove); } RemovedEquipmentTypes.Add(CurrentlySelectedEquipmentTypeInRoom.EquipmentType); EquipmentTypesInRoom.First(et => et.Name == CurrentlySelectedEquipmentTypeInRoom.EquipmentType.Name).Amount--; // The type is not present in the room if (FreeEquipmentTypes.FirstOrDefault(et => et.Name == CurrentlySelectedEquipmentTypeInRoom.EquipmentType.Name) == null) { FreeEquipmentTypes.Insert(0, new EquipmentTypeBindableViewModel(CurrentlySelectedEquipmentTypeInRoom.EquipmentType, 1)); } // The type is present in the room else { FreeEquipmentTypes.First(et => et.Name == CurrentlySelectedEquipmentTypeInRoom.EquipmentType.Name).Amount++; } // If the free items have been exhausted for the selected type if (EquipmentTypesInRoom.First(et => et.Name == CurrentlySelectedEquipmentTypeInRoom.EquipmentType.Name).Amount == 0) { EquipmentTypesInRoom.Remove(EquipmentTypesInRoom.First(et => et.Name == CurrentlySelectedEquipmentTypeInRoom.EquipmentType.Name)); CurrentlySelectedEquipmentTypeInRoom = null; } }
public async void Initialize() { RenovationEndDate = RenovationStartDate = null; RenovationStartTime = RenovationEndTime = null; SplittingRoom = false; OtherRenovations = false; AddedEquipmentTypes.Clear(); RemovedEquipmentTypes.Clear(); EquipmentTypesInRoom.Clear(); FreeEquipmentTypes.Clear(); await LoadRooms(); }