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; }
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); }
private static void ApiCollectionSaveMapper(ApiCollection apiCollection, DbApiItem dbApiItem) { ApiItemSaveMapper(apiCollection, dbApiItem); dbApiItem.Type = ApiItemType.Collection; }
private static void ApiItemSaveMapper(ApiItem apiItem, DbApiItem dbApiItem) { dbApiItem.Created = apiItem.Created; dbApiItem.Title = apiItem.Title; }