//
        // GET: /MultiD/
        public ActionResult Index()
        {
            MultiDialogueModel userView;
            try
            {
                userView = ViewStateManager.getViewFromViewState<MultiDialogueModel>(_multiDialogViewIndex);
            }
            catch (KeyNotFoundException)
            {
                userView = new MultiDialogueModel();
            }

            RAM_HelloWorldRepository rep = new RAM_HelloWorldRepository();
            rep.populateWithTestData();
            MultipleDialogs_Processor viewProcessor = new MultipleDialogs_Processor(userView, rep);
            _multiDialogViewIndex = viewProcessor.UserView.viewID;

            //viewProcessor.AddUserAction(new Dialog_UserActions.Action_SetSelectedLanguage { newLang = "ru" });
            //viewProcessor.AddUserAction(new Dialog_UserActions.Action_ReportUserName { userName = "******" });
            //viewProcessor.InvokeUserActions();
            viewProcessor.InvokeUserActions(ExtractRequestActions_Index());
            //viewProcessor.InvokeUserAction(new Dialog_UserActions.Action_SetSelectedLanguage {newLang = "de"});

            return View("Index", viewProcessor.UserView);
        }
        public static I_HelloWorldRepository Get_HelloWorldRepository(bool needDefaultLanguagesForTesting = false, bool needDefaultTranslationsForTesting = false )
        {
            I_HelloWorldRepository ausgabe;
            switch (DB)
            {
                case DbToTest.RAMDataBase:
                    ausgabe = new RAM_HelloWorldRepository();
                    break;
                default:
                    throw new NotImplementedException();
            }

            if (needDefaultLanguagesForTesting)
            {
                foreach (KeyValuePair<string, string> lang in SampleData.defaultLanguages)
                {
                    ausgabe.AddNewLanguage(lang.Key, lang.Value);
                }

            }

            if (needDefaultTranslationsForTesting)
            {
                foreach (KeyValuePair<LanguageWord, string> transl in SampleData.defaultTranslations())
                {
                    ausgabe.AddNewTranslation(transl.Key.word, transl.Key.languageID, transl.Value);
                }
            }

            return ausgabe;
        }