private object processNode(XmlNode node)
        {
            switch (node.A("type"))
            {
            case "hidden":
                return(createInputHidden(node));

            case "text":
                return(createInputText(node));

            case "dropdown":
                return(createInputDropDown(node));

            case "radio":
                return(createInputGeneric(node));

            case "checkbox":
                return(createInputCheckbox(node));

            case "textarea":
                return(createInputTextArea(node));

            default:
                return(new { type = "unknown" });
            }
        }
 private object createInputGeneric(XmlNode x)
 {
     if (x.E("validation") != "")
     {
         addValidationEvent(x.E("name"), x.E("validation"));
     }
     return(new { type = x.A("type"), label = x.E("label"), name = x.E("name"), value = x.E("value"), required = x.E("required"), selected = x.E("checked") });
 }
        private object processHidingGroup(XmlNode container)
        {
            XmlNode conditionsNode = container.SelectSingleNode("conditions");

            string targetCssClass = "hg_" + ShortGuidGenerator.NewGuid();

            List <object> rules = new List <object>();

            if (conditionsNode != null)
            {
                XmlNode ruleNode = conditionsNode.SelectSingleNode("rule");

                if (ruleNode != null)
                {
                    string hidingrule = ruleNode.InnerText;

                    string controlname = "";
                    string oper        = "";
                    string value       = "";

                    if (hidingrule.Contains("!="))
                    {
                        oper = "!=";
                        string[] tokens = hidingrule.Split(oper.ToCharArray());
                        controlname = tokens[0];
                        value       = tokens[2];
                    }
                    else
                    {
                        oper = "=";
                        string[] tokens = hidingrule.Split(oper.ToCharArray());
                        controlname = tokens[0];
                        value       = tokens[1];
                        oper        = "==";
                        if (value.Contains("||"))
                        {
                            oper = "in";
                        }
                    }

                    addControlEvent(controlname, oper, value, targetCssClass, "show", "hide");
                }
            }


            return(new { type = "hiding", label = container.A("label"), cssclass = targetCssClass, fields = ProcessInputsContainer(container).ToArray() });
        }
 private object processFieldGroup(XmlNode container)
 {
     return(new { type = "fieldgroup", label = container.A("label"), fields = ProcessInputsContainer(container).ToArray() });
 }
        public List <SchoolProgramResult> ParseSchools(XmlDocument xmldoc)
        {
            XmlNodeList items = xmldoc.GetElementsByTagName("capsule");

            int cnt = 0;
            List <SchoolProgramResult> programs = new List <SchoolProgramResult>();

            foreach (XmlNode node in items)
            {
                cnt++;

                string clientid = node.A("client_id");
                string formid   = node.A("id");

                //string formjson = getSchoolForm(clientid, formid);
                //JObject formobject = JObject.Parse(formjson);
                //string filters = FiltersAsString(formobject);

                XmlNodeList programnodes = node.SelectNodes("program");

                XmlNode campus = node.SelectSingleNode("campus");

                foreach (XmlNode programnode in programnodes)
                {
                    programs.Add(new SchoolProgramResult {
                        ClientId         = node.A("client_id"),
                        ClientSetId      = node.A("clientset_id"),
                        FormId           = node.A("id"),
                        FormName         = node.E("form_name"),
                        FrontEndName     = node.E("client_frontendname"),
                        City             = node.E("city"),
                        State            = node.E("state"),
                        Distance         = node.E("distance"),
                        Payout           = node.E("payout"),
                        CampusId         = campus.A("id"),
                        CampusType       = campus.A("type"),
                        CampusName       = campus.InnerText,
                        ProgramId        = programnode.A("id"),
                        ProgramType      = programnode.A("program_type"),
                        ProgramTypeName  = programnode.A("program_type_name"),
                        ProgramIsPrimary = programnode.A("is_primary"),
                        ProgramName      = programnode.InnerText
                                           //Filters = filters
                    });

                    //programitems.Add(new { id = programnode.A("id"), type = programnode.A("program_type"), typename = programnode.A("program_type_name"), isprimary = programnode.A("is_primary"), name = programnode.InnerText });
                }

                /*
                 *  schools.Add(new
                 *  {
                 *      formname = formname,
                 *      clientfrontendname = clientfrontendname,
                 *      formdescription = formdescription,
                 *      city = city,
                 *      state = state,
                 *      image = imageurl,
                 *      clientid = clientid,
                 *      program = kv.Key,
                 *      formid = formid,
                 *      distance = distance,
                 *      campustype = campustype,
                 *      campuskey = campuskey,
                 *      programs = programitems.ToArray(),
                 *      programkey = programkey
                 *  });
                 * */
                //}
            }

            return(programs);
        }