示例#1
0
 public void WriteXml(APIWriter w)
 {
     w.Start("Size")
     .Add("Description", Description)
     .Add("SmallGroup", SmallGroup)
     .End();
 }
示例#2
0
        public void WriteXml(XmlWriter writer)
        {
            var w = new APIWriter(writer);

            writer.WriteComment(DateTime.Now.ToString());
            foreach (PropertyInfo pi in typeof(OnlineRegModel).GetProperties(BindingFlags.Public | BindingFlags.Instance)
                     .Where(vv => vv.CanRead && vv.CanWrite))
            {
                Debug.WriteLine(pi.Name);
                switch (pi.Name)
                {
                case "List":
                    w.Start("List");
                    foreach (var i in list)
                    {
                        Util.Serialize(i, writer);
                    }
                    w.End();
                    break;

                case "password":
                    break;

                default:
                    w.Add(pi.Name, pi.GetValue(this, null));
                    break;
                }
            }
        }
示例#3
0
        public ActionResult Lookups(string id)
        {
            var ret = AuthenticateDeveloper();

            if (ret.StartsWith("!"))
            {
                return(Content($"<Lookups error=\"{ret.Substring(1)}\" />"));
            }
            if (!id.HasValue())
            {
                return(Content("Lookups error=\"not found\">"));
            }
            var q = DbUtil.Db.ExecuteQuery <LookupController.Row>("select * from lookup." + id);
            var w = new APIWriter();

            w.Start("Lookups");
            w.Attr("name", id);
            foreach (var i in q)
            {
                w.Start("Lookup");
                w.Attr("Id", i.Id);
                w.AddText(i.Description);
                w.End();
            }
            w.End();
            DbUtil.LogActivity("APIMeta Lookups");
            return(Content(w.ToString(), "text/xml"));
        }
示例#4
0
 public void WriteXml(APIWriter w)
 {
     w.Start("GradeOption")
     .Attr("Code", Code)
     .AddText(Description)
     .End();
 }
示例#5
0
 public void WriteXml(APIWriter w)
 {
     w.Start("YesNoQuestion")
     .Add("Question", Question ?? "need a question here")
     .Add("SmallGroup", SmallGroup)
     .End();
 }
示例#6
0
 public void WriteXml(APIWriter w)
 {
     w.Start("OrganizationDocument")
     .Add("DocumentName", DocumentName ?? "document name here")
     .Add("Required", Required == true ? "true" : "false")
     .End();
 }
示例#7
0
 public override void WriteXml(APIWriter w)
 {
     if (!Label.HasValue())
     {
         Label = "Instruction";
     }
     w.AddCdata(Type, Label);
 }
示例#8
0
 public override void WriteXml(APIWriter w)
 {
     if (!Label.HasValue())
     {
         Label = "Header";
     }
     w.AddCdata(Type, Label);
 }
示例#9
0
 public override void WriteXml(APIWriter w)
 {
     if (!Label.HasValue())
     {
         Label = "Request";
     }
     w.Add("AskRequest", Label);
 }
示例#10
0
 public void WriteXml(APIWriter w)
 {
     w.Start("CheckboxItem")
     .Attr("Fee", Fee)
     .Attr("Limit", Limit)
     .Attr("Time", MeetingTime.ToString2("s"))
     .Add("Description", Description)
     .Add("SmallGroup", SmallGroup.trim())
     .End();
 }
示例#11
0
 private bool WriteCheckboxChoices(bool checkoxesAdded, APIWriter w)
 {
     if (Checkbox != null && Checkbox.Count > 0 && !checkoxesAdded)
     {
         foreach (var c in Checkbox)
         {
             w.Add("Checkbox", c);
         }
     }
     checkoxesAdded = true;
     return(checkoxesAdded);
 }
示例#12
0
 private bool WriteDropdownOptions(bool optionsAdded, APIWriter w)
 {
     if (option != null && option.Count > 0 && !optionsAdded)
     {
         foreach (var o in option)
         {
             w.Add("option", o);
         }
     }
     optionsAdded = true;
     return(optionsAdded);
 }
示例#13
0
 private void WriteSpecialTest(APIWriter w)
 {
     if (SpecialTest != null)
     {
         foreach (var d in SpecialTest)
         {
             w.Start("SpecialTest");
             w.Attr("key", d.Key);
             w.AddText(d.Value);
             w.End();
         }
     }
 }
示例#14
0
 private void WriteYesNoChoices(APIWriter w)
 {
     if (YesNoQuestion != null && YesNoQuestion.Count > 0)
     {
         foreach (var q in YesNoQuestion)
         {
             w.Start("YesNoQuestion");
             w.Attr("question", q.Key);
             w.AddText(q.Value.ToString());
             w.End();
         }
     }
 }
示例#15
0
 private void WriteDocumentsUpload(APIWriter w)
 {
     if (OrganizationDocument != null && OrganizationDocument.Count > 0)
     {
         foreach (var q in OrganizationDocument)
         {
             w.Start("Documents");
             w.Attr("documentName", q.Key);
             w.AddText(q.Value.ToString());
             w.End();
         }
     }
 }
示例#16
0
文件: AskText.cs 项目: thewruck/bvcms
 public override void WriteXml(APIWriter w)
 {
     if (list.Count == 0)
     {
         return;
     }
     w.Start(Type);
     foreach (var q in list)
     {
         w.Add("Question", q.Question);
     }
     w.End();
 }
示例#17
0
 public override void WriteXml(APIWriter w)
 {
     if (list.Count == 0)
     {
         return;
     }
     w.Start(Type);
     foreach (var q in list)
     {
         q.WriteXml(w);
     }
     w.End();
 }
示例#18
0
 private void WriteFundItems(APIWriter w)
 {
     if (FundItem != null && FundItem.Count > 0)
     {
         foreach (var f in FundItem.Where(ff => ff.Value > 0))
         {
             w.Start("FundItem");
             w.Attr("fund", f.Key);
             w.AddText(f.Value.Value.ToString());
             w.End();
         }
     }
 }
示例#19
0
        public void WriteXml(XmlWriter writer)
        {
            var w = new APIWriter(writer);

            writer.WriteComment(DateTime.Now.ToString());
            foreach (var pi in typeof(OnlineRegModel).GetProperties(BindingFlags.Public | BindingFlags.Instance)
                     .Where(vv => vv.CanRead && vv.CanWrite))
            {
                switch (pi.Name)
                {
                case "List":
                    w.Start("List");
                    foreach (var i in list)
                    {
                        Util.Serialize(i, writer);
                    }
                    w.End();
                    break;

                case "History":
                    w.Start("History");
                    foreach (var i in History)
                    {
                        w.Add("item", i);
                    }
                    w.End();
                    break;

                case "password":
                    break;

                case "testing":
                    if (testing == true)
                    {
                        w.Add(pi.Name, testing);
                    }
                    break;

                case "prospect":
                    if (prospect)
                    {
                        w.Add(pi.Name, prospect);
                    }
                    break;

                default:
                    w.Add(pi.Name, pi.GetValue(this, null));
                    break;
                }
            }
        }
示例#20
0
 public override void WriteXml(APIWriter w)
 {
     if (list.Count == 0)
     {
         return;
     }
     w.Start(Type)
     .AttrIfTrue("TargetExtraValue", TargetExtraValue);
     foreach (var q in list)
     {
         q.WriteXml(w);
     }
     w.End();
 }
示例#21
0
 public override void WriteXml(APIWriter w)
 {
     if (list.Count == 0)
     {
         return;
     }
     w.Start(Type);
     w.Add("Label", Label);
     foreach (var g in list)
     {
         g.WriteXml(w);
     }
     w.End();
 }
示例#22
0
 public void WriteXml(APIWriter w)
 {
     w.StartPending("TimeSlots");
     w.Attr("LockDays", TimeSlotLockDays);
     foreach (var c in list)
     {
         w.Start("Slot")
         .Attr("Time", c.Time.ToString2("t"))
         .Attr("DayOfWeek", c.DayOfWeek)
         .Attr("Limit", c.Limit)
         .AddText(c.Description)
         .End();
     }
     w.EndPending();
 }
示例#23
0
 public override void WriteXml(APIWriter w)
 {
     if (list.Count == 0)
     {
         return;
     }
     w.Start(Type)
     .Attr("Fee", Fee)
     .Attr("AllowLastYear", AllowLastYear)
     .Add("Label", Label ?? "Size");
     foreach (var g in list)
     {
         g.WriteXml(w);
     }
     w.End();
 }
示例#24
0
 private void WriteFamilyAttend(APIWriter w)
 {
     if (FamilyAttend != null && FamilyAttend.Count > 0)
     {
         foreach (var f in FamilyAttend)
         {
             w.Start("FamilyAttend");
             w.Attr("PeopleId", f.PeopleId);
             w.Attr("Name", f.Name);
             w.Attr("Attend", f.Attend);
             w.Attr("Birthday", f.Birthday);
             w.Attr("GenderId", f.GenderId);
             w.Attr("MaritalId", f.MaritalId);
             w.End();
         }
     }
 }
示例#25
0
        public ActionResult SQLView(string id)
        {
            var ret = AuthenticateDeveloper();

            if (ret.StartsWith("!"))
            {
                return(Content($"<SQLView error=\"{ret.Substring(1)}\" />"));
            }

            if (!id.HasValue())
            {
                return(Content("<SQLView error\"no view name\" />"));
            }

            try
            {
                var cmd = new SqlCommand("select * from guest." + id.Replace(" ", ""));
                cmd.Connection = new SqlConnection(Util.ConnectionString);
                cmd.Connection.Open();
                var rdr = cmd.ExecuteReader();
                DbUtil.LogActivity("APIMeta SQLView " + id);
                var w = new APIWriter();
                w.Start("SQLView");
                w.Attr("name", id);

                var read = rdr.Read();
                while (read)
                {
                    w.Start("row");
                    for (var i = 0; i < rdr.FieldCount; i++)
                    {
                        w.Attr(rdr.GetName(i), rdr[i].ToString());
                    }

                    w.End();
                    read = rdr.Read();
                }
                w.End();
                return(Content(w.ToString(), "text/xml"));
            }
            catch (Exception)
            {
                return(Content($"<SQLView error=\"cannot find view guest.{id}\" />"));
            }
        }
示例#26
0
        public string WriteXml()
        {
            var optionsAdded   = false;
            var checkoxesAdded = false;
            var w = new APIWriter();

            w.Start("OnlineRegPersonModel");

            foreach (PropertyInfo pi in typeof(OnlineRegPersonModel0).GetProperties(BindingFlags.Public | BindingFlags.Instance)
                     .Where(vv => vv.CanRead && vv.CanWrite))
            {
                switch (pi.Name)
                {
                case "ExtraQuestion":
                    WriteExtraAnswers(w);
                    break;

                case "Text":
                    WriteText(w);
                    break;

                case "YesNoQuestion":
                    WriteYesNoChoices(w);
                    break;

                case "option":
                    optionsAdded = WriteDropdownOptions(optionsAdded, w);
                    break;

                case "Checkbox":
                    checkoxesAdded = WriteCheckboxChoices(checkoxesAdded, w);
                    break;

                case "MenuItem":
                    WriteMenuChoices(w);
                    break;

                default:
                    w.Add(pi.Name, pi.GetValue(this, null));
                    break;
                }
            }
            w.End();
            return(w.ToString());
        }
示例#27
0
        public string Export(int id, string name)
        {
            var clause = Db.LoadQueryById(id);
            var w      = new APIWriter();

            w.Start("Search");
            w.Attr("Description", name);

            //var settings = new XmlWriterSettings();
            //settings.Encoding = new System.Text.UTF8Encoding(false);
            //using (w = XmlWriter.Create(context.HttpContext.Response.OutputStream, settings))
            //{
            //    w.WriteStartElement("Search");
            //    WriteClause(clause);
            //    w.WriteEndElement();
            //}
            return("");
        }
示例#28
0
 public override void WriteXml(APIWriter w)
 {
     if (list.Count == 0)
     {
         return;
     }
     w.Start(Type)
     .Attr("Minimum", Minimum)
     .Attr("Maximum", Maximum)
     .Attr("Columns", Columns == 1 ? null : Columns)
     .AddCdata("Label", Label);
     foreach (var i in list)
     {
         i.WriteXml(w);
     }
     // todo: prevent duplicates
     w.End();
 }
示例#29
0
 private void WriteExtraAnswers(APIWriter w)
 {
     if (ExtraQuestion != null)
     {
         for (var i = 0; i < ExtraQuestion.Count; i++)
         {
             if (ExtraQuestion[i] != null && ExtraQuestion[i].Count > 0)
             {
                 foreach (var q in ExtraQuestion[i])
                 {
                     w.Start("ExtraQuestion");
                     w.Attr("set", i);
                     w.Attr("question", q.Key);
                     w.AddText(q.Value);
                     w.End();
                 }
             }
         }
     }
 }
示例#30
0
 private void WriteText(APIWriter w)
 {
     if (Text != null)
     {
         for (var i = 0; i < Text.Count; i++)
         {
             if (Text[i] != null && Text[i].Count > 0)
             {
                 foreach (var q in Text[i])
                 {
                     w.Start("Text");
                     w.Attr("set", i);
                     w.Attr("question", q.Key);
                     w.AddText(q.Value);
                     w.End();
                 }
             }
         }
     }
 }