Example #1
0
        public ActionResult <Attachment> CreateAttachment(AttachmentCreateDto attachmentCreateDto)
        {
            var attachmentModel = _mapper.Map <Attachment>(attachmentCreateDto);

            _repository.CreateAttachment(attachmentModel);
            _repository.SaveChanges();

            return(CreatedAtRoute(nameof(GetAttachmentById),
                                  new { ID = attachmentModel.ID },
                                  attachmentModel));
        }
Example #2
0
        public async Task <IActionResult> CreateAttachment([FromRoute] int?documentId, [FromRoute] string slug, [FromForm] AttachmentCreateDto attachment)
        {
            var document = await GetDocument(documentId, slug);

            if (document == null)
            {
                return(NotFound());
            }

            if (attachment == null)
            {
                return(BadRequest());
            }

            if (attachment.File == null)
            {
                return(BadRequest());
            }

            var file = await _assets.SaveFile(attachment.File, ATTACHMENTS_DIRNAME);

            var newAttachment = new Attachments {
                DocumentId  = document.DocumentId,
                UserId      = UserId,
                Name        = attachment.Name,
                Link        = file.Path,
                Type        = "file",
                TimeCreated = DateTime.UtcNow
            };

            _db.Attachments.Add(newAttachment);
            await _db.SaveChangesAsync();

            return(Ok(new AttachmentDto(newAttachment)));
        }