Ejemplo n.º 1
0
        //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);
        }
Ejemplo n.º 2
0
        //[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);
        }
Ejemplo n.º 3
0
        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;
 }