private UserActionsQuery ExtractRequestActions_Index() { UserActionsQuery ausgabe = new UserActionsQuery(); int subViewID = 0; bool needAddNewLanguage = false; bool needRemoveOldLanguage = false; List<int> subDlg_index = new List<int>(); Dictionary<int, string> subDlg_languageToSelect = new Dictionary<int, string>(); ; Dictionary<int, bool> subDlg_needLanguageToSelect = new Dictionary<int, bool>(); Dictionary<int, string> subDlg_submittedUserName = new Dictionary<int, string>(); Dictionary<int, bool> subDlg_isUserNameSubmitted = new Dictionary<int, bool>(); Dictionary<int, bool> subDlg_isAnsewerChatAgainSubmitted = new Dictionary<int, bool>(); Dictionary<int, bool> subDlg_needChatAgain = new Dictionary<int, bool>(); foreach (string k in Request.Form.Keys) { string val = Request.Form[k]; if (k == MultiDialogueModel.AddNewLanguageButtonName) { needAddNewLanguage = true; } else if (k == MultiDialogueModel.RemoveOldLanguageButtonName) { needRemoveOldLanguage = true; } else if (k.StartsWith(SingleDialogueModelHelper.ControlNamePrefix)) { subViewID = SingleDialogueModelHelper.extractSubViewIdFromControlNameWithPrefix(k); string subViewControlName = SingleDialogueModelHelper.extractRawControlName(k); subDlg_index.Add(subViewID); if (subViewControlName == SingleDialogueModelHelper.SetLanguageButtonName) { subDlg_needLanguageToSelect.Add(subViewID, true); } else if (subViewControlName == SingleDialogueModelHelper.languageDropDownName) { subDlg_languageToSelect.Add(subViewID, val); } else if (subViewControlName == SingleDialogueModelHelper.reportNameTextBoxName) { subDlg_submittedUserName.Add(subViewID, val); } else if (subViewControlName == SingleDialogueModelHelper.reportNameButtonName) { subDlg_isUserNameSubmitted.Add(subViewID, true); } else if (subViewControlName == SingleDialogueModelHelper.chatAgainNOButtonName) { subDlg_isAnsewerChatAgainSubmitted.Add(subViewID, true); subDlg_needChatAgain.Add(subViewID, false); } else if (subViewControlName == SingleDialogueModelHelper.chatAgainYESButtonName) { subDlg_isAnsewerChatAgainSubmitted.Add(subViewID, true); subDlg_needChatAgain.Add(subViewID, true); } } } if (needAddNewLanguage) { ausgabe.AddUserAction(_multiDialogViewIndex, new MultipleDialogs_Processor.Action_AddNewDialog()); } if (needRemoveOldLanguage) { ausgabe.AddUserAction(_multiDialogViewIndex, new MultipleDialogs_Processor.Action_RemoveLastDialog()); } for (int i = 0; i < subDlg_index.Count; i++) { if (subDlg_needLanguageToSelect.ContainsKey(subDlg_index[i])) { ausgabe.AddUserAction(_multiDialogViewIndex, new MultipleDialogs_Processor.SubDialogAction_SetSelectedLanguage { newLang = subDlg_languageToSelect[subDlg_index[i]], subDialogID = subDlg_index[i] }); } if (subDlg_isUserNameSubmitted.ContainsKey(subDlg_index[i])) { ausgabe.AddUserAction(_multiDialogViewIndex, new MultipleDialogs_Processor.SubDialogAction_ReportUserName { userName = subDlg_submittedUserName[subDlg_index[i]], subDialogID = subDlg_index[i] }); } if (subDlg_isAnsewerChatAgainSubmitted.ContainsKey(subDlg_index[i])) { ausgabe.AddUserAction(_multiDialogViewIndex, new MultipleDialogs_Processor.SubDialogAction_AcceptChatAgain { needChatAgain = subDlg_needChatAgain[subDlg_index[i]], subDialogID = subDlg_index[i] }); } } return ausgabe; }
private UserActionsQuery ExtractRequestActions_Index() { UserActionsQuery ausgabe = new UserActionsQuery(); string languageToSelect = ""; bool needLanguageToSelect = false; string submittedUserName = ""; bool isUserNameSubmitted = false; bool isAnsewerChatAgainSubmitted = false; bool needChatAgain = false; foreach (string k in Request.Form.Keys) { string val = Request.Form[k]; if (k == SingleDialogueModelHelper.SetLanguageButtonName) { needLanguageToSelect = true; } else if (k == SingleDialogueModelHelper.languageDropDownName) { languageToSelect = val; } else if (k == SingleDialogueModelHelper.reportNameTextBoxName) { submittedUserName = val; } else if (k == SingleDialogueModelHelper.reportNameButtonName) { isUserNameSubmitted = true; } else if (k == SingleDialogueModelHelper.chatAgainNOButtonName) { isAnsewerChatAgainSubmitted = true; } else if (k == SingleDialogueModelHelper.chatAgainYESButtonName) { isAnsewerChatAgainSubmitted = true; needChatAgain = true; } } if (needLanguageToSelect) { ausgabe.AddUserAction(_dialogViewIndex, new Dialog_Processor.Action_SetSelectedLanguage { newLang = languageToSelect }); } if (isUserNameSubmitted) { ausgabe.AddUserAction(_dialogViewIndex, new Dialog_Processor.Action_ReportUserName { userName = submittedUserName }); } if (isAnsewerChatAgainSubmitted) { ausgabe.AddUserAction(_dialogViewIndex, new Dialog_Processor.Action_AcceptChatAgain { needChatAgain = needChatAgain }); } return ausgabe; }