Fluent API Image Upload - Unable to query uploaded image by ID
Hi,
I'm using Sitefinity 7.0 to programmatically access the Sitefinity's content management system.
Here is how I upload the image:
public static Guid CreateImage(Guid imageId, Guid parentAlbumId, string title, Stream stream, string extension)
var count = 0;
imageId = Guid.NewGuid();
App.WorkWith().Albums().Where(i => i.Id == parentAlbumId).Count(out count);
if (count > 0)
App.WorkWith().Album(parentAlbumId).CreateImage().CheckOut()
.Do(image =>
imageId = image.Id;
image.Title = title;
image.DateCreated = DateTime.UtcNow;
image.PublicationDate = DateTime.UtcNow;
image.LastModified = DateTime.UtcNow;
image.Urls.Clear();
image.UrlName = Regex.Replace(title.ToLower(), @"[^\w\-\!\$\'\(\)\=\@\d_]+", "-");
)
.UploadContent(stream, extension)
.SaveChanges();
var bag = new Dictionary<
string
, string>();
bag.Add("ContentType", typeof(Image).FullName);
WorkflowManager.MessageWorkflow(imageId, typeof(Image), null, "Publish", true, bag);
return imageId;
This is taken from Sitefinity's examples. The image uploads to given album successfully. However when I try to query for the image programmatically like this:
public
static
string
GetMediaUrlByImageId(Guid imageId, Guid albumId,
bool
resolveAsAbsolutUrl)
Album album = App.WorkWith().Albums().Where(a => a.Id == albumId).Get().FirstOrDefault();
IQueryable<Image> images = album.Images();
Image image = images.Where(i => i.Id == imageId).FirstOrDefault();
Image imagee1 = App.WorkWith().Images().Where(i => i.Id == imageId).Get().FirstOrDefault();
var manager = LibrariesManager.GetManager();
//var image = manager.GetImages().FirstOrDefault(i => i.Id == imageId);
var mediaUrl = String.Empty;
if
(image !=
null
)
mediaUrl = image.ResolveMediaUrl(resolveAsAbsolutUrl);
return
mediaUrl;
There is no image with given ID which I received from the file upload function CreateImage , when debugging both variables image and imagee1 are null. Could you please help me in establishing what I'm doing wrong ?
Ok, nevermind , resolved , got my ID under OriginalContentId property of an image.