private void OnRemoveHardwareTypeExecute()
 {
     SelectedHardwareType.PropertyChanged -= WrappedHardwareType_PropertyChanged;
     _hardwareTypeRepository.Remove(SelectedHardwareType.Model);
     HardwareTypes.Remove(_selectedHardwareType);
     SelectedHardwareType = null;
     HasChanges           = _hardwareTypeRepository.HasChanges();
     SaveCommand.RaiseCanExecuteChanged();
 }
 protected AbstractHardware(string name, int capacity, int memory, HardwareTypes type,double capPercent, double memoryPercent)
 {
     this.Name = name;
     this.MaximumCapacity = capacity;
     this.MaximumMemory = memory;
     this.Type = type;
     this.capacityPercent = capPercent;
     this.memoryPercent = memoryPercent;
     this.softwares = new List<ISoftware>();
     this.UsedCapacity = 0;
     this.UsedMemory = 0;
 }
        private async void OnAddHardwareTypeExecute()
        {
            var dialogResult = await _messageDialogService.ShowInputMessageAsync(this, "Nowy typ naprawy...", "Podaj nazwę nowego typu:");

            if (!String.IsNullOrWhiteSpace(dialogResult))
            {
                var wrappedHardwareType = new HardwareTypeWrapper(new HardwareType());
                wrappedHardwareType.PropertyChanged += WrappedHardwareType_PropertyChanged;
                _hardwareTypeRepository.Add(wrappedHardwareType.Model);
                HardwareTypes.Add(wrappedHardwareType);

                wrappedHardwareType.Name = dialogResult;
            }
        }
        private async Task LoadHardwareTypes()
        {
            foreach (var wrappedType in HardwareTypes)
            {
                wrappedType.PropertyChanged -= WrappedHardwareType_PropertyChanged;
            }

            HardwareTypes.Clear();

            var hardwareTypes = await _hardwareTypeRepository.GetAllAsync();

            foreach (var type in hardwareTypes)
            {
                var wrappedModel = new HardwareTypeWrapper(type);
                wrappedModel.PropertyChanged += WrappedHardwareType_PropertyChanged;
                HardwareTypes.Add(wrappedModel);
            }
        }