/// <summary> /// Adds a dog to the owned Dogs List /// </summary> public void AddDogToList() { if (OwnedDogs.Count > 0) { if (AvailableDogs.Any(ad => AvailableSelectedDog.Id != ad.Id)) { OwnedDogs.Add(AvailableSelectedDog); NotifyOfPropertyChange(() => OwnedDogs); } else { ErrorMessages.DogAlreadCustomerRelationError(); return; } } else { OwnedDogs.Add(AvailableSelectedDog); NotifyOfPropertyChange(() => OwnedDogs); } if (AvailableSelectedDog.CustomerList == null) { AvailableSelectedDog.CustomerList = new List <CustomerModel>(); } AvailableSelectedDog.CustomerList.Add(CModel); GlobalConfig.Connection.AddDogToCustomer(AvailableSelectedDog, CModel); GlobalConfig.Connection.GetAllCustomerForDog(AvailableSelectedDog); AvailableSelectedDog = null; SelectedDog = null; IsDogToSave = true; }
/// <summary> /// Handle Message from the eventaggregator. /// </summary> /// <param name="dogModel"> /// recieves a complete DogModel from the CreateNewDogViewModel /// </param> public void Handle(DogModel dogModel) { if (!string.IsNullOrWhiteSpace(dogModel.Name)) { OwnedDogs.Add(dogModel); DogCreated = true; } DogListsIsVisible = true; CreateNewDogIsVisible = false; this.TryClose(); }
/// <summary> /// Delete the Dog from the Customer and sets the dog inactive /// </summary> public void RemoveDogFromList() { if (SelectedDog.CustomerList.Count > 1) { GlobalConfig.Connection.DeleteDogToCustomerRelation(CModel, SelectedDog); GlobalConfig.Connection.GetAllCustomerForDog(SelectedDog); SelectedDog.CustomerList.Remove(CModel); OwnedDogs.Remove(SelectedDog); NotifyOfPropertyChange(() => OwnedDogs); NotifyOfPropertyChange(() => AvailableDogs); IsDogRemoveToSave = true; } else { ErrorMessages.DogCanNotRemovedFromCustomerError(SelectedDog); } AvailableSelectedDog = null; SelectedDog = null; }
/// <summary> /// Removes the Selected item from the customer owned dogs list. /// </summary> public void RemoveDogFromList() { if (SelectedDogToRemove.Id > 0) { if (SelectedDogToRemove.CustomerList.Count > 1) { AvailableDogs.Add(SelectedDogToRemove); NotifyOfPropertyChange(() => AvailableDogs); OwnedDogs.Remove(SelectedDogToRemove); NotifyOfPropertyChange(() => OwnedDogs); } else { ErrorMessages.DogToRemoveError(SelectedDogToRemove); } } else { OwnedDogs.Remove(SelectedDogToRemove); NotifyOfPropertyChange(() => OwnedDogs); } }
/// <summary> /// Updates the already existing DogModel /// </summary> /// <param name="dogModel"></param> public void Handle(DogModel dogModel) { if (dogModel.Id > 0) { GlobalConfig.Connection.UpdateDog(dogModel); AvailableDogs = new BindableCollection <DogModel>(GlobalConfig.Connection.Get_DogsAll()); //TODO: Renew the OwnedDogList _isDogToSave = true; NotifyOfPropertyChange(() => OwnedDogs); NotifyOfPropertyChange(() => AvailableDogs); } else { if (!string.IsNullOrWhiteSpace(dogModel.Name)) { if (dogModel.CustomerList == null) { dogModel.CustomerList = new List <CustomerModel>(); } dogModel.CustomerList.Add(CModel); GlobalConfig.Connection.AddDog(dogModel, CModel); GlobalConfig.Connection.GetAllCustomerForDog(dogModel); AvailableDogs = new BindableCollection <DogModel>(GlobalConfig.Connection.Get_DogsAll()); OwnedDogs.Add(dogModel); AvailableSelectedDog = null; SelectedDog = null; _isDogToSave = true; NotifyOfPropertyChange(() => CanSaveCustomer); NotifyOfPropertyChange(() => OwnedDogs); NotifyOfPropertyChange(() => AvailableDogs); } } CustomerDetailsIsVisible = true; AddDogIsVisible = false; EditDogIsVisible = false; }
/// <summary> /// Adds the selected dog to the owned customer list /// </summary> public void AddDogToList() { OwnedDogs.Add(SelectedDog); AvailableDogs.Remove(SelectedDog); }