コード例 #1
0
        public FileRecord GetFileRecord(Guid id)
        {
            FileRecord file = new FileRecord();

            using (var db = new FileHubContext())
            {
                Console.Write("Getting by id");
                var query = from f in db.Files
                            orderby f.Name
                            where f.Id == id
                            select f;

                file = query.FirstOrDefault();
            }

            return(file);
        }
コード例 #2
0
        public async Task <FileRecord> UploadFile(IFormFile file)
        {
            // PRE CONDITIONS
            if (file.Length <= 0)
            {
                throw new Exception("Filename must exist");
            }

            // ARRANGE
            var fileDto = new FileRecord()
            {
                CreatedUtc  = DateTime.UtcNow,
                UpdatedUtc  = DateTime.UtcNow,
                DeletedUtc  = DateTime.MaxValue,
                Description = "This is file description",
                Name        = file.FileName
            };

            var filePath = GetFileFullPathById(fileDto.Id);

            // ACT
            // 1. Upload file to system
            using (var fileStream = new FileStream(filePath, FileMode.Create))
            {
                await file.CopyToAsync(fileStream);
            }

            // 2. Save a reference to DB
            using (var db = new FileHubContext())
            {
                Console.Write("Save item");
                db.Files.Add(fileDto);
                db.SaveChanges();
            }

            return(fileDto);
        }