Example #1
0
        /// <summary>
        /// サイト定義形式に変換
        /// </summary>
        /// <param name="src"></param>
        /// <returns></returns>
        public IEnumerable <InterfaceDefinition> Convert(ExportJsonDefinition.Rootobject src)
        {
            IEnumerable <InterfaceDefinition> r = src.Sites.Select(x =>
            {
                if (null == x.SiteSettings)
                {
                    return(null);
                }
                if (null == x.SiteSettings.Columns)
                {
                    return(null);
                }

                return(x.SiteSettings.Columns.Select(e =>
                {
                    return new InterfaceDefinition
                    {
                        SiteId = x.SiteId,
                        Title = x.Title,
                        ColumnName = e.ColumnName,
                        LabelText = e.LabelText,
                        Description = e.Description,
                        ValidateRequired = e.ValidateRequired,
                        ChoicesText = e.ChoicesText
                    };
                }));
            })
                                                  .Where(e => null != e)
                                                  .SelectMany(e => e)
                                                  .Where(e => null != e);

            // ChoicesTextに関しては、
            // CSV形式ではないデータが入っている。
            // そこで、一度CSV形式として変換可能な形式に変換する

            // データフォーマット変更時に準拠した形に変換する
            r = ChoicesTextAdjustment(r);

            // データの区切が分かりにくいので、
            // 区切り部分で空文字の行を入れる
            {
                var x  = r.GroupBy(e => e.SiteId).OrderBy(x => x.Key);
                var rl = new List <InterfaceDefinition>();
                foreach (var e in x)
                {
                    rl.AddRange(e.OrderBy(w => w.ColumnName));
                    rl.Add(new InterfaceDefinition());
                }
                return(rl);
            }
        }
Example #2
0
 /// <summary>
 /// サイト定義形式に変換
 /// </summary>
 /// <param name="src"></param>
 /// <returns></returns>
 public IEnumerable <SiteDefinition> Convert(ExportJsonDefinition.Rootobject src)
 {
     return(src.Sites.Select(x =>
     {
         return new SiteDefinition
         {
             SiteId = x.SiteId,
             Title = x.Title
         };
     })
            .GroupBy(e => e.SiteId)
            .Select(e => e.FirstOrDefault())
            .Where(e => e != null)
            .OrderBy(e => e.SiteId));
 }