public Metadata(TopicAttachmentMetadata metadata) { Details = metadata.Details; Type = metadata.Type; SubType = metadata.SubType; Photographer = metadata.Photographer; Creator = metadata.Creator; Material = metadata.Material; Height = metadata.Height; Width = metadata.Width; Depth = metadata.Depth; Unit = metadata.Unit; Date = metadata.Date; Date2 = metadata.Date2; Source = metadata.Source; Copyright = metadata.Copyright; Location = metadata.Location; Signature = metadata.Signature; Page = metadata.Page; PointOfOrigin = metadata.PointOfOrigin; PlaceOfManufacture = metadata.PlaceOfManufacture; PlaceOfManufacture = metadata.PlaceOfManufacture; TimeStamp = metadata.TimeStamp; DetailedPosition = metadata.DetailedPosition; }
internal void UpdateMetadata(int topicId, int attachmentId, string identity, Metadata metadata) { // Delete current try { var existing = DbContext.TopicAttachmentMetadata.Single(tam => tam.TopicAttachmentId == attachmentId); DbContext.TopicAttachmentMetadata.Remove(existing); DbContext.SaveChanges(); } catch (InvalidOperationException) { // Does not exists. } // Add new var newMetadata = new TopicAttachmentMetadata(attachmentId, metadata); var attachment = DbContext.TopicAttachments.Single(t => t.Id == attachmentId); attachment.Title = metadata.Title; DbContext.Add(newMetadata); DbContext.SaveChanges(); }
public void PutMetaDataTest() { var topicAttachmentMetadata = new TopicAttachmentMetadata(TopicAttachment.Id, Metadata); var metadata = new Metadata { Title = "Checking for updated one", Type = "updated" }; _tester.TestControllerWithMockData() .WithDbContext(dbContext => dbContext .WithSet <TopicAttachment>(db => db.Add(TopicAttachment)) .WithSet <TopicAttachmentMetadata>(db => db.Add(topicAttachmentMetadata))) .Calling(c => c.PutMetaData(_tester.TopicOne.Id, TopicAttachment.Id, metadata)) .ShouldHave() .DbContext(db => db.WithSet <TopicAttachmentMetadata>(md => md.Any(actual => actual.Type == metadata.Type) )) .AndAlso() .ShouldReturn() .Ok(); }