Exemple #1
0
 public Task <DocumentData> SaveDocumentAsync(DocumentCreateRequest request)
 {
     return(Task.FromResult(new DocumentData()
     {
         DocID = 100
     }));
 }
Exemple #2
0
        public Document Create(DocumentCreateRequest request)
        {
            var action   = "projects/{0}/documents.json".FormatWith(request.ProjectId);
            var document = Api.Post <Document>(action, request);

            document.ProjectId = request.ProjectId;
            return(document);
        }
Exemple #3
0
        public bool Update(Document document)
        {
            var action           = "projects/{0}/documents/{1}.json".FormatWith(document.ProjectId, document.Id);
            var updateProperties = new DocumentCreateRequest();

            ModelCopier.CopyModel(document, updateProperties);
            updateProperties.SubscriberIds = document.Subscribers.Select(s => s.Id);
            var updatedDocument = Api.Put <Document>(action, updateProperties);

            if (updatedDocument != null)
            {
                updatedDocument.ProjectId = document.ProjectId;
                ModelCopier.CopyModel(updatedDocument, document);
                return(true);
            }

            return(false);
        }
Exemple #4
0
        public BasicResponse Create(DocumentCreateRequest request)
        {
            try
            {
                DocumentType documentType = DocumentTypeRepository.Find(request.DocumentTypeId);
                User         user         = UserRepository.Find(request.UserId);

                if (documentType == null)
                {
                    return(new BasicResponse {
                        Success = false, Message = $"Nenhum tipo de documento encontrado para o Id {request.DocumentTypeId}"
                    });
                }
                if (user == null)
                {
                    return(new BasicResponse {
                        Success = false, Message = $"Nenhum usuário encontrado para o Id {request.DocumentTypeId}"
                    });
                }

                Document document = new Document(documentType, user);
                request.Fields.ForEach(field =>
                {
                    document.Content = document.Content = document.Content.Replace($"[{field.Name}]", field.Value);
                });
                DocumentRepository.Add(document);

                return(new BasicResponse {
                    Success = true, Message = "Documento criado com sucesso."
                });
            }
            catch (Exception e)
            {
                return(new BasicResponse {
                    Success = false, Message = $"Erro inesperado: {e.Message}"
                });
            }
        }
        public async Task <IActionResult> Multiple(IFormFile[] files, int folderId)
        {
            try
            {
                foreach (var file in files)
                {
                    if (file.Length > 0)
                    {
                        var ext = Path.GetExtension(file.FileName).ToLowerInvariant();

                        if (string.IsNullOrEmpty(ext) || !permittedExtensions.Contains(ext))
                        {
                            return(StatusCode(500, "Invalid extension"));
                        }
                        if (file.Length > _fileSizeLimit)
                        {
                            return(StatusCode(500, "Exceeds file limit"));
                        }
                        var folder = _folderManager.GetFolderById(new FolderId()
                        {
                            Value = folderId
                        });
                        if (folder == null)
                        {
                            return(StatusCode(500, "Invalid folder id"));
                        }
                        var      documentKey       = Guid.NewGuid();
                        string   untrustedFileName = file.FileName;
                        DateTime createdDate       = DateTime.UtcNow;
                        //string filePath = GetFilePath(documentKey, folder.Name, file.ContentType, createdDate);
                        //using (var fileStream = new FileStream(filePath, FileMode.CreateNew))
                        //{
                        //    await file.CopyToAsync(fileStream);
                        //}
                        byte[] fileBytes = new byte[0];
                        if (file.Length > 0)
                        {
                            using (var ms = file.OpenReadStream())
                            {
                                using (var ms2 = new MemoryStream())
                                {
                                    await ms.CopyToAsync(ms2);

                                    fileBytes = ms2.ToArray();
                                }
                            }
                        }
                        var request = new DocumentCreateRequest()
                        {
                            Document = new DocumentModel()
                            {
                                ByteSize    = (int)file.Length,
                                Bytes       = fileBytes,
                                FileName    = untrustedFileName,
                                ContentType = file.ContentType,
                                Folder      = folder,
                                DocumentKey = documentKey,
                                Modified    = DateTime.UtcNow,
                                LastViewed  = DateTime.UtcNow,
                                Created     = createdDate
                            }
                        };
                        var result = _documentManager.CreateNewDocument(request);
                        if (!result)
                        {
                            return(StatusCode(500, "Failed to save document"));
                        }
                    }
                }
                return(StatusCode(200));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
 public bool Add([FromBody] DocumentCreateRequest request)
 {
     return(_documentManager.CreateNewDocument(request));
 }
Exemple #7
0
 public bool CreateNewDocument(DocumentCreateRequest request)
 {
     return(_documentRepository.CreateDocument(request.Document));
 }
 public ActionResult <BasicResponse> Create([FromBody] DocumentCreateRequest request) => DocumentService.Create(request);
Exemple #9
0
 Task <DocumentCreateResult> IDocumentService.SaveDocumentAsync(DocumentCreateRequest request)
 {
     throw new NotImplementedException();
 }