示例#1
0
        public async Task <HttpResponseMessage> Post(FileModel model)
        {
            var userFile = new DomainUserFile
            {
                Created     = DateTime.UtcNow,
                Modified    = DateTime.UtcNow,
                UserId      = UserId,
                FileUri     = model.File.Uri,
                ContentType = model.File.ContentType,
                FileLength  = model.File.Length,
                FileName    = model.Name
            };

            userFile = await _userFileRepository.AddAsync(userFile);

            var file = new File
            {
                ContentType = userFile.ContentType,
                Name        = userFile.FileName,
                Uri         = userFile.FileUri,
                Id          = userFile.FileId,
                Length      = userFile.FileLength
            };

            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, file);

            response.SetLastModifiedDate(userFile.Modified);

            return(response);
        }
示例#2
0
        //
        // GET /api/files/{id}

        /// <summary>
        ///     Receives file by identifier.
        /// </summary>
        /// <param name="id">Identifier.</param>
        /// <returns>File.</returns>
        public async Task <HttpResponseMessage> Get([FromUri] string id)
        {
            var userFile = new DomainUserFile
            {
                UserId = UserId,
                FileId = id
            };

            userFile = await _userFileRepository.GetAsync(userFile);

            var file = new File
            {
                ContentType = userFile.ContentType,
                Name        = userFile.FileName,
                Uri         = userFile.FileUri,
                Id          = userFile.FileId,
                Length      = userFile.FileLength
            };

            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, file);

            response.SetLastModifiedDate(userFile.Modified);

            return(response);
        }
示例#3
0
        public async Task <HttpResponseMessage> Delete([FromUri] string id)
        {
            var userFile = new DomainUserFile
            {
                FileId = id,
                UserId = UserId
            };

            await _userFileRepository.DeleteAsync(userFile);

            return(Request.CreateResponse(HttpStatusCode.OK));
        }