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);

            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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)
         );
 }