//Service to create a metadata object that describes the uploaded Media file. public MediaMetadata Create(UploadedMedia uploadedMedia, NZDataClassification dataClassification) { var result = new MediaMetadata(); result.ContentSize = uploadedMedia.Length; result.SourceFileName = uploadedMedia.FileName; result.DataClassificationFK = dataClassification; result.ContentHash = uploadedMedia.Stream.GetHashAsString(this._metadataServiceConfiguration.MediaManagementConfiguration.HashType); result.MimeType = uploadedMedia.ContentType ?? "Unknown"; result.UploadedDateTimeUtc = this._universalDateTimeService.NowUtc().UtcDateTime; return(result); }
//[ODataRoute("({key})")] public DataClassificationDto Get(NZDataClassification key) { //return InternalGet(key); var result = InternalGetDbSet() // Note how we only want only distribute active records: .Where(x => x.RecordState == RecordPersistenceState.Active) .ProjectTo <DataClassificationDto>( //(object)null, //x => x.DataClassification ) .SingleOrDefault(x => x.Id == key); this._secureApiMessageAttribute.Process(result); return(result); }
public void Process(UploadedMedia uploadedMedia, NZDataClassification dataClassification) { //First, build a summary of the uploaded file: MediaMetadata mediaMetadata = this._mediaMetadataService.Create(uploadedMedia, dataClassification); ScanFile(ref uploadedMedia, ref mediaMetadata); if (mediaMetadata.LatestScanResults == "content.en.language.nsfw") { mediaMetadata.LatestScanMalwareDetetected = false; } if (mediaMetadata.LatestScanMalwareDetetected.HasValue && mediaMetadata.LatestScanMalwareDetetected.Value == false) { //TODO: TO BE REVISITED mediaMetadata.LocalName = Guid.NewGuid().ToString(); this._storageService.Persist(uploadedMedia.Stream, mediaMetadata.LocalName); } this._repositoryService.AddOnCommit(Constants.Db.AppCoreDbContextNames.Core, mediaMetadata); }
public DataClassificationAttribute(NZDataClassification dataClassification) { this.DataClassification = dataClassification; }