//public string GetDefaultContent(string path) //{ // string viewPath = DEFAULT_VIEW_PATH + path; // var fileContents = VirtualPathProviderHelper.Load(viewPath); // return fileContents; //} public ThemeAsset Find(List <string> assetKeys) { var store = new StoreService().GetStore(); ThemeAsset asset = null; var request = new RestRequest("/themes/{themeId}/assets/find", Method.GET); request.AddUrlSegment("themeId", store.ActiveThemeId.ToString()); if (assetKeys != null) { request.AddParameter("keys", string.Join(",", assetKeys)); } var response = ApiClient.Execute <ThemeAssetResponse>(request); switch (response.StatusCode) { case HttpStatusCode.OK: asset = response.Data.Asset; break; } return(asset); }
public IHttpActionResult SaveItem(ThemeAsset asset, string storeId, string themeId) { base.CheckCurrentUserHasPermissionForObjects(ContentPredefinedPermissions.Update, new ContentScopeObject { StoreId = storeId }); var data = asset.ByteContent; if (!string.IsNullOrEmpty(asset.AssetUrl)) { using (var webClient = new WebClient()) { data = webClient.DownloadData(asset.AssetUrl); } } else if (data == null) { data = Encoding.UTF8.GetBytes(asset.Content); } using (var stream = _contentStorageProvider.OpenWrite("/Themes/" + storeId + "/" + themeId + "/" + asset.Id)) using (var memStream = new MemoryStream(data)) { memStream.CopyTo(stream); } return(this.Ok()); }
public static ThemeAsset AsWebModel(this Data.ThemeAsset asset) { var ret = new ThemeAsset(); ret.InjectFrom(asset); return(ret); }
public static SyncAsset ToSyncModel(this ThemeAsset item) { var retVal = new SyncAsset(); retVal.InjectFrom(item); return(retVal); }
public static ContentItem AsContentItem(this ThemeAsset asset) { var retVal = new ContentItem { Path = asset.Id, ByteContent = asset.ByteContent, ContentType = asset.ContentType, Name = Path.GetFileName(asset.AssetName) }; return(retVal); }
public static ThemeAsset AsThemeAsset(this ContentItem item) { var retVal = new ThemeAsset { Id = item.Path, ByteContent = item.ByteContent, ContentType = item.ContentType, Updated = item.ModifiedDate.HasValue ? RemoveMilliseconds(item.ModifiedDate.Value) : RemoveMilliseconds(item.CreatedDate) }; return(retVal); }
public static ThemeAsset AsThemeAsset(this ContentItem item) { var retVal = new ThemeAsset { Id = item.Path, ByteContent = item.ByteContent, ContentType = item.ContentType, Updated = item.ModifiedDate.HasValue ? item.ModifiedDate.Value : item.CreatedDate }; return(retVal); }
public IHttpActionResult SaveItem(ThemeAsset asset, string storeId, string themeId) { if (!string.IsNullOrEmpty(asset.AssetUrl)) { var filePath = string.Format("{0}{1}", _pathForFiles, asset.AssetUrl); asset.ByteContent = File.ReadAllBytes(filePath); } this._themeService.SaveThemeAsset(storeId, themeId, asset.ToDomainModel()); return(this.Ok()); }
public IHttpActionResult SaveItem(ThemeAsset asset, string storeId, string themeId) { base.CheckCurrentUserHasPermissionForObjects(ContentPredefinedPermissions.Update, new ContentScopeObject { StoreId = storeId }); if (!string.IsNullOrEmpty(asset.AssetUrl)) { using (var webClient = new WebClient()) { asset.ByteContent = webClient.DownloadData(asset.AssetUrl); } } this._themeService.SaveThemeAsset(storeId, themeId, asset.ToDomainModel()); return(this.Ok()); }
public ThemeAsset GetByKey(string assetKey, int themeId) { try { var themeAsset = new ThemeAsset(); var request = new RestRequest("/themes/{themeId}/assets", Method.GET); request.AddUrlSegment("themeId", themeId.ToString()); request.AddParameter("key", assetKey); var response = ApiClient.Execute <ThemeAssetResponse>(request); if (response.StatusCode == HttpStatusCode.OK) { themeAsset = response.Data.Asset; return(themeAsset); } } catch { } return(null); }
public void UploadTheme(string storeId, string themeName, System.IO.Compression.ZipArchive archive) { foreach (ZipArchiveEntry entry in archive.Entries) { if (!IsFolder(entry)) { using (var stream = entry.Open()) { var asset = new ThemeAsset { AssetName = PrepareAssetNameAndId(entry.FullName), Id = PrepareAssetNameAndId(entry.FullName) }; var arr = ReadFully(stream); asset.ByteContent = arr; asset.ContentType = ContentTypeUtility.GetContentType(entry.FullName, arr); SaveThemeAsset(storeId, themeName.Trim('/'), asset); } } } }