public async Task <ActionResult> SearchConfig()
        {
            using (SearchConfigDataProvider dataProvider = new SearchConfigDataProvider()) {
                Model model           = new Model {
                };
                SearchConfigData data = await dataProvider.GetItemAsync();

                if (data == null)
                {
                    throw new Error(this.__ResStr("notFound", "The search configuration was not found."));
                }
                model.SetData(data);
                return(View(model));
            }
        }
        public async Task <ActionResult> SearchConfig_Partial(Model model)
        {
            using (SearchConfigDataProvider dataProvider = new SearchConfigDataProvider()) {
                SearchConfigData data = await dataProvider.GetItemAsync();// get the original item

                if (!ModelState.IsValid)
                {
                    return(PartialView(model));
                }
                data = model.GetData(data); // merge new data into original
                model.SetData(data);        // and all the data back into model for final display
                await dataProvider.UpdateConfigAsync(data);

                return(FormProcessed(model, this.__ResStr("okSaved", "Search configuration saved")));
            }
        }