public async Task <ActionResult> PostDocument([FromForm] PostDocumentRequest request)
        {
            var blobname = request.File?.FileName;
            var document = await _documentService.CreateDocumentAsync(blobname, request);

            if (request.File?.Length > 0)
            {
                using (var stream = new MemoryStream())
                {
                    await request.File.CopyToAsync(stream);

                    await _documentService.UploadDocumentAsync(blobname, document.Register, stream.ToArray());
                }
            }

            var tags = document.Tags?.Select(x => x.Tag.Name) ?? new string[0];

            return(Ok(new DocumentReponse
            {
                Folder = document.Register?.Folder?.Name,
                Category = document.Category?.Name,
                Id = document.Id.ToString(),
                Tags = tags.ToArray(),
                Name = document.Name,
                Date = document.Date,
                Blobname = document.Blobname
            }));
        }
        public virtual HttpRequest Create(PostDocumentRequest request)
        {
            var httpRequest = CreateFor<PostDocumentRequest>(HttpMethod.Post, GenerateRequestUrl());

            httpRequest.SetContent(request.Content);

            return httpRequest;
        }
        public virtual HttpRequest Create(PostDocumentRequest request)
        {
            Ensure.Any.IsNotNull(request, nameof(request));

            return(new HttpRequest(HttpMethod.Post, GenerateRelativeUrl(request))
                   .SetRequestTypeHeader(request.GetType())
                   .SetJsonContent(request.Content));
        }
        protected virtual string GenerateRelativeUrl(PostDocumentRequest request)
        {
            var urlParams = new UrlParams();

            urlParams.AddIfTrue("batch", request.Batch, "ok");

            return(string.Format("/{0}", new QueryString(urlParams)));
        }
        public virtual HttpRequest Create(PostDocumentRequest request)
        {
            var httpRequest = CreateFor <PostDocumentRequest>(HttpMethod.Post, GenerateRequestUrl(batch: request.Batch));

            httpRequest.SetContent(request.Content);

            return(httpRequest);
        }
Ejemplo n.º 6
0
        public virtual async Task <DocumentHeaderResponse> PostAsync(PostDocumentRequest request)
        {
            var httpRequest = CreateHttpRequest(request);

            using (var res = await SendAsync(httpRequest).ForAwait())
            {
                return(ProcessDocumentHeaderResponse(res));
            }
        }
Ejemplo n.º 7
0
        public virtual async Task <DocumentHeaderResponse> PostAsync(PostDocumentRequest request, CancellationToken cancellationToken = default)
        {
            var httpRequest = PostDocumentHttpRequestFactory.Create(request);

            using (var res = await SendAsync(httpRequest, cancellationToken).ForAwait())
            {
                return(await DocumentHeaderReponseFactory.CreateAsync(res).ForAwait());
            }
        }
Ejemplo n.º 8
0
        public void When_POST_of_new_document_in_batch_mode_The_document_is_persisted()
        {
            var request = new PostDocumentRequest(ClientTestData.Artists.Artist1Json)
            {
                Batch = true
            };
            var response = SUT.PostAsync(request).Result;

            response.Should().BeSuccessfulBatchPost(ClientTestData.Artists.Artist1Id);
        }
Ejemplo n.º 9
0
        public virtual async Task <DocumentHeaderResponse> PostAsync(PostDocumentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            using (var httpRequest = CreateHttpRequest(request))
            {
                using (var res = await SendAsync(httpRequest).ForAwait())
                {
                    return(ProcessDocumentHeaderResponse(res));
                }
            }
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> Create([Bind(include: "name, description, isDone, tag")] TodoTask model)
        {
            using (var client = new MyCouchClient(new DbConnectionInfo("http://localhost:5984/", "tasks")))
            {
                var content = JsonConvert.SerializeObject(model);

                var request = new PostDocumentRequest(content);

                var response = await client.Documents.PostAsync(request);

                return(RedirectToAction("Index", "Tasks"));
            }
        }
        private PostDocumentRequest PopulatePostDocumentRequest(Attachment attachment, WCMDisclosurePackage package)
        {
            var loan   = this.Loan;
            var result = new PostDocumentRequest()
            {
                PortalId              = loan.Fields["CX.BLEND.LOANID"].ToString(),
                BorrowerPartyId       = BlendUtility.GetCurrentBorrowerPairBorrowerBlendId(loan),
                CoBorrowerPartyId     = BlendUtility.GetCurrentBorrowerPairCoBorrowerBlendId(loan),
                LosLoanNumber         = loan.LoanNumber,
                FileName              = attachment.Title,
                DisplayNameAndLosType = attachment.Title,
                DocumentDeliveryType  = MapDocDeliveryType(package)
            };

            return(result);
        }
        private PostDocumentRequest PopulatePostDocumentRequest(
            EllieMae.EMLite.LoanServices.BamObjects.PdfDocument disclosure,
            DeliveryTypeEnum packageDeliveryType)
        {
            var loan   = EncompassApplication.CurrentLoan;
            var result = new PostDocumentRequest()
            {
                PortalId              = loan.Fields["CX.BLEND.LOANID"].ToString(),
                BorrowerPartyId       = BlendUtility.GetCurrentBorrowerPairBorrowerBlendId(loan),
                CoBorrowerPartyId     = BlendUtility.GetCurrentBorrowerPairCoBorrowerBlendId(loan),
                LosLoanNumber         = loan.LoanNumber,
                FileName              = disclosure.Title,
                DisplayNameAndLosType = disclosure.Title,
                DocumentDeliveryType  = MapDocDeliveryType(disclosure.SignatureType, packageDeliveryType)
            };

            return(result);
        }
Ejemplo n.º 13
0
        private async Task prepareDB()
        {
            using (var client = new MyCouchServerClient("http://localhost:5984"))
            {
                var test = await client.Databases.GetAsync(new GetDatabaseRequest("tasks"));

                if (!test.IsSuccess && test.Reason == "not_found")
                {
                    await client.Databases.PutAsync(new PutDatabaseRequest("tasks"));
                }
            }

            using (var client = new MyCouchClient("http://localhost:5984", "tasks"))
            {
                var viewResponse = await client.Documents.GetAsync(new GetDocumentRequest("_design/views"));

                if (!viewResponse.IsSuccess && viewResponse.Error == "not_found")
                {
                    var designDocument = new PostDocumentRequest("{\n  \"_id\": \"_design/views\",\n  \"_rev\": \"13-e7f20fd89680fba468de1b2d2bfaffdc\",\n  \"views\": {\n    \"allDocs\": {\n      \"map\": \"function (doc) {\\n  emit(doc._id, doc._rev);\\n}\"\n    },\n    \"TasksByName\": {\n      \"map\": \"function(doc) {\\r\\nif (\'name\' in doc) { \\r\\n    emit(doc.name, doc._id);\\r\\n  }\\r\\n} \\r\\n\"\n    },\n    \"byTag\": {\n      \"reduce\": \"_count\",\n      \"map\": \"function (doc) {\\n  emit(doc.tag, 1);\\n}\"\n    },\n    \"byIsDone\": {\n      \"map\": \"function (doc) {\\n  emit(doc.isDone, 1);\\n}\",\n      \"reduce\": \"_count\"\n    }\n  },\n  \"language\": \"javascript\"\n}");

                    await client.Documents.PostAsync(designDocument);
                }
            }
        }
Ejemplo n.º 14
0
 protected virtual HttpRequest CreateHttpRequest(PostDocumentRequest request)
 {
     return(PostDocumentHttpRequestFactory.Create(request));
 }
Ejemplo n.º 15
0
 public static Task <DocumentHeaderResponse> PerformAsync(this IMyCouchClient client, PostDocumentRequest request)
 {
     return(client.Documents.PostAsync(request));
 }