public SelectedGuidItem(Guid id, string code, string name, SelectedGuidItemType type) { ID = id; Code = code; Name = name; Type = type; }
public static bool set_element_value(string value, ref FormElement element) { if (string.IsNullOrEmpty(value)) { value = string.Empty; } FormElementTypes type = element.Type.HasValue ? element.Type.Value : FormElementTypes.Text; switch (type) { case FormElementTypes.Text: case FormElementTypes.Select: case FormElementTypes.Checkbox: element.TextValue = value; return(!string.IsNullOrEmpty(element.TextValue)); case FormElementTypes.Binary: element.BitValue = value.ToLower() == "true"; return(true); case FormElementTypes.Date: if (value.ToLower() == "now") { element.DateValue = DateTime.Now; } else { DateTime dt = new DateTime(); if (DateTime.TryParse(value, out dt)) { element.DateValue = dt; } } return(element.DateValue.HasValue); case FormElementTypes.Node: case FormElementTypes.User: SelectedGuidItemType tp = type == FormElementTypes.Node ? SelectedGuidItemType.Node : SelectedGuidItemType.User; Guid id = Guid.Empty; if (Guid.TryParse(value, out id) && id != Guid.Empty) { element.GuidItems.Add(new SelectedGuidItem(id, string.Empty, string.Empty, tp)); } return(id != Guid.Empty); case FormElementTypes.Numeric: float flt = 0; if (float.TryParse(value, out flt)) { element.FloatValue = flt; } return(element.FloatValue.HasValue); } return(false); }
public static List <FormElement> get_form_elements(string strElements, bool formDesignMode = false) { try { List <FormElement> retList = new List <FormElement>(); if (string.IsNullOrEmpty(strElements)) { return(retList); } Dictionary <string, object> dic = PublicMethods.fromJSON(Base64.decode(strElements)); if (!dic.ContainsKey("Elements") || dic["Elements"].GetType() != typeof(ArrayList)) { return(retList); } foreach (Dictionary <string, object> elem in (ArrayList)dic["Elements"]) { FormElement newElement = new FormElement() { ElementID = PublicMethods.parse_guid(PublicMethods.get_dic_value(elem, "ElementID")), RefElementID = PublicMethods.parse_guid(PublicMethods.get_dic_value(elem, "RefElementID")), FormInstanceID = PublicMethods.parse_guid(PublicMethods.get_dic_value(elem, "InstanceID")), Title = PublicMethods.parse_string(PublicMethods.get_dic_value(elem, "Title"), defaultValue: null), Name = formDesignMode ? Base64.decode(PublicMethods.get_dic_value(elem, "Name", defaultValue: null)) : PublicMethods.get_dic_value(elem, "Name", defaultValue: null), Filled = PublicMethods.parse_bool(PublicMethods.get_dic_value(elem, "Filled"), defaultValue: false), SequenceNumber = PublicMethods.parse_int(PublicMethods.get_dic_value(elem, "SequenceNumber"), defaultValue: -1), Necessary = PublicMethods.parse_bool(PublicMethods.get_dic_value(elem, "Necessary")), UniqueValue = PublicMethods.parse_bool(PublicMethods.get_dic_value(elem, "UniqueValue")), Help = PublicMethods.parse_string(PublicMethods.get_dic_value(elem, "Help"), defaultValue: null), Info = PublicMethods.parse_string(PublicMethods.get_dic_value(elem, "Info"), defaultValue: null), Weight = PublicMethods.parse_double(PublicMethods.get_dic_value(elem, "Weight")), TextValue = PublicMethods.parse_string(PublicMethods.get_dic_value(elem, "TextValue"), defaultValue: null), FloatValue = PublicMethods.parse_double(PublicMethods.get_dic_value(elem, "FloatValue")), BitValue = PublicMethods.parse_bool(PublicMethods.get_dic_value(elem, "BitValue")), DateValue = PublicMethods.parse_date(PublicMethods.get_dic_value(elem, "DateValue")), AttachedFiles = DocumentUtilities.get_files_info(PublicMethods.get_dic_value(elem, "Files")) }; if (newElement.Type == FormElementTypes.Separator) { newElement.Necessary = null; } if (newElement.Type != FormElementTypes.Text && newElement.Type != FormElementTypes.Numeric) { newElement.UniqueValue = null; } FormElementTypes fet = FormElementTypes.Text; if (Enum.TryParse <FormElementTypes>(PublicMethods.get_dic_value(elem, "Type"), out fet)) { newElement.Type = fet; } if (elem.ContainsKey("GuidItems") && elem["GuidItems"] != null && elem["GuidItems"].GetType() == typeof(ArrayList)) { SelectedGuidItemType tp = SelectedGuidItemType.None; if (newElement.Type == FormElementTypes.Node) { tp = SelectedGuidItemType.Node; } else if (newElement.Type == FormElementTypes.User) { tp = SelectedGuidItemType.User; } foreach (Dictionary <string, object> d in (ArrayList)elem["GuidItems"]) { newElement.GuidItems.Add(new SelectedGuidItem(Guid.Parse((string)d["ID"]), code: string.Empty, name: Base64.decode((string)d["Name"]), type: tp)); } } if (newElement.ElementID.HasValue && !formDesignMode && (!newElement.Filled.HasValue || !newElement.Filled.Value)) { newElement.RefElementID = newElement.ElementID; newElement.ElementID = Guid.NewGuid(); } if (newElement.AttachedFiles != null) { for (var i = 0; i < newElement.AttachedFiles.Count; ++i) { newElement.AttachedFiles[i].OwnerID = newElement.ElementID; newElement.AttachedFiles[i].OwnerType = FileOwnerTypes.FormElement; } } retList.Add(newElement); } return(retList); } catch { return(new List <FormElement>()); } }
public SelectedGuidItem() { Type = SelectedGuidItemType.None; }