public int SaveImage(IImageDb imageDb, int? transactionNumber = null) { if (imageDb.InstanceId != _instanceId) throw new Exception("Attempt to save Image with wrong InstanceId"); Image record; var recordOld = new Image(); if (imageDb.ImageId == 0) { record = new Image(); Context.AddToImages(record); } else { record = Context.Images.Where(r => r.ImageId == imageDb.ImageId).First(); ReflectionHelper.CopyAllProperties(record, recordOld); } record.InstanceId = _instanceId; record.BlobId = imageDb.BlobId; record.ImageName = imageDb.ImageName; record.ImageType = imageDb.ImageType; record.ImageSize = imageDb.ImageSize; Context.SaveChanges(); if (imageDb.ImageId == 0) { imageDb.ImageId = record.ImageId; LogToDb(UserId, "Images", record.ImageId, "I", XmlHelper.GetObjectXml(record), transactionNumber); } else { LogToDb(UserId, "Images", record.ImageId, "U", XmlHelper.GetDifferenceXml(recordOld, record), transactionNumber); } return imageDb.ImageId; }
public ClassifiedImagesController(IImageClassifier classifier, IImageDb db) { this.classifier = classifier; this.db = db; }