コード例 #1
0
ファイル: DbRepository.cs プロジェクト: kswoll/restless
 private static void ApiSaveMapper(Api api, DbApiItem dbApi)
 {
     ApiItemSaveMapper(api, dbApi);
     dbApi.Type        = ApiItemType.Api;
     dbApi.Url         = api.Url;
     dbApi.Method      = api.Method;
     dbApi.RequestBody = api.Body;
 }
コード例 #2
0
ファイル: DbRepository.cs プロジェクト: kswoll/restless
        private DbApiItem MapItemToDb(ApiItem apiItem)
        {
            var dbApiItem = new DbApiItem
            {
                Headers = new List <DbApiHeader>(),
                Inputs  = new List <DbApiInput>(),
                Outputs = new List <DbApiOutput>(),
                Items   = new List <DbApiItem>()
            };

            Bind(apiItem, dbApiItem);

            MapScalarsToDb(apiItem, dbApiItem);
            if (apiItem is Api api)
            {
                MapChildrenToDb(api.Inputs, dbApiItem.Inputs);
                MapChildrenToDb(api.Outputs, dbApiItem.Outputs);
                MapChildrenToDb(api.Headers, dbApiItem.Headers);
            }
            else
            {
                var apiCollection = (ApiCollection)apiItem;
                dbApiItem.Type = ApiItemType.Collection;
                if (apiCollection.Items != null)
                {
                    foreach (var childApiItem in apiCollection.Items)
                    {
                        var childDbItem = MapItemToDb(childApiItem);
                        childDbItem.ObservePropertyChange(x => x.Id).SubscribeOnce(x =>
                        {
                            childApiItem.Id = x;
                            itemsById.Add(x, childApiItem);
                        });
                        dbApiItem.Items.Add(childDbItem);
                    }
                }
            }
            return(dbApiItem);
        }
コード例 #3
0
ファイル: DbRepository.cs プロジェクト: kswoll/restless
 private static void ApiCollectionSaveMapper(ApiCollection apiCollection, DbApiItem dbApiItem)
 {
     ApiItemSaveMapper(apiCollection, dbApiItem);
     dbApiItem.Type = ApiItemType.Collection;
 }
コード例 #4
0
ファイル: DbRepository.cs プロジェクト: kswoll/restless
 private static void ApiItemSaveMapper(ApiItem apiItem, DbApiItem dbApiItem)
 {
     dbApiItem.Created = apiItem.Created;
     dbApiItem.Title   = apiItem.Title;
 }