public AddMembershipCategoryView(MembershipCategoryModel membershipCategory) { InitializeComponent(); Owner = Application.Current.MainWindow; if (membershipCategory != null) Header = "Edit Category"; ViewModel = new AddMembershipCategoryViewModel(membershipCategory); DataContext = ViewModel; Loaded += OnViewLoaded; }
private MembershipCategoryModel GetNewMembershipCategory() { var membershipCategory = new MembershipCategoryModel(new MembershipCategory() { ID = Guid.NewGuid(), CurrentCategory = true, }); return membershipCategory; }
private void ProcessMembershipCategory(MembershipCategoryModel membershipCategory) { _isEditMode = (membershipCategory != null); MembershipCategory = membershipCategory ?? GetNewMembershipCategory(); if (!_isEditMode) { MembershipCategory.MembershipFullPaymentComponent = new MembershipFullPaymentCostModel(new MembershipFullPaymentComponent() { MembershipCategory = MembershipCategory.MembershipCategory, ID = MembershipCategory.MembershipCategory.ID }); MembershipCategory.MembershipMonthlyPaymentUpFrontCost = new MembershipMonthlyPaymentUpFrontCostModel(new MembershipMonthlyPaymentUpFrontCost() { MembershipCategory = MembershipCategory.MembershipCategory, ID = MembershipCategory.MembershipCategory.ID }); MembershipCategory.MembershipMonthlyPaymentOngoingCost = new MembershipMonthlyPaymentOngoingCostModel(new MembershipMonthlyPaymentOngoingCost() { MembershipCategory = MembershipCategory.MembershipCategory, ID = MembershipCategory.MembershipCategory.ID }); MembershipCategory.MembershipCategoryGroupDefault = new MembershipCategoryGroupDefaultModel(new MembershipCategoryGroupDefault() { MembershipCategory = MembershipCategory.MembershipCategory, ID = MembershipCategory.MembershipCategory.ID, MembershipCategoryGroupDefaultEPOS = new MembershipCategoryGroupDefaultEPOS() { AllowedClubCard = true } }); } MembershipCategory.PropertyChanged += OnMembershipCategoryPropertyChanged; }
public AddMembershipCategoryViewModel(MembershipCategoryModel membershipCategory) { var dataUnitLocator = ContainerAccessor.Instance.GetContainer().Resolve<IDataUnitLocator>(); _adminDataUnit = dataUnitLocator.ResolveDataUnit<IAdminDataUnit>(); SaveCommand = new RelayCommand(SaveCommandExecuted, SaveCommandCanExecute); ProcessMembershipCategory(membershipCategory); }
private void EditMembershipCategoryCommandExecuted(MembershipCategoryModel membershipCategory) { RaisePropertyChanged("DisableParentWindow"); var view = new AddMembershipCategoryView(membershipCategory); view.ShowDialog(); RaisePropertyChanged("EnableParentWindow"); if (view.DialogResult != null && view.DialogResult == true) { _membershipDataUnit.MembershipCategoriesRepository.Refresh(); _adminDataUnit.MembershipCategoriesRepository.RefreshCategoryGroupsWithItsTabs(); RefreshMembershipCategories(); SelectedMembershipCategory = membershipCategory; } }
private async void DeleteMembershipCategoryCommandExecuted(MembershipCategoryModel membershipCategory) { if (membershipCategory == null) return; bool? dialogResult = null; string confirmText = Properties.Resources.MESSAGE_ASK_BEFORE_DELETING_ITEM; RaisePropertyChanged("DisableParentWindow"); RadWindow.Confirm(confirmText, (sender, args) => { dialogResult = args.DialogResult; }); RaisePropertyChanged("EnableParentWindow"); if (dialogResult != true) return; // Delete MembershipCategoryGroupDefaultEPOS _adminDataUnit.MembershipCategoryGroupDefaultEPOSRepository.Delete(membershipCategory.MembershipCategoryGroupDefault.MembershipCategoryGroupDefault.MembershipCategoryGroupDefaultEPOS); // Delete MembershipCategoryGroupDefaults //var categoryGroupDefaults = await _adminDataUnit.MembershipCategoryGroupDefaultsRepository.GetAllAsync(categoryGroupDefault => categoryGroupDefault.ID == membershipCategory.MembershipCategory.ID); _adminDataUnit.MembershipCategoryGroupDefaultsRepository.Delete(membershipCategory.MembershipCategoryGroupDefault.MembershipCategoryGroupDefault); // Delete MembershipFullPaymentCosts //var categoryFullPaymentCosts = await _adminDataUnit.MembershipFullPaymentCostsRepository.GetAllAsync(fullPaymentCost => fullPaymentCost.ID == membershipCategory.MembershipCategory.ID); _adminDataUnit.MembershipFullPaymentCostsRepository.Delete(membershipCategory.MembershipFullPaymentComponent.MembershipFullPaymentComponent); // Delete MembershipMontlyPaymentUpFrontCosts //var categoryMonthlytPaymentUpFrontCosts = await _adminDataUnit.MembershipMonthlyPaymentUpFrontCostsRepository.GetAllAsync(fullPaymentCost => fullPaymentCost.ID == membershipCategory.MembershipCategory.ID); _adminDataUnit.MembershipMonthlyPaymentUpFrontCostsRepository.Delete(membershipCategory.MembershipMonthlyPaymentUpFrontCost.MembershipMonthlyPaymentUpFrontCost); // Delete MembershipMontlyPaymentOnGoingCosts //var categoryMonthlytPaymentOngoingCosts = await _adminDataUnit.MembershipMonthlyPaymentOngoingCostsRepository.GetAllAsync(fullPaymentCost => fullPaymentCost.ID == membershipCategory.MembershipCategory.ID); _adminDataUnit.MembershipMonthlyPaymentOngoingCostsRepository.Delete(membershipCategory.MembershipMonthlyPaymentOngoingCost.MembershipMonthlyPaymentOngoingCost); // Check if Category has dependencies if (membershipCategory.MembershipCategory.MembershipLinkTypes.Any() || membershipCategory.MembershipCategory.MembershipLinkTypes1.Any()) { var sb = new StringBuilder(); sb.AppendLine("Sorry, we can't delete this category :("); sb.AppendLine("This category is being used in link types"); RaisePropertyChanged("DisableParentWindow"); RadWindow.Alert(sb.ToString()); RaisePropertyChanged("EnableParentWindow"); return; } // Delete MembershipCategory _adminDataUnit.MembershipCategoriesRepository.Delete(membershipCategory.MembershipCategory); await _adminDataUnit.SaveChanges(); MembershipCategories.Remove(membershipCategory); }