示例#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);
        }