示例#1
0
        public void UpdateDocument()
        {
            moq::Mock <Firestore.FirestoreClient> mockGrpcClient = new moq::Mock <Firestore.FirestoreClient>(moq::MockBehavior.Strict);
            UpdateDocumentRequest request = new UpdateDocumentRequest
            {
                Document   = new Document(),
                UpdateMask = new DocumentMask(),
            };
            Document expectedResponse = new Document
            {
                Name   = "name1c9368b0",
                Fields =
                {
                    {
                        "key8a0b6e3c",
                        new Value()
                    },
                },
                CreateTime = new wkt::Timestamp(),
                UpdateTime = new wkt::Timestamp(),
            };

            mockGrpcClient.Setup(x => x.UpdateDocument(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            FirestoreClient client   = new FirestoreClientImpl(mockGrpcClient.Object, null);
            Document        response = client.UpdateDocument(request.Document, request.UpdateMask);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
示例#2
0
    /// <inheritdoc />
    public Task <Guid> UpdateDocumentAsync(UpdateDocumentRequest request)
    {
        this._logger.LogDebug(nameof(this.UpdateDocumentAsync), request);
        var command = this._mapper.Map <UpdateDocumentCommand>(request);

        return(this._mediator.Send(command));
    }
示例#3
0
        public async stt::Task UpdateDocumentAsync()
        {
            moq::Mock <Firestore.FirestoreClient> mockGrpcClient = new moq::Mock <Firestore.FirestoreClient>(moq::MockBehavior.Strict);
            UpdateDocumentRequest request = new UpdateDocumentRequest
            {
                Document   = new Document(),
                UpdateMask = new DocumentMask(),
            };
            Document expectedResponse = new Document
            {
                Name   = "name1c9368b0",
                Fields =
                {
                    {
                        "key8a0b6e3c",
                        new Value()
                    },
                },
                CreateTime = new wkt::Timestamp(),
                UpdateTime = new wkt::Timestamp(),
            };

            mockGrpcClient.Setup(x => x.UpdateDocumentAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Document>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            FirestoreClient client = new FirestoreClientImpl(mockGrpcClient.Object, null);
            Document        responseCallSettings = await client.UpdateDocumentAsync(request.Document, request.UpdateMask, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            Document responseCancellationToken = await client.UpdateDocumentAsync(request.Document, request.UpdateMask, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
        public async Task <IHttpActionResult> AddDocument([FromBody] UpdateDocumentRequest createRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var document = await _documentService.CreateDocumentAsync(createRequest);

            var location = string.Format("/api/documents/{0}", document.Id);

            return(Created <Document>(location, document));
        }
 public Response UpdateDocument(UpdateDocumentRequest request)
 {
     try
     {
         _dal.UpdateDocument(request);
         UpdateDocumentResponseOk ret = new UpdateDocumentResponseOk();
         return(ret);
     }
     catch (Exception ex)
     {
         return(new AppResponseError(ex.Message));
     }
 }
示例#6
0
        public void UpdateDocumentTest1()
        {
            var request = new UpdateDocumentRequest
            {
                ImageUrl     = "assets/1.jpg",
                DocumentName = "UpdateDocumentTest",
                Owner        = "*****@*****.**",
                DocId        = "3"
            };
            //var docId = Guid.NewGuid();
            var ret = _dal.UpdateDocument(request);

            Assert.AreEqual(1, ret.Tables.Count);
        }
示例#7
0
        private void AddCityData(String cityAbbr,
                                 String name,
                                 String state,
                                 String country,
                                 Boolean capital,
                                 long population)
        {
            String collectionName = "cities";

            String docName = cityAbbr;

            Document updatedDoc = null;

            try
            {
                updatedDoc = MainClass.Ftc.GetDocument(docName, collectionName);
            }
            catch (Grpc.Core.RpcException e)
            {
                if (e.Status.StatusCode == Grpc.Core.StatusCode.NotFound)
                {
                    updatedDoc      = new Document();
                    updatedDoc.Name = MainClass.Ftc.Parent + "/documents/" + collectionName + "/" + docName;
                }
            }
            MapField <string, Value> fields;

            fields = updatedDoc.Fields;
            // update/create fields
            AddField(fields, "name", name);
            AddField(fields, "state", state);
            AddField(fields, "country", country);
            AddField(fields, "capital", capital);
            AddField(fields, "population", population);

            var updateDocumentRequest = new UpdateDocumentRequest();

            updateDocumentRequest.Document = updatedDoc;
            Document returnDocument;

            try
            {
                returnDocument = MainClass.Ftc.FsClient.UpdateDocument(updateDocumentRequest);
            }
            catch (Exception e)
            {
                Console.WriteLine("{0} Exception caught.", e);
            }
        }
 /// <summary>Snippet for UpdateDocument</summary>
 public void UpdateDocument_RequestObject()
 {
     // Snippet: UpdateDocument(UpdateDocumentRequest,CallSettings)
     // Create client
     FirestoreClient firestoreClient = FirestoreClient.Create();
     // Initialize request argument(s)
     UpdateDocumentRequest request = new UpdateDocumentRequest
     {
         Document   = new Document(),
         UpdateMask = new DocumentMask(),
     };
     // Make the request
     Document response = firestoreClient.UpdateDocument(request);
     // End snippet
 }
        /// <summary>Snippet for UpdateDocumentAsync</summary>
        public async Task UpdateDocumentAsync_RequestObject()
        {
            // Snippet: UpdateDocumentAsync(UpdateDocumentRequest,CallSettings)
            // Create client
            FirestoreClient firestoreClient = await FirestoreClient.CreateAsync();

            // Initialize request argument(s)
            UpdateDocumentRequest request = new UpdateDocumentRequest
            {
                Document   = new Document(),
                UpdateMask = new DocumentMask(),
            };
            // Make the request
            Document response = await firestoreClient.UpdateDocumentAsync(request);

            // End snippet
        }
示例#10
0
        public DataSet UpdateDocument(UpdateDocumentRequest request)
        {
            var cmd = new OracleCommand
            {
                Connection  = _conn,
                CommandText = "UpdateDocument"
            };
            var param1 = _infraDal.GetParameter("OwnerN", OracleDbType.Varchar2, request.Owner);
            var param2 = _infraDal.GetParameter("ImageUrlN", OracleDbType.Varchar2, request.ImageUrl);
            var param3 = _infraDal.GetParameter("DocumentNameN", OracleDbType.Varchar2, request.DocumentName);
            var param4 = _infraDal.GetParameter("IdN", OracleDbType.Varchar2, request.DocId);

            cmd.Parameters.Add(param1);
            cmd.Parameters.Add(param2);
            cmd.Parameters.Add(param3);
            cmd.Parameters.Add(param4);
            return(_infraDal.ExecSpQuery(cmd));
        }
示例#11
0
        public async Task <IActionResult> UpdateDocument([FromBody] UpdateDocumentRequest request)
        {
            var updateDocumentResponse = new UpdateDocumentResponse();

            if (request.File == null || request.File.Length <= 0)
            {
                return(new BadRequestObjectResult(new { Message = "Requested file can not be empty." }));
            }
            var filePath = Path.GetTempFileName();
            var fileName = Path.GetFileName(filePath);

            if (!FileTypes.IsValidContentType(fileName))
            {
                ModelState.AddModelError(fileName, "File Type Not Supported. Only Word, Pdf, Jpg and Png file types uploadable.");
            }
            if (request.File.Length > 1048576)
            {
                ModelState.AddModelError(fileName, "Maximum File size of 1 Mb exceeded.");
            }
            if (ModelState.Values.Sum(c => c.Errors.Count) > 0)
            {
                updateDocumentResponse.HandleValidation(ModelState);
                return(Ok(updateDocumentResponse));
            }
            var updateModel = new UpdateDocumentModel
            {
                DocumentId     = request.DocumentId,
                ProjectId      = request.ProjectId,
                DocumentTypeId = request.DocumentTypeId,
                TagId          = request.TagId,
                UploadedFile   = new FileModel
                {
                    Content = request.File.OpenReadStream(),
                    Name    = fileName
                }
            };

            var commandHandlerResponse = await _mediator.Send(updateModel);

            updateDocumentResponse.HandleSuccess(commandHandlerResponse);
            return(Ok(updateDocumentResponse));
        }
示例#12
0
        /// <summary>Snippet for UpdateDocumentAsync</summary>
        public async Task UpdateDocumentRequestObjectAsync()
        {
            // Snippet: UpdateDocumentAsync(UpdateDocumentRequest, CallSettings)
            // Additional: UpdateDocumentAsync(UpdateDocumentRequest, CancellationToken)
            // Create client
            FirestoreClient firestoreClient = await FirestoreClient.CreateAsync();

            // Initialize request argument(s)
            UpdateDocumentRequest request = new UpdateDocumentRequest
            {
                Document        = new Document(),
                UpdateMask      = new DocumentMask(),
                Mask            = new DocumentMask(),
                CurrentDocument = new Precondition(),
            };
            // Make the request
            Document response = await firestoreClient.UpdateDocumentAsync(request);

            // End snippet
        }
示例#13
0
        /**
         * Update a document in an index
         * Update one or several documents. The update can be made by passing the id or by using a match query in case multiple documents can be updated.  For example update a document using document id:    &#x60;&#x60;&#x60;   {&#39;index&#39;:&#39;movies&#39;,&#39;doc&#39;:{&#39;rating&#39;:9.49},&#39;id&#39;:100}   &#x60;&#x60;&#x60;  And update by using a match query:    &#x60;&#x60;&#x60;   {&#39;index&#39;:&#39;movies&#39;,&#39;doc&#39;:{&#39;rating&#39;:9.49},&#39;query&#39;:{&#39;bool&#39;:{&#39;must&#39;:[{&#39;query_string&#39;:&#39;new movie&#39;}]}}}   &#x60;&#x60;&#x60;   The match query has same syntax as for searching. Responds with an object that tells how many documents where updated in format:     &#x60;&#x60;&#x60;   {&#39;_index&#39;:&#39;products&#39;,&#39;updated&#39;:1}   &#x60;&#x60;&#x60;
         * @param updateDocumentRequest  (required)
         * @return ApiResponse&lt;UpdateResponse&gt;
         * @throws ApiException if fails to make API call
         * @http.response.details
         * <table summary="Response Details" border="1">
         *   <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
         *   <tr><td> 200 </td><td> item updated </td><td>  -  </td></tr>
         *   <tr><td> 0 </td><td> error </td><td>  -  </td></tr>
         * </table>
         *
         * @see <a href="https://docs.manticoresearch.com/latest/html/http_reference/json_update.html">Update a document in an index Documentation</a>
         */
        public ApiResponse <UpdateResponse> UpdateWithHttpInfo(UpdateDocumentRequest updateDocumentRequest)
        {
            object localVarPostBody = updateDocumentRequest;

            // verify the required parameter 'updateDocumentRequest' is set
            if (updateDocumentRequest == null)
            {
                throw new ApiException(400, "Missing the required parameter 'updateDocumentRequest' when calling update");
            }

            // create path and Dictionary variables
            string localVarPath = "/json/update";

            // query params
            List <Pair> localVarQueryParams = new List <Pair>();
            Dictionary <string, string> localVarHeaderParams = new Dictionary <string, string>();
            Dictionary <string, string> localVarCookieParams = new Dictionary <string, string>();
            Dictionary <string, object> localVarFormParams   = new Dictionary <string, object>();

            string[] localVarAccepts =
            {
                "application/json"
            };
            string localVarAccept = apiClient.SelectHeaderAccept(localVarAccepts);

            string[] localVarContentTypes =
            {
                "application/json"
            };
            string localVarContentType = apiClient.SelectHeaderContentType(localVarContentTypes);

            string[] localVarAuthNames = new string[] { };

            UpdateResponse localVarReturnType = new UpdateResponse()
            {
            };

            return(apiClient.InvokeAPI("IndexApi.update", localVarPath, HttpMethod.Post, localVarQueryParams, localVarPostBody,
                                       localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAccept, localVarContentType,
                                       localVarAuthNames, localVarReturnType, false));
        }
        public async Task UpdateDocumentAsync2()
        {
            Mock <Firestore.FirestoreClient> mockGrpcClient = new Mock <Firestore.FirestoreClient>(MockBehavior.Strict);
            UpdateDocumentRequest            request        = new UpdateDocumentRequest
            {
                Document   = new Document(),
                UpdateMask = new DocumentMask(),
            };
            Document expectedResponse = new Document
            {
                Name = "name3373707",
            };

            mockGrpcClient.Setup(x => x.UpdateDocumentAsync(request, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <Document>(Task.FromResult(expectedResponse), null, null, null, null));
            FirestoreClient client   = new FirestoreClientImpl(mockGrpcClient.Object, null);
            Document        response = await client.UpdateDocumentAsync(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public void UpdateDocument2()
        {
            Mock <Firestore.FirestoreClient> mockGrpcClient = new Mock <Firestore.FirestoreClient>(MockBehavior.Strict);
            UpdateDocumentRequest            request        = new UpdateDocumentRequest
            {
                Document   = new Document(),
                UpdateMask = new DocumentMask(),
            };
            Document expectedResponse = new Document
            {
                Name = "name3373707",
            };

            mockGrpcClient.Setup(x => x.UpdateDocument(request, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            FirestoreClient client   = new FirestoreClientImpl(mockGrpcClient.Object, null);
            Document        response = client.UpdateDocument(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
示例#16
0
    public async Task <IActionResult> UpdateDocumentAsync([FromRoute] Guid id, [FromForm] UpdateDocumentRequest request)
    {
        try
        {
            if (id == Guid.Empty)
            {
                return(this.GetBadRequestActionResult());
            }

            request.SetEntityId(id);
            await this._appService.UpdateDocumentAsync(request);

            DocumentResponse document = await this._appService.GetDocumentAsync(id);

            return(this.GetActionResult(id, document));
        }
        catch (Exception exception)
        {
            this._logger.LogError(exception, exception.Message, request);
            return(this.GetErrorActionResult(exception));
        }
    }
示例#17
0
        public void FSUpdateDocument()
        {
            FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Green, "\n:: Update/Create a Document ::\n");

            FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Yellow, "\nEnter Collection [cities]: ");
            string collectionId = Console.ReadLine();

            if (collectionId == "")
            {
                collectionId = "cities";
            }
            FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Yellow, "\nEnter Document Id: ");
            String   docId      = Console.ReadLine();
            Document updatedDoc = GetDocument(docId, collectionId);
            MapField <string, Value> fields;

            if (updatedDoc == null)
            {
                FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Yellow, "\nDocument within " + collectionId + " does not exist, create it (y/n): ");
                String ynValue = Console.ReadLine();
                if ((ynValue.ToLower() != "y") &&
                    (ynValue.ToLower() != "yes"))
                {
                    FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Red, "\nDocument update aborted, returning");
                    return;
                }
                updatedDoc      = new Document();
                updatedDoc.Name = Parent + "/documents/" + collectionId + "/" + docId;
                fields          = new MapField <string, Value>();
            }
            else
            {
                FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.White, "\nAvailable fields in this document to update:\n");
                Utils.ProcessFields(updatedDoc);
                fields = updatedDoc.Fields;
            }
            // update/create fields
            while (true)
            {
                FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Yellow, "\nEnter Field Name (blank when finished): ");
                string fieldName = Console.ReadLine();
                if (fieldName != "")
                {
                    FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Yellow, "\nEnter Field Value: ");
                    string fieldInValue = Console.ReadLine();
                    // TODO must query for type and handle!!!!
                    // TODO only handling string!!!!
                    Value fieldValue = new Value();
                    fieldValue.StringValue = fieldInValue;
                    if (fields.ContainsKey(fieldName))
                    {
                        fields[fieldName].StringValue = fieldInValue;
                    }
                    else
                    {
                        fields.Add(fieldName, fieldValue);
                    }
                }
                else
                {
                    break;
                }
            }
            var updateDocumentRequest = new UpdateDocumentRequest();

            updateDocumentRequest.Document = updatedDoc;
            Document returnDocument;

            try
            {
                returnDocument = FsClient.UpdateDocument(updateDocumentRequest);
            }
            catch (Exception e)
            {
                Console.WriteLine("{0} Exception caught.", e);
            }
            FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Green, "\nSuccessfully updated document!\n");
        }
示例#18
0
        public Response UpdateDocument([FromBody] UpdateDocumentRequest request)
        {
            var ret = _service.UpdateDocument(request);

            return(ret);
        }
示例#19
0
 partial void Modify_UpdateDocumentRequest(ref UpdateDocumentRequest request, ref CallSettings settings) =>
 ApplyResourcePrefixHeader(ref settings, request.Document?.Name);
 public Task <Document> UpdateAsync(UpdateDocumentRequest request, CancellationToken cancellationToken = default(CancellationToken)) =>
 _clientBase.PutAsync <UpdateDocumentRequest, Document>($"subscriptions/{SubscriptionId}/documents/{DocumentId}", request, cancellationToken);
示例#21
0
        static void Main(string[] args)
        {
            try
            {
                var util      = new UtilsApi();
                var searchApi = new SearchApi();
                var indexApi  = new IndexApi();

                Dictionary <string, object> result;
                try
                {
                    result = util.Sql(@"query=select * from products");
                    foreach (var item in result)
                    {
                        Console.WriteLine($"{item.Key} - {item.Value}");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }

                var rs = util.Sql("mode=raw&query=create table products(title text, price float) morphology='stem_en'");

                Console.WriteLine("Create result " + rs.Count + Environment.NewLine);

                rs = util.Sql("mode=raw&query=SELECT * FROM products");

                Console.WriteLine("Select result " + rs.Count + Environment.NewLine);

                var newdoc = new InsertDocumentRequest();
                Dictionary <string, object> doc = new Dictionary <string, object>();
                doc.Add("title", "Crossbody Bag with Tassel");
                doc.Add("price", 19.85);

                newdoc.Index("products").Id(0).SetDoc(doc);
                var insertResult = indexApi.Insert(newdoc);

                Console.WriteLine(insertResult + Environment.NewLine);

                newdoc = new InsertDocumentRequest();
                doc    = new Dictionary <string, object>();

                doc.Add("title", "microfiber sheet set");
                doc.Add("price", 19.99);
                newdoc.Index("products").Id(0).SetDoc(doc);
                insertResult = indexApi.Insert(newdoc);

                Console.WriteLine(insertResult + Environment.NewLine);

                newdoc = new InsertDocumentRequest();
                doc    = new Dictionary <string, object>();
                doc.Add("title", "Pet Hair Remover Glove");
                doc.Add("price", 7.99);
                newdoc.Index("products").Id(0L).SetDoc(doc);
                insertResult = indexApi.Insert(newdoc);

                Console.WriteLine(insertResult + Environment.NewLine);

                var query = new Dictionary <string, object>();
                var match = new Dictionary <string, object>()
                {
                    { "title", "crossbody" }
                };
                query.Add("match", match);
                var searchRequest = new SearchRequest();
                searchRequest.SetIndex("products");
                searchRequest.SetQuery(query);
                Dictionary <string, object> highlight = new Dictionary <string, object>();
                highlight.Add("fields", new string[] { "title" });
                searchRequest.SetHighlight(highlight);
                var searchResponse = searchApi.Search(searchRequest);

                Console.WriteLine(searchResponse + Environment.NewLine);

                UpdateDocumentRequest updateRequest = new UpdateDocumentRequest();
                doc = new Dictionary <string, object>();
                doc.Add("price", 17.5);
                updateRequest.Index("products").Id(2L).SetDoc(doc);
                var updResult = indexApi.Update(updateRequest);

                Console.WriteLine(updResult + Environment.NewLine);

                DeleteDocumentRequest deleteRequest = new DeleteDocumentRequest();
                var condition = new Dictionary <string, object>()
                {
                    { "lte", 10 }
                };
                var field = new Dictionary <string, object>()
                {
                    { "price", condition }
                };
                query = new Dictionary <string, object>()
                {
                    { "range", field }
                };

                deleteRequest.Index("products").SetQuery(query);
                var deleteResult = indexApi.Delete(deleteRequest);

                Console.WriteLine(deleteResult + Environment.NewLine);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        public async Task <IHttpActionResult> UpdateDocument([FromUri] int documentId, [FromBody] UpdateDocumentRequest updateRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            await _documentService.UpdateDocumentAsync(documentId, updateRequest);

            return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NoContent)));
        }
示例#23
0
 /**
  * Update a document in an index
  * Update one or several documents. The update can be made by passing the id or by using a match query in case multiple documents can be updated.  For example update a document using document id:    &#x60;&#x60;&#x60;   {&#39;index&#39;:&#39;movies&#39;,&#39;doc&#39;:{&#39;rating&#39;:9.49},&#39;id&#39;:100}   &#x60;&#x60;&#x60;  And update by using a match query:    &#x60;&#x60;&#x60;   {&#39;index&#39;:&#39;movies&#39;,&#39;doc&#39;:{&#39;rating&#39;:9.49},&#39;query&#39;:{&#39;bool&#39;:{&#39;must&#39;:[{&#39;query_string&#39;:&#39;new movie&#39;}]}}}   &#x60;&#x60;&#x60;   The match query has same syntax as for searching. Responds with an object that tells how many documents where updated in format:     &#x60;&#x60;&#x60;   {&#39;_index&#39;:&#39;products&#39;,&#39;updated&#39;:1}   &#x60;&#x60;&#x60;
  * @param updateDocumentRequest  (required)
  * @return UpdateResponse
  * @throws ApiException if fails to make API call
  * @http.response.details
  * <table summary="Response Details" border="1">
  *   <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
  *   <tr><td> 200 </td><td> item updated </td><td>  -  </td></tr>
  *   <tr><td> 0 </td><td> error </td><td>  -  </td></tr>
  * </table>
  *
  * @see <a href="https://docs.manticoresearch.com/latest/html/http_reference/json_update.html">Update a document in an index Documentation</a>
  */
 public UpdateResponse Update(UpdateDocumentRequest UpdateDocumentRequest)
 {
     return(UpdateWithHttpInfo(UpdateDocumentRequest).GetData());
 }