public static webModels.ThemeAsset ToThemeAssetWebModel(this BlobInfo item)
 {
     var retVal = new webModels.ThemeAsset();
     retVal.Name = item.FileName;
     retVal.ContentType = item.ContentType;
     retVal.Updated = item.ModifiedDate ?? default(DateTime);
     return retVal;
 }
Beispiel #2
0
        public static webModels.ThemeAsset ToThemeAssetWebModel(this BlobInfo item)
        {
            var retVal = new webModels.ThemeAsset();

            retVal.Name        = item.FileName;
            retVal.ContentType = item.ContentType;
            retVal.Updated     = item.ModifiedDate ?? default(DateTime);
            return(retVal);
        }
Beispiel #3
0
        public static domainModels.ThemeAsset ToDomainModel(this webModels.ThemeAsset item)
        {
            var retVal = new domainModels.ThemeAsset();

            if (item.ByteContent != null)
            {
                retVal.ByteContent = item.ByteContent;
            }
            else if (!string.IsNullOrEmpty(item.Content))
            {
                retVal.ByteContent = Encoding.UTF8.GetBytes(item.Content);
            }

            retVal.AssetUrl    = item.AssetUrl;
            retVal.Id          = item.Id;
            retVal.ContentType = item.ContentType;
            retVal.AssetName   = item.Name;

            return(retVal);
        }
		public static webModels.ThemeAsset ToWebModel(this domainModels.ThemeAsset item, bool loadContent = true)
		{
			var retVal = new webModels.ThemeAsset();

            if (loadContent)
            {
                if (ContentTypeUtility.IsImageContentType(item.ContentType))
                {
                    if (item.ByteContent != null)
                    {
                        //retVal.Content = ContentTypeUtility.ConvertImageToBase64String(item.ByteContent, item.ContentType);
                        retVal.ByteContent = item.ByteContent;
                    }
                    else
                    {
                        retVal.Content = retVal.AssetUrl = item.AssetUrl;
                    }
                }
                else if (ContentTypeUtility.IsTextContentType(item.ContentType))
                {
                    if (item.ByteContent != null)
                    {
                        retVal.Content = Encoding.UTF8.GetString(item.ByteContent);
                    }
                }
                else // treat as a binary file for now
                {
                    if (item.ByteContent != null)
                    {
                        retVal.ByteContent = item.ByteContent;
                    }
                }
            }
			retVal.Id = item.Id;
			retVal.ContentType = item.ContentType;
            retVal.Updated = item.Updated;
			retVal.Name = string.Join("/", item.Id.Split('/').AsEnumerable().Skip(1));

			return retVal;
		}
Beispiel #5
0
        public static webModels.ThemeAsset ToWebModel(this domainModels.ThemeAsset item, bool loadContent = true)
        {
            var retVal = new webModels.ThemeAsset();

            if (loadContent)
            {
                if (ContentTypeUtility.IsImageContentType(item.ContentType))
                {
                    if (item.ByteContent != null)
                    {
                        //retVal.Content = ContentTypeUtility.ConvertImageToBase64String(item.ByteContent, item.ContentType);
                        retVal.ByteContent = item.ByteContent;
                    }
                    else
                    {
                        retVal.Content = retVal.AssetUrl = item.AssetUrl;
                    }
                }
                else if (ContentTypeUtility.IsTextContentType(item.ContentType))
                {
                    if (item.ByteContent != null)
                    {
                        retVal.Content = Encoding.UTF8.GetString(item.ByteContent);
                    }
                }
                else // treat as a binary file for now
                {
                    if (item.ByteContent != null)
                    {
                        retVal.ByteContent = item.ByteContent;
                    }
                }
            }
            retVal.Id          = item.Id;
            retVal.ContentType = item.ContentType;
            retVal.Updated     = item.Updated;
            retVal.Name        = string.Join("/", item.Id.Split('/').AsEnumerable().Skip(1));

            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 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();
        }