public WebFormFieldEditAdminViewModel(WebFormEditAdminViewModel WebFormEditAdminViewModel, WebFormField webFormField, int index) { if (WebFormEditAdminViewModel == null) { throw new ArgumentNullException("WebFormEditAdminViewModel"); } if (WebFormEditAdminViewModel.WebForm == null) { throw new ArgumentNullException("WebFormEditAdminViewModel.WebForm", "WebFormEditAdminViewModel.WebForm cannot be null. make sure page edit sets this after post"); } this.Index = index; this.WebFormEditAdminViewModel = WebFormEditAdminViewModel; this.WebForm = WebFormEditAdminViewModel.WebForm; this.WebFormId = WebFormEditAdminViewModel.WebForm.WebFormId; this.IsStoreAdminEdit = WebFormEditAdminViewModel.IsStoreAdminEdit; this.IsReadOnly = WebFormEditAdminViewModel.IsReadOnly; this.IsDeletePage = WebFormEditAdminViewModel.IsDeletePage; this.IsCreatePage = WebFormEditAdminViewModel.IsCreatePage; this.ActiveTab = WebFormEditAdminViewModel.ActiveTab; SetDefaults(WebFormEditAdminViewModel); if (webFormField != null) { this.Name = webFormField.Name; this.DataType = webFormField.DataType; this.DataTypeString = webFormField.DataTypeString; this.Description = webFormField.Description; this.EndDateTimeUtc = webFormField.EndDateTimeUtc; this.HelpLabelBottomText = webFormField.HelpLabelBottomText; this.HelpLabelTopText = webFormField.HelpLabelTopText; this.IsPending = webFormField.IsPending; this.IsRequired = webFormField.IsRequired; this.LabelText = webFormField.LabelText; this.Watermark = webFormField.Watermark; this.Order = webFormField.Order; this.StartDateTimeUtc = webFormField.StartDateTimeUtc; this.TextAreaColumns = webFormField.TextAreaColumns; this.TextAreaRows = webFormField.TextAreaRows; this.ValueList = webFormField.ValueList; this.ValueListId = webFormField.ValueListId; this.WebFormFieldId = webFormField.WebFormFieldId; this.WebFormFieldResponses = webFormField.WebFormFieldResponses; this.IsActiveDirect = webFormField.IsActiveDirect(); this.IsActiveBubble = webFormField.IsActiveBubble(); FillListsIfEmpty(webFormField.Client); } }
public ActionResult FieldCreate(WebFormField webFormField) { if (webFormField.WebFormId == default(int)) { return HttpBadRequest("Web Form id is 0"); } IGstoreDb db = GStoreDb; WebForm webForm = db.WebForms.FindById(webFormField.WebFormId); if (webForm == null) { return HttpNotFound("Web Form not found. Web Form id: " + webFormField.WebFormId); } if (webForm.WebFormFields.Any(f => f.Name.ToLower() == (webFormField.Name ?? "").ToLower())) { ModelState.AddModelError("Name", "A field with the name '" + webFormField.Name + "' already exists. Choose a new name or edit the original."); } if (ModelState.IsValid) { webFormField.ClientId = webForm.ClientId; webFormField.WebFormId = webForm.WebFormId; webFormField.DataTypeString = webFormField.DataType.ToDisplayName(); webFormField = GStoreDb.WebFormFields.Add(webFormField); GStoreDb.SaveChanges(); AddUserMessage("Web Form Field Created", "Web Form Field '" + webFormField.Name.ToHtml() + "' [" + webFormField.WebFormFieldId + "] created successfully", UserMessageType.Success); return RedirectToAction("FieldIndex", new { id = webFormField.WebFormId }); } webFormField.WebForm = webForm; this.BreadCrumbsFunc = htmlHelper => this.WebFormFieldBreadcrumb(htmlHelper, webFormField); return View(webFormField); }
public ActionResult FieldEdit(WebFormField webFormField) { WebFormField webFormFieldOriginal = GStoreDb.WebFormFields.FindById(webFormField.WebFormFieldId); if (webFormFieldOriginal == null) { return HttpBadRequest("webFormField not found by id: " + webFormField.WebFormFieldId); } string originalName = webFormFieldOriginal.Name; if (originalName != webFormField.Name) { //validate new name is not taken if (webFormFieldOriginal.WebForm.WebFormFields.Any(f => (f.WebFormFieldId != webFormField.WebFormFieldId) && (f.Name.ToLower() == (webFormField.Name ?? "").ToLower()))) { ModelState.AddModelError("Name", "A field with the name '" + webFormField.Name + "' already exists. Choose a new name or edit the original."); } } if (ModelState.IsValid) { webFormField.DataTypeString = webFormField.DataType.ToDisplayName(); webFormField.UpdateAuditFields(CurrentUserProfileOrThrow); webFormField = GStoreDb.WebFormFields.Update(webFormField); GStoreDb.SaveChanges(); AddUserMessage("Web Form Field Updated", "Changes saved successfully to Web Form Field '" + webFormField.Name.ToHtml() + "' [" + webFormField.WebFormFieldId + "]", UserMessageType.Success); return RedirectToAction("FieldIndex", new { id = webFormField.WebFormId }); } webFormField.WebForm = GStoreDb.WebForms.Single(wf => wf.WebFormId == webFormField.WebFormId); this.BreadCrumbsFunc = htmlHelper => this.WebFormFieldBreadcrumb(htmlHelper, webFormField); return View(webFormField); }
protected MvcHtmlString WebFormFieldBreadcrumb(HtmlHelper htmlHelper, WebFormField webFormField, bool ShowAsLink = false) { RouteValueDictionary routeData = null; string name = "(unknown)"; bool showLink = false; if (webFormField != null) { if (webFormField.WebFormFieldId == 0) { name = "New"; } else { showLink = ShowAsLink; routeData = new RouteValueDictionary(new { id = webFormField.WebFormFieldId }); name = "'" + webFormField.Name + "' [" + webFormField.WebFormFieldId + "]"; } } return new MvcHtmlString( WebFormFieldsBreadcrumb(htmlHelper, webFormField.WebForm, true).ToHtmlString() + " -> " + (showLink ? htmlHelper.ActionLink(name, "FieldDetails", "WebFormSysAdmin", routeData, null).ToHtmlString() : name) ); }