コード例 #1
0
        public virtual IActionResult EquipmentIdAttachmentsPost([FromRoute] int id, [FromForm] IList <IFormFile> files)
        {
            // validate the id
            bool exists = _context.HetEquipment.Any(a => a.EquipmentId == id);

            if (!exists)
            {
                return(new StatusCodeResult(404));
            }

            HetEquipment equipment = _context.HetEquipment
                                     .Include(x => x.HetDigitalFile)
                                     .First(a => a.EquipmentId == id);

            foreach (IFormFile file in files)
            {
                if (file.Length > 0)
                {
                    HetDigitalFile attachment = new HetDigitalFile();

                    // strip out extra info in the file name
                    if (!string.IsNullOrEmpty(file.FileName))
                    {
                        attachment.FileName = Path.GetFileName(file.FileName);
                    }

                    // allocate storage for the file and create a memory stream
                    attachment.FileContents = new byte[file.Length];

                    using (MemoryStream fileStream = new MemoryStream(attachment.FileContents))
                    {
                        file.CopyTo(fileStream);
                    }

                    attachment.Type = GetType(attachment.FileName);

                    // set the mime type id
                    int?mimeTypeId = StatusHelper.GetMimeTypeId(attachment.Type, _context);
                    if (mimeTypeId == null)
                    {
                        throw new DataException("Mime Type Id cannot be null");
                    }

                    attachment.MimeTypeId = (int)mimeTypeId;

                    equipment.HetDigitalFile.Add(attachment);
                }
            }

            _context.SaveChanges();

            return(new ObjectResult(equipment.HetDigitalFile));
        }
コード例 #2
0
        public virtual IActionResult AttachmentsIdDownloadGet([FromRoute] int id)
        {
            bool exists = _context.HetDigitalFile.Any(a => a.DigitalFileId == id);

            // not found
            if (!exists)
            {
                return(new NotFoundObjectResult(new HetsResponse("HETS-01", ErrorViewModel.GetDescription("HETS-01", _configuration))));
            }

            HetDigitalFile attachment = _context.HetDigitalFile.First(a => a.DigitalFileId == id);

            FileContentResult result = new FileContentResult(attachment.FileContents, "application/octet-stream")
            {
                FileDownloadName = attachment.FileName
            };

            return(result);
        }
コード例 #3
0
        public virtual IActionResult AttachmentsIdDeletePost([FromRoute] int id)
        {
            bool exists = _context.HetDigitalFile.Any(a => a.DigitalFileId == id);

            if (!exists)
            {
                return(new NotFoundObjectResult(new HetsResponse("HETS-01", ErrorViewModel.GetDescription("HETS-01", _configuration))));
            }

            HetDigitalFile item = _context.HetDigitalFile.First(a => a.DigitalFileId == id);

            if (item != null)
            {
                _context.HetDigitalFile.Remove(item);
                _context.SaveChanges();
            }

            return(new ObjectResult(new HetsResponse(item)));
        }