Beispiel #1
0
        public virtual void XSDFromDataSetMap(HttpContext context)
        {
            YZRequest request  = new YZRequest(context);
            string    filename = request.GetString("fileName", "schema.xsd");

            JObject        jTables = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(request.GetString("map", null))));
            JsonSerializer serial  = new JsonSerializer();

            serial.Converters.Add(new FlowDataSetConverter("TableName,MapTo", "ColumnName,DataType,MapTo"));

            FlowDataSet map = jTables.ToObject <FlowDataSet>(serial);

            foreach (FlowDataTable table in map.Tables)
            {
                if (!String.IsNullOrEmpty(table.MapTo))
                {
                    table.TableName = table.MapTo;
                }

                foreach (FlowDataColumn column in table.Columns)
                {
                    if (!String.IsNullOrEmpty(column.MapTo))
                    {
                        column.ColumnName = column.MapTo;
                    }
                }
            }

            this.ProcessResponseHeader(context, filename, true);
            map.ToDataSet().WriteXmlSchema(context.Response.OutputStream);
        }