public ActionResult EditTemplate()
        {
            string idStr = Request.QueryString["id"];
            int    id    = 0;

            if (string.IsNullOrEmpty(idStr) || !int.TryParse(idStr, out id))
            {
                ModelState.AddModelError(string.Empty, this._resourceManager.GetString("RecordDoesNotExist"));

                return(View(new HTMLTemplateModel()));
            }
            HTMLTemplateModel model = (HTMLTemplateModel)_settingService.GetSettingValueById(id);

            model.TemplateFileList = new MultiSelectList(_templateService.FetchTemplateFileList());
            return(View(model));
        }
        public ActionResult EditTemplate(HTMLTemplateModel model)
        {
            model.TemplateFileList = new MultiSelectList(_templateService.FetchTemplateFileList());

            if (model.Id <= 0)
            {
                ModelState.AddModelError(string.Empty, this._resourceManager.GetString("ErrorMessage_UnableToUpdate"));
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            try
            {
                SettingValue value = new SettingValue();
                value.Field1 = model.Name;
                value.Field2 = model.Subject;
                value.Field3 = model.BodyFilePath;
                value.Field4 = model.Comment;
                value.Id     = model.Id;
                SettingValue dbValue = _settingService.GetSettingValueById(model.Id);

                if (dbValue.IsHiddenFromUser)
                {
                    throw new ASException(this._resourceManager.GetString("ErrorMessage_UnableToUpdate"));
                }

                value.SettingDefinitionID = dbValue.SettingDefinitionID;
                value.CreatedBy           = dbValue.CreatedBy;
                value.CreatedOn           = dbValue.CreatedOn;
                _settingService.UpdateSettingValue(value);

                TempData["ResultType"]    = MessageType.Success;
                TempData["ResultMessage"] = this._resourceManager.GetString("SettingValueUpdateSuccess");
                TempData["ResultModel"]   = model;
                _cacheService.Clear();

                return(RedirectToAction("Result", "Shared"));
            }
            catch (ASException ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
            }

            return(View(model));
        }