public void Execute(OpenPopupSignal openPopupSignalParams) { PopupData popupData = new PopupData() { PopupConfig = (PopupConfig)openPopupSignalParams.PopupConfig, OnPopupComplete = openPopupSignalParams.OnPopupComplete }; _popupSystemDataModel.Popups.Add(popupData); }
private void OnPopupButtonClicked(PopupData popupData, PopupButtonData popupButtonData) { if (popupData.PopupConfig.ButtonData.Contains(popupButtonData)) { IPopupResult popupResult = popupData.PopupConfig.GetPopupResult(); popupResult.SelectedIndex = popupData.PopupConfig.ButtonData.IndexOf(popupButtonData); popupData.OnPopupComplete.Resolve(popupResult); _popupSystemDataModel.Popups.Remove(popupData); } else { throw new Exception("PopupMediator.OnPopupButtonClicked: Something went wrong."); } }