public void TestGetAllPictureListModelsByObjectId() { var model = new PictureDetailModel() { Name = "Test picture", PhotoTakenDate = DateTime.Now, Description = "This is tests picture", Format = EntityImageFormat.Jpg, ResolutionHeight = 100, ResolutionWidth = 100, PositionCollection = new List <PositionInPictureModel> { new PositionInPictureModel { Height = 10, Width = 10, X = 5, Y = 5, PictureObject = new ObjectDetailModel { Description = "Test object", Name = "Object test name", PreviewFileName = "Preview of test object" } } } }; var inserted = _repository.Insert(model); var founded = _repository.GetAllPictureModelsByObjectId(inserted.Id); Assert.NotNull(founded); Assert.Equal(inserted.Id, founded.First().Id); Assert.Equal(inserted.Name, founded.First().Name); }
private static void FormatFromImage(PictureDetailModel picture, Image image) { if (image.RawFormat.Equals(ImageFormat.Emf)) { picture.Format = EntityImageFormat.Emf; return; } if (image.RawFormat.Equals(ImageFormat.Exif)) { picture.Format = EntityImageFormat.Exif; return; } if (image.RawFormat.Equals(ImageFormat.Gif)) { picture.Format = EntityImageFormat.Gif; return; } if (image.RawFormat.Equals(ImageFormat.Icon)) { picture.Format = EntityImageFormat.Ico; return; } if (image.RawFormat.Equals(ImageFormat.Jpeg)) { picture.Format = EntityImageFormat.Jpg; return; } if (image.RawFormat.Equals(ImageFormat.Png)) { picture.Format = EntityImageFormat.Png; return; } if (image.RawFormat.Equals(ImageFormat.Tiff)) { picture.Format = EntityImageFormat.Tiff; return; } if (image.RawFormat.Equals(ImageFormat.Wmf)) { picture.Format = EntityImageFormat.Wmf; } }
public static PictureDetailModel FromFile(string fullFileName) { var filename = Path.GetFileName(fullFileName); var extension = Path.GetExtension(fullFileName).Replace(".", string.Empty); if (!Enum.TryParse(extension, true, out EntityImageFormat format)) { format = EntityImageFormat.None; } var result = new PictureDetailModel { Name = filename, Source = fullFileName, PositionCollection = new List <PositionInPictureModel>(), Format = format }; Image image; try { image = new Bitmap(fullFileName); } catch (FileNotFoundException e) { return(result); } FormatFromImage(result, image); result.ResolutionWidth = image.Size.Width; result.ResolutionHeight = image.Size.Height; // from https://stackoverflow.com/questions/24971184/extract-image-file-metadata var encodings = new ASCIIEncoding(); foreach (var propItem in image.PropertyItems) { if (propItem.Id.ToString("x").Equals("9003")) // taken date { var datetime = encodings.GetString(propItem.Value, 0, propItem.Value.Length - 1); if (DateTime.TryParseExact(datetime, "yyyy:MM:dd HH:mm:ss", null, DateTimeStyles.None, out var date)) { result.PhotoTakenDate = date; } } } return(result); }
public PictureEntity MapToEntity(PictureDetailModel detail) { var HelpVar = new PictureEntity() { Id = detail.Id, Name = detail.Name, PhotoTakenDate = detail.PhotoTakenDate, Description = detail.Description, Format = detail.Format, ResolutionHeight = detail.ResolutionHeight, ResolutionWidth = detail.ResolutionWidth, PictureObjectCollection = new List <PositionInPictureEntity>(), Source = detail.Source }; foreach (var item in detail.PositionCollection) { HelpVar.PictureObjectCollection.Add(_posMapper.MapToEntity(item)); } return(HelpVar); }
public PictureDetailModel MapToDetail(PictureEntity entity) { var HelpVar = new PictureDetailModel() { Id = entity.Id, Name = entity.Name, PhotoTakenDate = entity.PhotoTakenDate, Description = entity.Description, Format = entity.Format, ResolutionHeight = entity.ResolutionHeight, ResolutionWidth = entity.ResolutionWidth, PositionCollection = new List <PositionInPictureModel>(), Source = entity.Source }; foreach (var item in entity.PictureObjectCollection) { HelpVar.PositionCollection.Add(_posMapper.MapToModel(item)); } return(HelpVar); }