/// <summary> /// Actions /// </summary> /// <param name="HandleGUID"></param> /// <returns></returns> public static List<SmartFormViewActions> ArtefactActionss(String FormName, Guid EventGUID, Guid HandleGUID) { List<SmartFormViewActions> list = new List<SmartFormViewActions>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); var ev = form.Events[EventGUID].Handlers[HandleGUID]; SourceCode.Forms.Authoring.Eventing.Handler e = form.Events[EventGUID].Handlers[HandleGUID]; foreach (SourceCode.Forms.Authoring.Eventing.Action action in e.Actions) { list.Add(new SmartFormViewActions { GUID = action.Guid, // properties = action.Properties, // parameters = action.Parameters, // results = action.Results, // validation = action.Validation, viewguid = action.ViewGuid, method = action.Method, formguid = action.FormGuid, executiontype = action.ExecutionType.ToString(), controlguid = action.ControlGuid, actiontype = action.ActionType.ToString() }); } return list; }
/// <summary> /// Actions /// </summary> /// <param name="HandleGUID"></param> /// <returns></returns> public static List<SmartFormViewActions> ArtefactActionss(String ViewName, Guid EventGUID, Guid HandleGUID) { List<SmartFormViewActions> list = new List<SmartFormViewActions>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.View view = new SourceCode.Forms.Authoring.View(frm.GetViewDefinition(ViewName)); var ev = view.Events[EventGUID].Handlers[HandleGUID]; SourceCode.Forms.Authoring.Eventing.Handler e = view.Events[EventGUID].Handlers[HandleGUID]; foreach (SourceCode.Forms.Authoring.Eventing.Action action in e.Actions) { list.Add(new SmartFormViewActions { GUID = action.Guid, viewguid = action.ViewGuid, method = action.Method, formguid = action.FormGuid, executiontype = action.ExecutionType.ToString(), controlguid = action.ControlGuid, actiontype = action.ActionType.ToString() }); } return list; }
// Use this for initialization void Awake() { gm = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<GameMaster>(); fm = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<FormsManager>(); animator = GetComponent<Animator>(); particles = gameObject.transform.FindChild("particles").GetComponent<ParticleSystem>(); myTransform = transform; requestedPos = myTransform.position; }
// Use this for initialization void Start() { GetComponent<MeshRenderer>().enabled = false; formMan = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<FormsManager>(); dialogs = GetComponents<Dialog>(); Array.Sort(dialogs); dialogBtn.onClick.AddListener(() => dialogBtnClicked()); }
private List<Control> BuildControls(string placeholderId, IEnumerable<ControlData> loadedControls, FormsManager manager) { List<ControlData> relevantControls = new List<ControlData>(); List<ControlData> notRelevantControls = new List<ControlData>(); foreach (var controlData in loadedControls) { if (controlData.PlaceHolder == placeholderId) relevantControls.Add(controlData); else notRelevantControls.Add(controlData); } var children = new List<Control>(); var siblingId = Guid.Empty; while (relevantControls.Count > 0) { var currentControl = relevantControls.FirstOrDefault(c => c.SiblingId == siblingId); if (currentControl == null) break; relevantControls.Remove(currentControl); siblingId = currentControl.Id; var controlInstance = manager.LoadControl(currentControl); if (currentControl.IsLayoutControl) { var layoutControl = (LayoutControl)controlInstance; foreach (var childPlaceholder in layoutControl.Placeholders) { var childControls = this.BuildControls(childPlaceholder.ID, notRelevantControls, manager); foreach (var childControl in childControls) { childPlaceholder.Controls.Add(childControl); } } children.Add(layoutControl); } else { var literal = this.GetFieldMarkup(controlInstance, currentControl.Id); children.Add(new LiteralControl(literal)); } } return children; }
/// <summary> /// Conditions /// </summary> /// <param name="FormName"></param> /// <param name="EventGUID"></param> /// <param name="HandleGUID"></param> /// <returns></returns> public static List<SmartFormViewConditions> ArtefactConditions(String FormName,Guid EventGUID,Guid HandleGUID) { List<SmartFormViewConditions> list = new List<SmartFormViewConditions>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); var ev = form.Events[EventGUID].Handlers[HandleGUID]; SourceCode.Forms.Authoring.Eventing.Handler e = form.Events[EventGUID].Handlers[HandleGUID]; foreach (SourceCode.Forms.Authoring.Eventing.Condition condition in e.Conditions) { list.Add(new SmartFormViewConditions { GUID = condition.Guid, }); } return list; }
/// <summary> /// Gets all the views on the environment /// </summary> /// <returns></returns> public static List<SmartFormView> GetAllViews() { List<SmartFormView> list = new List<SmartFormView>(); FormsManager frm = new FormsManager("dlx", 5555); ViewExplorer formexplorer = frm.GetViews(); foreach (SourceCode.Forms.Management.ViewInfo viewinfo in formexplorer.Views) { SourceCode.Forms.Authoring.View view = new SourceCode.Forms.Authoring.View(frm.GetViewDefinition(viewinfo.Name)); list.Add(new SmartFormView { name = viewinfo.Name, displayname = viewinfo.DisplayName, description = viewinfo.Description, guid = viewinfo.Guid, version = viewinfo.Version, }); } return list; }
private static void combine_Click(object sender, EventArgs e) { FormsManager.GetInstance <TPEMain>().CaptureToLib(); }
/// <summary> /// Form Controls /// </summary> /// <param name="FormName"></param> /// <returns></returns> public static List<SmartFormViewControls> ViewControls(string ViewName) { List<SmartFormViewControls> list = new List<SmartFormViewControls>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.View view = new SourceCode.Forms.Authoring.View(frm.GetViewDefinition(ViewName)); foreach (SourceCode.Forms.Authoring.Control control in view.Controls) { list.Add(new SmartFormViewControls { name = control.Name, type = control.Type, guid = control.Guid, }); } return list; }
// Use this for initialization void Start() { spawnpoint = transform.FindChild("spawnpoint"); player = GameObject.Find("PhysicalForm").transform; fm = GameObject.FindObjectOfType<FormsManager>(); }
void SetWindowMenuButtonStates() { colourMapFormToolStripMenuItem.Checked = FormsManager.IsColourMapFormOpen(); mappingListFormToolStripMenuItem.Checked = FormsManager.IsMappingListFormOpen(); }
/// <summary> /// List of form properties /// </summary> /// <param name="FormName"></param> /// <returns></returns> public static List<SmartFormViewProperties> GetViewProperties(string ViewName) { List<SmartFormView> list = new List<SmartFormView>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.View view = new SourceCode.Forms.Authoring.View(frm.GetViewDefinition(ViewName)); Properties prop = new Properties(); return prop.ArtefactProperties(view.Properties); }
private static void closeButton_Click(object sender, EventArgs e) { FormsManager.Hide(typeof(TPEMain)); }
void Start() { cOrbit = GetComponent<CameraOrbit>(); GoTo("PhysicalForm"); fm = GameObject.FindObjectOfType<FormsManager>(); }
static void Main(string[] args) { using (SourceCode.Forms.Management.FormsManager manager = new FormsManager("localhost", 5555)) { ControlTypeExplorer explorer = manager.GetControlTypes(); //REMOVE ALL CONTROL TYPES THAT ARE NOT IN THE SOURCECODE NAMESPACE! //foreach (ControlTypeInfo ctype in explorer.ControlTypes) //{ // if (!ctype.FullName.StartsWith("SourceCode")) // { // try // { // manager.DeleteControlType(ctype.Name); // Console.WriteLine("Removed {0}", ctype.FullName); // } // catch (Exception ex) // { // Console.WriteLine("{0} not removed. In use? Exception: {1}", ctype.FullName, ex.Message); // } // } //} //return; Assembly controlAssembly = Assembly.Load("K2Field.Smartforms.Controls"); Type[] types = controlAssembly.GetTypes(); foreach (Type type in types) { RegisterControlType[] custAttr = type.GetCustomAttributes(typeof(RegisterControlType), true) as RegisterControlType[]; if (custAttr.Length == 1) { RegisterControlType regContType = custAttr[0]; Console.WriteLine("Discovered {0}", type.FullName); /* * object controlObj = t.Assembly.CreateInstance(t.FullName); PropertyInfo propInfo = t.GetProperty("Name"); string controlName = propInfo.GetValue(controlObj, null) as string; propInfo = t.GetProperty("FriendlyName"); string friendlyName = propInfo.GetValue(controlObj, null) as string; if (string.IsNullOrEmpty(controlName) || string.IsNullOrEmpty(friendlyName)) { Console.WriteLine("ERROR: Not installing. Name or FriendlyName not set!"); continue; }*/ bool updateControl = true; ControlTypeInfo controlType = explorer.ControlTypes.SingleOrDefault(s => s.Name == type.Name); if (controlType == null) { updateControl = false; controlType = new ControlTypeInfo(); } //Set the control type information controlType.Name = type.Name; controlType.FullName = type.FullName + ", " + controlAssembly.FullName; controlType.DisplayName = regContType.DisplayName; controlType.Category = regContType.Category; controlType.Group = regContType.Group; controlType.Properties = regContType.GetPropertyXML(); // Specify runtime functions and validation if (!string.IsNullOrEmpty(regContType.GetValueMethod)) controlType.GetValueMethod = regContType.GetValueMethod; if (!string.IsNullOrEmpty(regContType.SetValueMethod)) controlType.SetValueMethod = regContType.SetValueMethod; if (!string.IsNullOrEmpty(regContType.SetPropertyMethod) ) controlType.SetPropertyMethod = regContType.SetPropertyMethod; if (!string.IsNullOrEmpty(regContType.GetPropertyMethod)) controlType.GetPropertyMethod = regContType.GetPropertyMethod; if (!string.IsNullOrEmpty(regContType.GetDefaultValueMethod)) controlType.GetDefaultValueMethod = regContType.GetDefaultValueMethod; if (!string.IsNullOrEmpty(regContType.ValidationMethod)) controlType.ValidationMethod = regContType.ValidationMethod; if (!string.IsNullOrEmpty(regContType.SetItemsMethod)) controlType.SetItemsMethod = regContType.SetItemsMethod; // DataTypes controlType.DataTypes.Clear(); RegisterDataType[] dataTypes = type.GetCustomAttributes(typeof(RegisterDataType), true) as RegisterDataType[]; foreach (RegisterDataType dataType in dataTypes) { Console.WriteLine("\tAdding datatype: {0}", dataType.DataType.ToString()); controlType.DataTypes.Add(dataType.DataType); } //Events controlType.Events.Clear(); bool defaultEventSet = false; RegisterEvent[] events = type.GetCustomAttributes(typeof(RegisterEvent), true) as RegisterEvent[]; foreach (RegisterEvent evt in events) { Console.WriteLine("\tAdding event: {0}", evt.EventName); controlType.Events.Add(evt.EventName); if (evt.IsDefaultEvent && !defaultEventSet) { controlType.DefaultEvent = evt.EventName; defaultEventSet = true; } } if (!defaultEventSet && controlType.Events.Count > 0) { controlType.DefaultEvent = controlType.Events[0]; } if (updateControl) { Console.WriteLine("Updating...."); manager.SaveControlType(controlType); } else { Console.WriteLine("Installing...."); manager.CreateControlType(controlType); } Console.WriteLine(); } } } }
// Use this for initialization void Start() { camFocuser = Resources.Load("FocusCamera") as GameObject; playerForms = GameObject.FindGameObjectsWithTag("Player"); gamemaster = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<GameMaster>(); formManager = gamemaster.GetComponent<FormsManager>(); if(complete) { physical = digital = complete; } light.color = (doorUnlocked ? enabledColor : disabledColor); if (door.GetComponent<Trap>() == null) { door.gameObject.SetActive(!doorUnlocked); } btn.GetComponent<DoorSwitchBtn>().setDoorSwitch(this); }
private bool DescriptionExists(Guid id) { var formManager = FormsManager.GetManager(); return(formManager.GetForms().Any(f => f.Id == id)); }
public AbstractForm(GUIForm guiForm, FormsManager formsManager) : base(guiForm) { FormsManager = formsManager; }
private void selectFromListsMenuItemClick(object sender, EventArgs e) { FormsManager.ShowEditMappingForm(new KeyMapping(), false); }
private void showColourMapFormMenuItemClick(object sender, EventArgs e) { FormsManager.ToggleColourMapForm(); SetWindowMenuButtonStates(); }
private void viewListMenuItemClick(object sender, EventArgs e) { FormsManager.ToggleMappingListForm(); SetWindowMenuButtonStates(); }
// Use this for initialization void Start() { formManager = GetComponent<FormsManager>(); gameUI = GameObject.FindGameObjectWithTag("gameUI").transform; txtCurTurn = gameUI.FindChild("txtTurn").GetComponent<Text>(); btnEndTurn = gameUI.FindChild("btnEndTurn").GetComponent<Button>(); btnEndTurn.onClick.AddListener(() => endTurnBtnClicked()); ui = GameObject.FindObjectOfType<UIMaster>(); //grab all enemies from map enemiesOnMap = GameObject.FindObjectsOfType<Enemy>(); camFocus = Object.FindObjectOfType<CameraFocuser>(); //check for checkpoints CheckPointManager.init(); if (CheckPointManager.GetLevel() == Application.loadedLevel) { Debug.Log("Using checkpoint"); CheckPointManager.init(); GameObject.FindGameObjectWithTag("Player").transform.position = CheckPointManager.GetPosition(); Debug.Log("Send player to checkpoint at " + CheckPointManager.GetPosition().ToString()); camFocus.GoTo("PhysicalForm"); } }
public static MvcHtmlString FormController(this HtmlHelper htmlHelper, Guid id, FormViewMode viewMode, object routeValues) { var manager = FormsManager.GetManager(); var controlData = manager.GetControl <FormControl>(id); var control = manager.LoadControl(controlData); control.Page = HttpContext.Current.Handler as Page; var mvcProxy = control as MvcProxyBase; if (mvcProxy == null) { throw new InvalidOperationException("Cannot render form controller with the given ID becaouse the control with this ID is not an MVC proxy."); } var actionInvoker = ObjectFactory.Resolve <IControllerActionInvoker>() as Telerik.Sitefinity.Mvc.ControllerActionInvoker; if (actionInvoker != null) { actionInvoker.DeserializeControllerProperties(mvcProxy); } var routeData = new RouteData(); if (routeValues != null) { var routeDictionary = new RouteValueDictionary(routeValues); foreach (var kv in routeDictionary) { routeData.Values.Add(kv.Key, kv.Value); } } var controller = mvcProxy.GetController(); if (mvcProxy.IsIndexingMode() && controller.GetIndexRenderMode() == IndexRenderModes.NoOutput) { return(MvcHtmlString.Empty); } var controllerFactory = (ISitefinityControllerFactory)ControllerBuilder.Current.GetControllerFactory(); var controllerType = controller.GetType(); var explicitMode = ControllerHelpers.ExplicitMode(controllerType); if ((explicitMode == FormControlDisplayMode.Read && viewMode != FormViewMode.Read) || (explicitMode == FormControlDisplayMode.Write && viewMode != FormViewMode.Write)) { return(MvcHtmlString.Empty); } routeData.Values["controller"] = controllerFactory.GetControllerName(controllerType); string action = typeof(IFormElementController <IFormElementModel>).IsAssignableFrom(controllerType) ? action = viewMode.ToString() : action = "Index"; routeData.Values["action"] = action; using (var writer = new StringWriter()) { var context = new HttpContextWrapper(new HttpContext(HttpContext.Current.Request, new HttpResponse(writer))); ControllerHelpers.PopulateHttpContext(context); controller.ControllerContext = new ControllerContext(context, routeData, controller); controller.ActionInvoker.InvokeAction(controller.ControllerContext, action); ControllerHelpers.RestoreHttpContext(controller); var result = writer.ToString(); return(MvcHtmlString.Create(result)); } }
public string GetFirstFieldName(FormsManager formManager, FormDescription form) { var textFieldControlData = form.Controls.Where(c => c.PlaceHolder == "Body" && c.IsLayoutControl == false).FirstOrDefault(); var mvcfieldProxy = formManager.LoadControl(textFieldControlData) as MvcWidgetProxy; var fieldControl = mvcfieldProxy.Controller as IFormFieldControl; var fieldName = fieldControl.MetaField.FieldName; return fieldName; }
/// <summary> /// Form Events /// </summary> /// <param name="FormName"></param> /// <returns></returns> public static List<SmartFormViewEvents> FormEventsEvents(string FormName) { List<SmartFormViewEvents> list = new List<SmartFormViewEvents>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); foreach (SourceCode.Forms.Authoring.Eventing.Event ev in form.Events) { list.Add(new SmartFormViewEvents { name = ev.Name, type = ev.EventType.ToString(), GUID = ev.Guid }); } return list; }
// Use this for initialization void Start() { active = true; tT = GetComponent<TextureTiler>(); spCollider = GetComponent<SphereCollider>(); fM = GameObject.FindObjectOfType<FormsManager>(); StartCoroutine(ListenToSplits()); }
/// <summary> /// Gets a list of the form parameters /// </summary> /// <param name="FormName"></param> /// <returns></returns> public static List<SmartFormViewParameters> FormParameters(string FormName) { List<SmartFormViewParameters> list = new List<SmartFormViewParameters>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); foreach (SourceCode.Forms.Authoring.FormParameter parameter in form.Parameters) { list.Add(new SmartFormViewParameters { name = parameter.Name, type = parameter.DataType.ToString(), defaultvalue = parameter.DefaultValue }); } return list; }
private void aboutKeyMapperMenuItemClick(object sender, EventArgs e) { FormsManager.ShowAboutForm(); }
private static void snap_Click(object sender, EventArgs e) { FormsManager.GetInstance <TPEMain>().SwitchToEditor(); }
private void selectFromCaptureMenuItemClick(object sender, EventArgs e) { FormsManager.ShowEditMappingForm(new KeyMapping(), true); }
/// <summary> /// List of form properties /// </summary> /// <param name="FormName"></param> /// <returns></returns> public static List<SmartFormViewProperties> GetFormProperties(string FormName) { List<SmartFormView> list = new List<SmartFormView>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); Properties prop = new Properties(); return prop.ArtefactProperties( form.Properties); }
private void Magnify_Closing(object sender, CancelEventArgs e) { e.Cancel = true; FormsManager.Hide(typeof(Magnify)); FormsManager.Hide(typeof(TPEMain)); }
/// <summary> /// Actions Results /// </summary> /// <param name="FormName"></param> /// <param name="EventGUID"></param> /// <param name="HandleGUID"></param> /// <param name="ActionGUID"></param> /// <returns></returns> public static List<SmartFormViewActionParameters> SmartFormViewActionResults(String FormName, Guid EventGUID, Guid HandleGUID, Guid ActionGUID) { List<SmartFormViewActionParameters> list = new List<SmartFormViewActionParameters>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); SourceCode.Forms.Authoring.Eventing.Action e = form.Events[EventGUID].Handlers[HandleGUID].Actions[ActionGUID]; foreach (SourceCode.Forms.Authoring.Eventing.Mapping map in e.Results) { list.Add(new SmartFormViewActionParameters { // validation = map.Validation, targettype = map.TargetType.ToString(), targetpath = map.TargetPath, targetid = map.TargetID, sourcevalue = map.SourceValue, sourcetype = map.SourceType.ToString(), sourcepath = map.SourcePath, sourceid = map.SourceID }); } return list; }
void Start() { fm = GameObject.FindObjectOfType<FormsManager>(); GetComponent<MeshRenderer>().enabled = false; }
new private void SaveFormEntry(FormDescription description) { FormsManager manager = FormsManager.GetManager(); FormEntry userHostAddress = null; if (_isProgressiveForm && _priorFormEntry == null) { FieldControl keyField = this.FieldControls.Where(fc => ((IFormFieldControl)fc).MetaField.FieldName == _progressiveKeyFieldName).FirstOrDefault() as FieldControl; if (keyField != null && !String.IsNullOrWhiteSpace((string)keyField.Value)) { _priorFormEntry = GetPriorFormEntryByKeyField((string)keyField.Value); } } if (_isProgressiveForm && _priorFormEntry != null) { string entryType = String.Format("{0}.{1}", manager.Provider.FormsNamespace, this.FormData.Name); userHostAddress = manager.GetFormEntry(entryType, _priorFormEntry.Id); } else { userHostAddress = manager.CreateFormEntry(string.Format("{0}.{1}", manager.Provider.FormsNamespace, description.Name)); } foreach (IFormFieldControl formFieldControl in this.FieldControls) { FieldControl fieldControl = formFieldControl as FieldControl; object value = fieldControl.Value; if (fieldControl.GetType().Name == "FormFileUpload") { if (formFieldControl.MetaField.FieldName != "") { var uploadValue = value as UploadedFileCollection; var files = new Dictionary <string, List <FormHttpPostedFile> >(); List <FormHttpPostedFile> formHttpPostedFileList = new List <FormHttpPostedFile>(); foreach (UploadedFile uploadedFile in uploadValue) { if (uploadedFile != null) { formHttpPostedFileList.Add(new FormHttpPostedFile() { FileName = uploadedFile.FileName, InputStream = uploadedFile.InputStream, ContentType = uploadedFile.ContentType, ContentLength = uploadedFile.ContentLength }); } } files.Add(formFieldControl.MetaField.FieldName, formHttpPostedFileList); var type = Type.GetType("Telerik.Sitefinity.Modules.Forms.Web.FormsHelper,Telerik.Sitefinity"); var method = type.GetMethod("SaveFiles", BindingFlags.Static | BindingFlags.NonPublic); var updateMode = _priorFormEntry != null; method.Invoke(null, new object[] { files, description, userHostAddress, updateMode }); } } else if (!(value is List <string>)) { userHostAddress.SetValue(formFieldControl.MetaField.FieldName, value); } else { StringArrayConverter stringArrayConverter = new StringArrayConverter(); object obj = stringArrayConverter.ConvertTo((value as List <string>).ToArray(), typeof(string)); userHostAddress.SetValue(formFieldControl.MetaField.FieldName, obj); } } userHostAddress.IpAddress = this.Page.Request.UserHostAddress; userHostAddress.SubmittedOn = DateTime.UtcNow; Guid userId = ClaimsManager.GetCurrentUserId(); userHostAddress.UserId = userId == Guid.Empty ? Guid.Parse(_sfTrackingCookie.Value) : userId; if (userHostAddress.UserId == userId) { userHostAddress.Owner = userId; } if (SystemManager.CurrentContext.AppSettings.Multilingual) { userHostAddress.Language = CultureInfo.CurrentUICulture.Name; } FormDescription formData = this.FormData; formData.FormEntriesSeed = formData.FormEntriesSeed + (long)1; userHostAddress.ReferralCode = this.FormData.FormEntriesSeed.ToString(); manager.SaveChanges(); }
/// <summary> /// Event Handlers /// </summary> /// <param name="EventGUID"></param> /// <returns></returns> public static List<SmartFromViewHandlers> FormHandlers(String FormName,Guid EventGUID) { List<SmartFromViewHandlers> list = new List<SmartFromViewHandlers>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); var ev = form.Events[EventGUID]; SourceCode.Forms.Authoring.Eventing.Event e = form.Events[EventGUID]; foreach (SourceCode.Forms.Authoring.Eventing.Handler handle in e.Handlers) { list.Add(new SmartFromViewHandlers { Name = handle.HandlerType.ToString(), GUID = handle.Guid }); } return list; }
/// <inheritDoc/> public virtual SubmitStatus TrySubmitForm(FormCollection collection, HttpFileCollectionBase files, string userHostAddress) { var manager = FormsManager.GetManager(); var form = manager.GetForm(this.FormId); var formEntry = new FormEntryDTO(form); var formSubmition = new FormsSubmitionHelper(); if (!this.ValidateFormSubmissionRestrictions(formSubmition, formEntry)) { return(SubmitStatus.RestrictionViolation); } if (!this.RaiseFormValidatingEvent(formEntry) || !this.IsValidForm(form, collection, files, manager)) { return(SubmitStatus.InvalidEntry); } var formFields = new HashSet <string>(form.Controls.Select(this.FormFieldName).Where((f) => !string.IsNullOrEmpty(f))); var postedFiles = new Dictionary <string, List <FormHttpPostedFile> >(); if (files != null) { for (int i = 0; i < files.AllKeys.Length; i++) { if (formFields.Contains(files.AllKeys[i])) { postedFiles[files.AllKeys[i]] = files.GetMultiple(files.AllKeys[i]).Where(f => !f.FileName.IsNullOrEmpty()).Select(f => new FormHttpPostedFile() { FileName = f.FileName, ContentLength = f.ContentLength, ContentType = f.ContentType, InputStream = f.InputStream }).ToList(); } } } var formData = new Dictionary <string, object>(collection.Count); for (int i = 0; i < collection.Count; i++) { if (formFields.Contains(collection.Keys[i])) { formData.Add(collection.Keys[i], collection[collection.Keys[i]]); } } formEntry.PostedData.FormsData = formData; formEntry.PostedData.Files = postedFiles; if (this.RaiseFormSavingEvent(formEntry)) { formSubmition.Save(formEntry); this.RaiseFormSavedEvent(formEntry); return(SubmitStatus.Success); } else { return(SubmitStatus.RestrictionViolation); } }
/// <summary> /// Gets forms for a process /// </summary> /// <param name="WorkflowName"></param> /// <returns></returns> public static List<SmartFormView> GetAllFormsbyWorkFlow(string WorkflowName) { List<SmartFormView> list = new List<SmartFormView>(); FormsManager frm = new FormsManager("dlx", 5555); FormExplorer formexplorer = frm.GetFormsForProcess(WorkflowName); foreach (SourceCode.Forms.Management.FormInfo forminfo in formexplorer.Forms) { list.Add(new SmartFormView { name = forminfo.Name, displayname = forminfo.DisplayName, description = forminfo.Description, guid = forminfo.Guid, version = forminfo.Version }); } return list; }
/// <summary> /// Determines whether a form is valid or not. /// </summary> /// <param name="form">The form.</param> /// <param name="collection">The collection.</param> /// <param name="manager">The manager.</param> /// <returns>true if form is valid, false otherwise.</returns> protected virtual bool IsValidForm(FormDescription form, FormCollection collection, HttpFileCollectionBase files, FormsManager manager) { this.SanitizeFormCollection(collection); var behaviorResolver = ObjectFactory.Resolve <IControlBehaviorResolver>(); foreach (var control in form.Controls) { if (control.IsLayoutControl) { continue; } Type controlType; if (control.ObjectType.StartsWith("~/")) { controlType = FormsManager.GetControlType(control); } else { controlType = TypeResolutionService.ResolveType(behaviorResolver.GetBehaviorObjectType(control), true); } if (!controlType.ImplementsGenericInterface(typeof(IFormElementController <>))) { continue; } var controlInstance = manager.LoadControl(control); var controlBehaviorObject = behaviorResolver.GetBehaviorObject(controlInstance); var formField = controlBehaviorObject as IFormFieldController <IFormFieldModel>; if (formField != null) { if (!this.RaiseFormFieldValidatingEvent(formField)) { return(false); } IList <HttpPostedFileBase> multipleFiles = files != null?files.GetMultiple(formField.MetaField.FieldName) : null; object fieldValue; if (multipleFiles != null && multipleFiles.Count() > 0) { fieldValue = multipleFiles; } else if (collection.Keys.Contains(formField.MetaField.FieldName)) { collection[formField.MetaField.FieldName] = collection[formField.MetaField.FieldName] ?? string.Empty; fieldValue = collection[formField.MetaField.FieldName]; } else { fieldValue = null; } if (!formField.Model.IsValid(fieldValue)) { return(false); } } else { var formElement = (IFormElementController <IFormElementModel>)controlBehaviorObject; if (!formElement.IsValid()) { return(false); } } } return(true); }
public static List<SmartFormViewProperties> GetControlProperties(string FormName,Guid ControlGUID) { List<SmartFormView> list = new List<SmartFormView>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); SourceCode.Forms.Authoring.Control control = form.Controls[ControlGUID]; Properties prop = new Properties(); return prop.ArtefactProperties(control.Properties); }
private void CloseAllEditorForms(object sender, EventArgs e) { FormsManager.CloseAllEditorForms(); }
/// <summary> /// Gets the details of the form /// </summary> /// <param name="FormName"></param> public static SmartFormView LoadForm(string formname) { FormsManager frm = new FormsManager("dlx", 5555); FormInfo forminfo = frm.GetForm(formname); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetViewDefinition(formname)); SmartFormView sf = new SmartFormView(); sf.guid = form.Guid; sf.description = form.Description; sf.displayname = form.DisplayName; sf.name = form.Name; sf.guid = form.Guid; sf.theme = form.Theme; return sf; }
private void RenderFormFields() { Control control; if (this.FormData != null) { FormsManager manager = FormsManager.GetManager(); List <IControlsContainer> controlsContainers = new List <IControlsContainer>() { this.FormData }; List <ControlData> controlDatas = new List <ControlData>(); typeof(PageHelper) .GetMethod("ProcessControls", BindingFlags.Static | BindingFlags.NonPublic, null, CallingConventions.Any, new Type[] { typeof(IList <ControlData>), typeof(IList <ControlData>), typeof(IList <IControlsContainer>) }, null) .Invoke(null, new object[] { new List <ControlData>(), controlDatas, controlsContainers }); PlaceHoldersCollection placeHoldersCollection = new PlaceHoldersCollection(); PlaceHolder placeHolder = new PlaceHolder() { ID = "Body" }; placeHoldersCollection.Add(placeHolder); List <ControlData> controlDatas1 = (List <ControlData>) typeof(PageHelper) .GetMethod("SortControls", BindingFlags.Static | BindingFlags.NonPublic) .Invoke(null, new object[] { controlsContainers.AsEnumerable <IControlsContainer>().Reverse <IControlsContainer>(), controlsContainers.Count }); if (_isProgressiveForm) { ControlData progressiveKeyFieldControlData = controlDatas1.Where(c => ((FormControl)c).Properties.Any(p => p.Name == "IsProgressiveKeyField" && p.Value == "True")).FirstOrDefault(); if (progressiveKeyFieldControlData != null) { FieldControl progressiveKeyFieldControl = manager.LoadControl(progressiveKeyFieldControlData, CultureInfo.CurrentUICulture) as FieldControl; _progressiveKeyFieldName = Helpers.GetFieldName(progressiveKeyFieldControl); } } foreach (ControlData controlDatum in controlDatas1) { Control control1 = manager.LoadControl(controlDatum, CultureInfo.CurrentUICulture); if (placeHoldersCollection.TryGetValue(controlDatum.PlaceHolder, out control)) { if (control1 is FormSubmitButton) { this.ConfigureSubmitButton(control1, this.ValidationGroup); } bool showProgressiveField = ShowProgressiveField(control1); if (control1 is FormSubmitButton || (_isProgressiveForm ? showProgressiveField : true)) { control.Controls.Add(control1); } IFormFieldControl formFieldControl = control1 as IFormFieldControl; if (formFieldControl != null & (control1 is FormSubmitButton || (_isProgressiveForm ? showProgressiveField : true))) { FieldControl fieldName = formFieldControl as FieldControl; if (fieldName != null) { if (formFieldControl.MetaField != null && !string.IsNullOrEmpty(formFieldControl.MetaField.FieldName)) { fieldName.DataFieldName = formFieldControl.MetaField.FieldName; } fieldName.ValidationGroup = this.ValidationGroup; fieldName.ValidatorDefinition.MessageCssClass = "sfError"; fieldName.ControlCssClassOnError = "sfErrorWrp"; } this.FieldControls.Add(formFieldControl); } } if (!(control1 is LayoutControl)) { continue; } LayoutControl layoutControl = (LayoutControl)control1; layoutControl.PlaceHolder = controlDatum.PlaceHolder; placeHoldersCollection.AddRange(layoutControl.Placeholders); } this.FormControls.Controls.Add(placeHolder); } }
/// <summary> /// Validation Messages /// </summary> /// <param name="FormName"></param> /// <param name="EventGUID"></param> /// <param name="HandleGUID"></param> /// <param name="ActionGUID"></param> /// <returns></returns> public static List<SmartFormViewActionValidationMessage> SmartFormViewActionValidation(String FormName, Guid EventGUID, Guid HandleGUID, Guid ActionGUID) { List<SmartFormViewActionValidationMessage> list = new List<SmartFormViewActionValidationMessage>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); SourceCode.Forms.Authoring.Eventing.Action e = form.Events[EventGUID].Handlers[HandleGUID].Actions[ActionGUID]; foreach (SourceCode.Forms.Authoring.ValidationMessage val in e.Validation.Messages) { list.Add(new SmartFormViewActionValidationMessage { message = val.Message }); } return list; }
new private void SaveFormEntry(FormDescription description) { FormsManager manager = FormsManager.GetManager(); FormEntry userHostAddress = null; if (_isProgressiveForm && _priorFormEntry == null) { FieldControl keyField = this.FieldControls.Where(fc => ((IFormFieldControl)fc).MetaField.FieldName == _progressiveKeyFieldName).FirstOrDefault() as FieldControl; if (keyField != null && !String.IsNullOrWhiteSpace((string)keyField.Value)) { _priorFormEntry = GetPriorFormEntryByKeyField((string)keyField.Value); } } if (_isProgressiveForm && _priorFormEntry != null) { string entryType = String.Format("{0}.{1}", manager.Provider.FormsNamespace, this.FormData.Name); userHostAddress = manager.GetFormEntry(entryType, _priorFormEntry.Id); } else { userHostAddress = manager.CreateFormEntry(string.Format("{0}.{1}", manager.Provider.FormsNamespace, description.Name)); } foreach (IFormFieldControl formFieldControl in this.FieldControls) { FieldControl fieldControl = formFieldControl as FieldControl; object value = fieldControl.Value; if (fieldControl.GetType().Name == "FormFileUpload") { typeof(FormsControl) .GetMethod("SaveFiles", BindingFlags.Static | BindingFlags.NonPublic) .Invoke(null, new object[] { value as UploadedFileCollection, manager, description, userHostAddress, formFieldControl.MetaField.FieldName }); } else if (!(value is List <string>)) { userHostAddress.SetValue(formFieldControl.MetaField.FieldName, value); } else { StringArrayConverter stringArrayConverter = new StringArrayConverter(); object obj = stringArrayConverter.ConvertTo((value as List <string>).ToArray(), typeof(string)); userHostAddress.SetValue(formFieldControl.MetaField.FieldName, obj); } } userHostAddress.IpAddress = this.Page.Request.UserHostAddress; userHostAddress.SubmittedOn = DateTime.UtcNow; Guid userId = ClaimsManager.GetCurrentUserId(); userHostAddress.UserId = userId == Guid.Empty ? Guid.Parse(_sfTrackingCookie.Value) : userId; if (userHostAddress.UserId == userId) { userHostAddress.Owner = userId; } if (SystemManager.CurrentContext.AppSettings.Multilingual) { userHostAddress.Language = CultureInfo.CurrentUICulture.Name; } FormDescription formData = this.FormData; formData.FormEntriesSeed = formData.FormEntriesSeed + (long)1; userHostAddress.ReferralCode = this.FormData.FormEntriesSeed.ToString(); manager.SaveChanges(); }
/// <summary> /// Form Controls /// </summary> /// <param name="FormName"></param> /// <returns></returns> public static List<SmartFormViewControls> FormControls(string FormName) { List<SmartFormViewControls> list = new List<SmartFormViewControls>(); FormsManager frm = new FormsManager("dlx", 5555); SourceCode.Forms.Authoring.Form form = new SourceCode.Forms.Authoring.Form(frm.GetFormDefinition(FormName)); foreach (SourceCode.Forms.Authoring.Control control in form.Controls) { list.Add(new SmartFormViewControls { name = control.Name, type = control.Type, guid = control.Guid }); } return list; }
/// <inheritDocs/> public void Configure(ref FieldControl backendControl, IFormFieldController <IFormFieldModel> formFieldController) { backendControl.GetType().GetProperty("FormId").SetValue(backendControl, this.FormId); backendControl.GetType().GetProperty("FormsProviderName").SetValue(backendControl, FormsManager.GetDefaultProviderName()); backendControl.GetType().GetProperty("AllowMultipleAttachments").SetValue(backendControl, ((IFileFieldModel)formFieldController.Model).AllowMultipleFiles); }
static void Main(string[] args) { //Get Form View Relation DataTable dtFormView = new DataTable(); dtFormView.Columns.Add("FormGUID", typeof(Guid)); dtFormView.Columns.Add("ViewGUID", typeof(Guid)); SCConnectionStringBuilder sb = new SCConnectionStringBuilder(); sb.Authenticate = true; sb.IsPrimaryLogin = true; sb.Integrated = true; sb.Host = "localhost"; sb.Port = 5555; SmartObjectClientServer socs = new SmartObjectClientServer(); socs.CreateConnection(); socs.Connection.Open(sb.ToString()); FormsManager fm = new FormsManager(sb.ToString()); FormExplorer fe = fm.GetForms(); foreach (FormInfo fi in fe.Forms) { Guid formGUID = fi.Guid; //Console.WriteLine("Form: " + fi.DisplayName); ViewExplorer ve = fm.GetViewsForForm(fi.Guid); foreach (ViewInfo vi in ve.Views) { DataRow dr = dtFormView.NewRow(); dr["FormGUID"] = formGUID; dr["ViewGUID"] = vi.Guid; dtFormView.Rows.Add(dr); } } //Get Form Process Relation DataTable dtFormProcess = new DataTable(); dtFormProcess.Columns.Add("ProcessName", typeof(string)); dtFormProcess.Columns.Add("FormGUID", typeof(Guid)); fe = fm.GetForms(); foreach (FormInfo fi in fe.Forms) { Guid formGUID = fi.Guid; IEnumerable<string> processes = fm.GetProcessesForForm(fi.Guid); foreach (var process in processes) { DataRow dr = dtFormProcess.NewRow(); dr["FormGUID"] = formGUID; dr["ProcessName"] = process; dtFormProcess.Rows.Add(dr); } } //Get View SMO Relation DataTable dtViewSMO = new DataTable(); dtViewSMO.Columns.Add("ViewGUID", typeof(Guid)); dtViewSMO.Columns.Add("SmartObjectGUID", typeof(Guid)); fe = fm.GetForms(); foreach (FormInfo fi in fe.Forms) { ViewExplorer ve = fm.GetViewsForForm(fi.Guid); foreach (ViewInfo vi in ve.Views) { Guid viewGUID = vi.Guid; foreach (Guid soGuid in fm.GetObjectsForView(vi.Guid)) { DataRow dr = dtViewSMO.NewRow(); dr["ViewGUID"] = viewGUID; dr["SmartObjectGUID"] = soGuid; dtViewSMO.Rows.Add(dr); } } } fm.Connection.Close(); socs.Connection.Close(); //Delete data from table string stmt = "Delete From FormViewDependency"; ExecuteNoneQuery(stmt, CommandType.Text); //Insert Form View Relation to table for(int i = 0; i < dtFormView.Rows.Count; i++) { DataRow dr = dtFormView.Rows[i]; stmt = @"INSERT INTO [dbo].[FormViewDependency] ([FormGUID] ,[ViewGUID]) VALUES ('" + dr["FormGUID"].ToString() + @"' ,'" + dr["ViewGUID"].ToString() + "')"; ExecuteNoneQuery(stmt, CommandType.Text); } //Delete data from table stmt = "Delete From FormProcessDependency"; ExecuteNoneQuery(stmt, CommandType.Text); //Insert Form Process Relation to table for (int i = 0; i < dtFormProcess.Rows.Count; i++) { DataRow dr = dtFormProcess.Rows[i]; stmt = @"INSERT INTO [dbo].[FormProcessDependency] ([FormGUID] ,[ProcessName]) VALUES ('" + dr["FormGUID"].ToString() + @"' ,'" + dr["ProcessName"].ToString() + "')"; ExecuteNoneQuery(stmt, CommandType.Text); } //Delete data from table stmt = "Delete From ViewSMODependency"; ExecuteNoneQuery(stmt, CommandType.Text); //Insert View SMO Relation to table for (int i = 0; i < dtViewSMO.Rows.Count; i++) { DataRow dr = dtViewSMO.Rows[i]; stmt = @"INSERT INTO [dbo].[ViewSMODependency] ([ViewGUID] ,[SmartObjectGUID]) VALUES ('" + dr["ViewGUID"].ToString() + @"' ,'" + dr["SmartObjectGUID"].ToString() + "')"; ExecuteNoneQuery(stmt, CommandType.Text); } //SmartObjectClientServer socs = new SmartObjectClientServer(); //socs.CreateConnection(); //socs.Connection.Open(sb.ToString()); //FormsManager fm = new FormsManager(sb.ToString()); //FormExplorer fe = fm.GetForms(); //foreach (FormInfo fi in fe.Forms) //{ // Console.WriteLine("Form: " + fi.DisplayName); // ViewExplorer ve = fm.GetViewsForForm(fi.Guid); // IEnumerable<string> x = fm.GetProcessesForForm(fi.Guid); // foreach (var y in x) // { // Console.WriteLine("Process: " + y); // } // foreach (ViewInfo vi in ve.Views) // { // Console.WriteLine("View: " + vi.DisplayName); // foreach(Guid soGuid in fm.GetObjectsForView(vi.Guid)) // { // try // { // SmartObject so = socs.GetSmartObject(soGuid); // Console.WriteLine("SmartObject: " + so.Name); // } // catch (Exception ex) // { // Console.WriteLine(ex.Message); // } // } // Console.WriteLine(); // } //} //fm.Connection.Close(); //socs.Connection.Close(); //Console.ReadLine(); }
/// <inheritDoc/> public virtual SubmitStatus TrySubmitForm(FormCollection collection, HttpFileCollectionBase files, string userHostAddress) { var manager = FormsManager.GetManager(); var formIdString = collection[FormIdName]; Guid formId; if (!string.IsNullOrWhiteSpace(formIdString) && Guid.TryParse(formIdString, out formId)) { this.FormId = formId; } var form = manager.GetForm(this.FormId); var formEntry = new FormEntryDTO(form); var formSubmition = new FormsSubmitionHelper(); if (!this.ValidateFormSubmissionRestrictions(formSubmition, formEntry)) { return(SubmitStatus.RestrictionViolation); } Dictionary <string, IFormFieldController <IFormFieldModel> > currentFormFields; List <IFormElementController <IFormElementModel> > formElements; this.LoadFormControls(form, collection, files, manager, out currentFormFields, out formElements); Dictionary <IFormFieldController <IFormFieldModel>, bool> fieldControls; if (!this.RaiseFormValidatingEvent(formEntry, currentFormFields, collection, files) || !this.IsValidForm(form, collection, files, currentFormFields, formElements, out fieldControls)) { return(SubmitStatus.InvalidEntry); } var formFields = fieldControls.Select(p => new { FieldName = this.FormFieldName(p.Key), CanSave = p.Value }).Where(field => !string.IsNullOrEmpty(field.FieldName)); var postedFiles = new Dictionary <string, List <FormHttpPostedFile> >(); if (files != null) { for (int i = 0; i < files.AllKeys.Length; i++) { if (formFields.FirstOrDefault(p => p.FieldName == files.AllKeys[i]) != null) { postedFiles[files.AllKeys[i]] = files.GetMultiple(files.AllKeys[i]).Where(f => !f.FileName.IsNullOrEmpty()).Select(f => new FormHttpPostedFile() { FileName = f.FileName, ContentLength = f.ContentLength, ContentType = f.ContentType, InputStream = f.InputStream }).ToList(); } } } var formData = new Dictionary <string, object>(collection.Count); for (int i = 0; i < collection.Count; i++) { var formField = formFields.FirstOrDefault(p => p.FieldName == collection.Keys[i]); if (formField != null) { formData.Add(collection.Keys[i], formField.CanSave ? collection[collection.Keys[i]] : string.Empty); } } formEntry.PostedData.FormsData = formData; formEntry.PostedData.Files = postedFiles; var formRules = new List <FormRule>(); if (!string.IsNullOrWhiteSpace(form.Rules)) { formRules = JsonConvert.DeserializeObject <List <FormRule> >(form.Rules); } formEntry.NotificationEmails = this.GetSendNotificationEmails(formRules, collection); this.UpdateCustomConfirmationMode(formRules, collection); this.SetConnectorSettingsToContext(); if (this.RaiseFormSavingEvent(formEntry)) { formSubmition.Save(formEntry); this.RaiseFormSavedEvent(formEntry); this.InvalidateCaptchas(); return(SubmitStatus.Success); } else { return(SubmitStatus.RestrictionViolation); } }
private string GetTextFieldName(FormsManager formManager, FormDescription form) { var textFieldControlData = form.Controls.Where(c => c.PlaceHolder == "Body" && c.IsLayoutControl == false).FirstOrDefault(); var mvcfieldProxy = formManager.LoadControl(textFieldControlData) as MvcWidgetProxy; var textField = mvcfieldProxy.Controller as TextFieldController; Assert.IsNotNull(textField, "The text field was not found."); var textFieldName = textField.MetaField.FieldName; return textFieldName; }
/// <summary> /// Determines whether a form is valid or not. /// </summary> /// <param name="form">The form.</param> /// <param name="collection">The collection.</param> /// <param name="manager">The manager.</param> /// <returns>true if form is valid, false otherwise.</returns> protected virtual bool IsValidForm(FormDescription form, FormCollection collection, HttpFileCollectionBase files, FormsManager manager, out Dictionary <IFormFieldController <IFormFieldModel>, bool> fieldControls) { fieldControls = new Dictionary <IFormFieldController <IFormFieldModel>, bool>(); this.captchaController = null; this.ResetInvalidInputMessage(); this.SanitizeFormCollection(collection); var behaviorResolver = ObjectFactory.Resolve <IControlBehaviorResolver>(); var skipFields = this.SplitCsv(this.GetFormCollectionItemValue(collection, FormSkipFieldsInputName)); var hiddenFields = this.SplitCsv(this.GetFormCollectionItemValue(collection, FormHiddenFieldsInputName)); foreach (var control in form.Controls) { if (control.IsLayoutControl) { continue; } Type controlType; if (control.ObjectType.StartsWith("~/")) { controlType = FormsManager.GetControlType(control); } else { controlType = TypeResolutionService.ResolveType(behaviorResolver.GetBehaviorObjectType(control), true); } if (!controlType.ImplementsGenericInterface(typeof(IFormElementController <>))) { continue; } var controlInstance = manager.LoadControl(control); var controlBehaviorObject = behaviorResolver.GetBehaviorObject(controlInstance); var formField = controlBehaviorObject as IFormFieldController <IFormFieldModel>; if (formField != null) { if (!this.RaiseFormFieldValidatingEvent(formField)) { return(false); } var fieldName = formField.MetaField.FieldName; IList <HttpPostedFileBase> multipleFiles = files != null?files.GetMultiple(fieldName) : null; object fieldValue; if (multipleFiles != null && multipleFiles.Count() > 0) { fieldValue = multipleFiles; } else if (collection.Keys.Contains(fieldName)) { collection[fieldName] = collection[fieldName] ?? string.Empty; fieldValue = collection[fieldName]; } else { fieldValue = null; } var hideableModel = formField.Model as IHideable; var canSaveField = hideableModel != null?this.CanSaveField(hiddenFields, skipFields, controlInstance.ID, form.Rules, hideableModel.Hidden) : true; fieldControls.Add(formField, canSaveField); if (canSaveField && !formField.Model.IsValid(fieldValue)) { this.SetFormFieldInvalidInputMessage(formField); return(false); } } else { var formElement = (IFormElementController <IFormElementModel>)controlBehaviorObject; if (!formElement.IsValid()) { this.SetFormElementInvalidInputMessage(formElement); return(false); } if (formElement is Controllers.CaptchaController formElementController) { this.captchaController = formElementController; } } } return(true); }
protected void LoadFormControls(FormDescription form, FormCollection collection, HttpFileCollectionBase files, FormsManager manager, out Dictionary <string, IFormFieldController <IFormFieldModel> > formFields, out List <IFormElementController <IFormElementModel> > formElements) { formFields = new Dictionary <string, IFormFieldController <IFormFieldModel> >(); formElements = new List <IFormElementController <IFormElementModel> >(); this.SanitizeFormCollection(collection); var behaviorResolver = ObjectFactory.Resolve <IControlBehaviorResolver>(); var skipFields = this.SplitCsv(this.GetFormCollectionItemValue(collection, FormSkipFieldsInputName)); var hiddenFields = this.SplitCsv(this.GetFormCollectionItemValue(collection, FormHiddenFieldsInputName)); foreach (var control in form.Controls) { if (control.IsLayoutControl) { continue; } Type controlType; if (control.ObjectType.StartsWith("~/")) { controlType = FormsManager.GetControlType(control); } else { controlType = TypeResolutionService.ResolveType(behaviorResolver.GetBehaviorObjectType(control), true); } if (!controlType.ImplementsGenericInterface(typeof(IFormElementController <>))) { continue; } var controlInstance = manager.LoadControl(control); var controlBehaviorObject = behaviorResolver.GetBehaviorObject(controlInstance); var formField = controlBehaviorObject as IFormFieldController <IFormFieldModel>; if (formField != null) { formFields.Add(controlInstance.ID, formField); } else { var formElement = (IFormElementController <IFormElementModel>)controlBehaviorObject; formElements.Add(formElement); } } }
private void showHelpMenuItemClick(object sender, EventArgs e) { FormsManager.ShowHelpForm(); }
/// <summary> /// Determines whether a form is valid or not. /// </summary> /// <param name="form">The form.</param> /// <param name="collection">The collection.</param> /// <param name="manager">The manager.</param> /// <returns>true if form is valid, false otherwise.</returns> protected virtual bool IsValidForm(FormDescription form, FormCollection collection, HttpFileCollectionBase files, FormsManager manager) { this.SanitizeFormCollection(collection); var behaviorResolver = ObjectFactory.Resolve<IControlBehaviorResolver>(); foreach (var control in form.Controls) { if (control.IsLayoutControl) continue; Type controlType; if (control.ObjectType.StartsWith("~/")) controlType = FormsManager.GetControlType(control); else controlType = TypeResolutionService.ResolveType(behaviorResolver.GetBehaviorObjectType(control), true); if (!controlType.ImplementsGenericInterface(typeof(IFormElementController<>))) continue; var controlInstance = manager.LoadControl(control); var controlBehaviorObject = behaviorResolver.GetBehaviorObject(controlInstance); if (controlBehaviorObject is IFormFieldController<IFormFieldModel>) { var formField = (IFormFieldController<IFormFieldModel>)controlBehaviorObject; var multipleFiles = files.GetMultiple(formField.MetaField.FieldName); object fieldValue; if (multipleFiles != null && multipleFiles.Count() > 0) { fieldValue = (object)multipleFiles; } else { collection[formField.MetaField.FieldName] = collection[formField.MetaField.FieldName] ?? string.Empty; fieldValue = (object)collection[formField.MetaField.FieldName]; } if (!formField.Model.IsValid(fieldValue)) return false; } else { var formElement = (IFormElementController<IFormElementModel>)controlBehaviorObject; if (!formElement.IsValid()) return false; } } return true; }
private void AppendFormControlsToPlaceholder(string formName, IList <Control> formControls, FormsManager formManager, FormDraft master, string containerId) { if (formControls != null && formControls.Any()) { Guid siblingId = Guid.Empty; int controlsCounter = 0; foreach (var control in formControls) { controlsCounter++; control.ID = string.Format(CultureInfo.InvariantCulture, formName + "_" + containerId + "_C" + controlsCounter.ToString(CultureInfo.InvariantCulture).PadLeft(3, '0')); var formControl = formManager.CreateControl <FormDraftControl>(control, containerId); formControl.SiblingId = siblingId; formControl.Caption = ObjectFactory.Resolve <IControlBehaviorResolver>().GetBehaviorObject(control).GetType().Name; siblingId = formControl.Id; master.Controls.Add(formControl); formControl.SetPersistanceStrategy(); } } }