public void Should_Be_Able_To_Create_A_New_Data_Reader() { var results = new EntityResultSet(null, null, null); results.ColumnMetadata = new List <ColumnMetadata>(); results.Results = new EntityCollection(new List <Entity>()); var subject = new CrmDbDataReader(results); }
private void HandleUpdateResponse(UpdateResponse updateResponse, EntityResultSet resultSet) { if (updateResponse != null) { var updateRequest = (UpdateRequest)Request; var result = updateRequest.Target; resultSet.Results = new EntityCollection(new List <Entity>(new Entity[] { result })); } }
private void HandleUpdateResponse(UpdateResponse updateResponse, EntityResultSet resultSet) { if (updateResponse != null) { var updateRequest = (UpdateRequest)Request; var result = updateRequest.Target; resultSet.Results = new EntityCollection(new List<Entity>(new Entity[] { result })); } }
public DataReaderTestsSandbox() : base() { // Arrange by registering our fake services into the test container. FakeCrmDbConnection = this.RegisterMockInstance <CrmDbConnection>(); this.Container.Register <DbConnection>(FakeCrmDbConnection); CrmConnectionInfo connInfo = new CrmConnectionInfo(); connInfo.BusinessUnitId = Guid.NewGuid(); connInfo.OrganisationId = Guid.NewGuid(); connInfo.OrganisationName = "UnitTesting"; connInfo.ServerVersion = "1.0.0.0"; connInfo.UserId = Guid.NewGuid(); FakeCrmDbConnection.Stub(c => c.ConnectionInfo).Return(connInfo); SchemaTableProvider = new SchemaTableProvider(); this.Container.Register <ISchemaTableProvider>(SchemaTableProvider); // Singleton. // Create some fake results data FakeResultSet = new EntityResultSet(null, null, null); FakeResultSet.ColumnMetadata = new List <ColumnMetadata>(); var firstNameAttInfo = new StringAttributeInfo(); firstNameAttInfo.AttributeType = AttributeTypeCode.String; firstNameAttInfo.LogicalName = "firstname"; var firstNameC = new ColumnMetadata(firstNameAttInfo); var lastNameAttInfo = new StringAttributeInfo(); lastNameAttInfo.AttributeType = AttributeTypeCode.String; lastNameAttInfo.LogicalName = "lastname"; var lastnameC = new ColumnMetadata(lastNameAttInfo); FakeResultSet.ColumnMetadata.Add(firstNameC); FakeResultSet.ColumnMetadata.Add(lastnameC); FakeResultSet.Results = new EntityCollection(new List <Entity>()); var result = new Entity("contact"); result.Id = Guid.NewGuid(); result["firstname"] = "joe"; result["lastname"] = "schmoe"; FakeResultSet.Results.Entities.Add(result); this.Container.Register <EntityResultSet>(FakeResultSet); this.Container.Register <ResultSet>(FakeResultSet); }
public DataReaderTestsSandbox() : base() { // Arrange by registering our fake services into the test container. FakeCrmDbConnection = this.RegisterMockInstance<CrmDbConnection>(); this.Container.Register<DbConnection>(FakeCrmDbConnection); CrmConnectionInfo connInfo = new CrmConnectionInfo(); connInfo.BusinessUnitId = Guid.NewGuid(); connInfo.OrganisationId = Guid.NewGuid(); connInfo.OrganisationName = "UnitTesting"; connInfo.ServerVersion = "1.0.0.0"; connInfo.UserId = Guid.NewGuid(); FakeCrmDbConnection.Stub(c => c.ConnectionInfo).Return(connInfo); SchemaTableProvider = new SchemaTableProvider(); this.Container.Register<ISchemaTableProvider>(SchemaTableProvider); // Singleton. // Create some fake results data FakeResultSet = new EntityResultSet(null, null, null); FakeResultSet.ColumnMetadata = new List<ColumnMetadata>(); var firstNameAttInfo = new StringAttributeInfo(); firstNameAttInfo.AttributeType = AttributeTypeCode.String; firstNameAttInfo.LogicalName = "firstname"; var firstNameC = new ColumnMetadata(firstNameAttInfo); var lastNameAttInfo = new StringAttributeInfo(); lastNameAttInfo.AttributeType = AttributeTypeCode.String; lastNameAttInfo.LogicalName = "lastname"; var lastnameC = new ColumnMetadata(lastNameAttInfo); FakeResultSet.ColumnMetadata.Add(firstNameC); FakeResultSet.ColumnMetadata.Add(lastnameC); FakeResultSet.Results = new EntityCollection(new List<Entity>()); var result = new Entity("contact"); result.Id = Guid.NewGuid(); result["firstname"] = "joe"; result["lastname"] = "schmoe"; FakeResultSet.Results.Entities.Add(result); this.Container.Register<EntityResultSet>(FakeResultSet); this.Container.Register<ResultSet>(FakeResultSet); }
private void HandleCreateResponse(CreateResponse createResponse, EntityResultSet resultSet) { if (createResponse != null) { // if(orgCommand.Columns.Any) // for execute reader and execute scalar purposes, we provide a result that has the newly created id of the entity. var request = (CreateRequest)Request; var entResult = new Entity(request.Target.LogicalName); // Populate results for execute reader and execute scalar purposes. var idattname = string.Format("{0}id", request.Target.LogicalName); entResult[idattname] = createResponse.id; entResult.Id = createResponse.id; resultSet.Results = new EntityCollection(new List <Entity>(new Entity[] { entResult })); // Add column metadata for the results we are returning, in this case it's just the id. string[] resultattributes = new string[] { idattname }; // AddResultColumnMetadata(orgCommand, resultSet, request.Target.LogicalName, resultattributes); } }
private void HandleCreateResponse(CreateResponse createResponse, EntityResultSet resultSet) { if (createResponse != null) { // if(orgCommand.Columns.Any) // for execute reader and execute scalar purposes, we provide a result that has the newly created id of the entity. var request = (CreateRequest)Request; var entResult = new Entity(request.Target.LogicalName); // Populate results for execute reader and execute scalar purposes. var idattname = string.Format("{0}id", request.Target.LogicalName); entResult[idattname] = createResponse.id; entResult.Id = createResponse.id; resultSet.Results = new EntityCollection(new List<Entity>(new Entity[] { entResult })); // Add column metadata for the results we are returning, in this case it's just the id. string[] resultattributes = new string[] { idattname }; // AddResultColumnMetadata(orgCommand, resultSet, request.Target.LogicalName, resultattributes); } }
private void HandleUpdateWithRetreiveResponse(ExecuteMultipleResponse executeMultipleResponse, EntityResultSet resultSet) { if (executeMultipleResponse != null) { // for execute reader and execute scalar purposes, we provide a result that has the newly created id of the entity. // var execMultipleRequest = (ExecuteMultipleRequest)executeMultipleRequest; int updateOperationBatchPosition = 0; // BatchRequestIndex; var batchRequest = BatchRequest; if (batchRequest == null) { throw new InvalidOperationException("BatchRequest should not be null when executing a request with an output clause."); } var request = (UpdateRequest)batchRequest.Requests[updateOperationBatchPosition]; int retrieveOperationBatchPosition = updateOperationBatchPosition + 1; var retrieveResponse = (RetrieveResponse)executeMultipleResponse.Responses[retrieveOperationBatchPosition].Response; var result = retrieveResponse.Entity; resultSet.Results = new EntityCollection(new List<Entity>(new Entity[] { result })); } }
/// <summary> /// 固有表現抽出を行う /// </summary> /// <param name="sentence">抽出を行う文章</param> /// <param name="classFilter">抽出を行う固有表現の種類 複数指定可 未指定の場合は全部</param> /// <returns>単語と固有表現の種類を含む構造体のリスト</returns> public async Task <List <EntityResultSet> > ExecAsync(String sentence, ClassType classFilter = ClassType.ALL) { var client = new HttpClient(); //固有表現抽出のエンドポイントURL var uri = "https://api.apigw.smt.docomo.ne.jp/gooLanguageAnalysis/v1/entity?APIKEY=" + APIKey; //固有表現種類のフィルターのパラメータを生成 string class_filter = ""; if (classFilter.HasFlag(ClassType.ART)) { class_filter += "ART|"; } if (classFilter.HasFlag(ClassType.DAT)) { class_filter += "DAT|"; } if (classFilter.HasFlag(ClassType.LOC)) { class_filter += "LOC|"; } if (classFilter.HasFlag(ClassType.ORG)) { class_filter += "ORG|"; } if (classFilter.HasFlag(ClassType.PSN)) { class_filter += "PSN|"; } if (classFilter.HasFlag(ClassType.TIM)) { class_filter += "TIM|"; } class_filter.TrimEnd('|'); //要求するメッセージを作成 dynamic request = new { sentence = sentence, class_filter = class_filter }; //JSONへ変換(Newtonsoft Json.NETライブラリ使用) string json = JsonConvert.SerializeObject(request); //要求を送信 StringContent content = new StringContent(json); content.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); HttpResponseMessage response = await client.PostAsync(uri, content); //エラー確認 if (response.StatusCode != System.Net.HttpStatusCode.OK) { string err_resp = await response.Content.ReadAsStringAsync(); throw new Exception("ERROR" + err_resp); } //サーバーからの応答(Json)を文字列として取り出す string response_json = await response.Content.ReadAsStringAsync(); //jsonをパース(Newtonsoft Json.NETライブラリ使用) JObject result_object = JObject.Parse(response_json); dynamic result = result_object["ne_list"]; var return_value = new List <EntityResultSet>(); //変換結果を取り出す foreach (var r in result) { EntityResultSet e = new EntityResultSet(); e.Entity = r[0]; e.Type = (ClassType)Enum.Parse(typeof(ClassType), (string)r[1]); return_value.Add(e); } return(return_value); }
protected virtual EntityResultSet CreateEntityResultSet() { var resultSet = new EntityResultSet(DbCommand.CrmDbConnection, Request, Columns); return resultSet; }
protected virtual EntityResultSet CreateEntityResultSet() { var resultSet = new EntityResultSet(DbCommand.CrmDbConnection, Request, Columns); return(resultSet); }
private void HandleUpdateWithRetreiveResponse(ExecuteMultipleResponse executeMultipleResponse, EntityResultSet resultSet) { if (executeMultipleResponse != null) { // for execute reader and execute scalar purposes, we provide a result that has the newly created id of the entity. // var execMultipleRequest = (ExecuteMultipleRequest)executeMultipleRequest; int updateOperationBatchPosition = 0; // BatchRequestIndex; var batchRequest = BatchRequest; if (batchRequest == null) { throw new InvalidOperationException("BatchRequest should not be null when executing a request with an output clause."); } var request = (UpdateRequest)batchRequest.Requests[updateOperationBatchPosition]; int retrieveOperationBatchPosition = updateOperationBatchPosition + 1; var retrieveResponse = (RetrieveResponse)executeMultipleResponse.Responses[retrieveOperationBatchPosition].Response; var result = retrieveResponse.Entity; resultSet.Results = new EntityCollection(new List <Entity>(new Entity[] { result })); } }
public void Should_Throw_Argument_Null_When_Constructed_With_Null_Results() { EntityResultSet results = null; var subject = new CrmDbDataReader(results); }
private void HandleCreateWithRetreiveResponse(ExecuteMultipleResponse executeMultipleResponse, EntityResultSet resultSet) { if (executeMultipleResponse != null) { // for execute reader and execute scalar purposes, we provide a result that has the newly created id of the entity. // var execMultipleRequest = (ExecuteMultipleRequest)executeMultipleRequest; int createOperationBatchPosition = 0; if (executeMultipleResponse.IsFaulted) { var fault = executeMultipleResponse.Responses.Where(r => r.Fault != null).FirstOrDefault(); // var errorText = from f in faults select f.Fault.InnerFault.Message; FaultReason reason = new FaultReason(fault.Fault.Message); throw new FaultException <OrganizationServiceFault>(fault.Fault, reason); } var batchRequest = BatchRequest; if (batchRequest == null) { throw new InvalidOperationException("BatchRequest should not be null when executing a request with an output clause."); } var request = (CreateRequest)batchRequest.Requests[createOperationBatchPosition]; int retrieveOperationBatchPosition = createOperationBatchPosition + 1; var retrieveResponse = (RetrieveResponse)executeMultipleResponse.Responses[retrieveOperationBatchPosition].Response; var result = retrieveResponse.Entity; resultSet.Results = new EntityCollection(new List <Entity>(new Entity[] { result })); } }
private void HandleCreateWithRetreiveResponse(ExecuteMultipleResponse executeMultipleResponse, EntityResultSet resultSet) { if (executeMultipleResponse != null) { // for execute reader and execute scalar purposes, we provide a result that has the newly created id of the entity. // var execMultipleRequest = (ExecuteMultipleRequest)executeMultipleRequest; int createOperationBatchPosition = 0; if (executeMultipleResponse.IsFaulted) { var fault = executeMultipleResponse.Responses.Where(r => r.Fault != null).FirstOrDefault(); // var errorText = from f in faults select f.Fault.InnerFault.Message; FaultReason reason = new FaultReason(fault.Fault.Message); throw new FaultException<OrganizationServiceFault>(fault.Fault, reason); } var batchRequest = BatchRequest; if (batchRequest == null) { throw new InvalidOperationException("BatchRequest should not be null when executing a request with an output clause."); } var request = (CreateRequest)batchRequest.Requests[createOperationBatchPosition]; int retrieveOperationBatchPosition = createOperationBatchPosition + 1; var retrieveResponse = (RetrieveResponse)executeMultipleResponse.Responses[retrieveOperationBatchPosition].Response; var result = retrieveResponse.Entity; resultSet.Results = new EntityCollection(new List<Entity>(new Entity[] { result })); } }