Question

Hello,

I have developed one service which inserts contact and contact-address from the third party to bpm'online. I have written below code to add contact and its Address simultaneously:

var insertContactQuery = new InsertQuery()

{
                    // Root schema name.
                    RootSchemaName = "Contact",
                    OperationType = QueryOperationType.Insert,
                    // New column values.
                    ColumnValues = new ColumnValues()
                    {
                        // Key-value collection.
                        Items = new Dictionary<string, ColumnExpression>()
                                 {
                                     {
                                         "Account",
                                         new ColumnExpression()
                                         {
                                             ExpressionType = EntitySchemaQueryExpressionType.Parameter,
                                             ColumnPath = "Account",
                                             Parameter = new Terrasoft.Nui.ServiceModel.DataContract.Parameter()
                                             {
                                                 Value = item.AccountId,
                                                 DataValueType = DataValueType.Lookup
                                             }
                                         }
                                     },
                                     {
                                         "Name",
                                         new ColumnExpression()
                                         {
                                             ExpressionType = EntitySchemaQueryExpressionType.Parameter,
                                             ColumnPath = "Name",
                                             Parameter = new Terrasoft.Nui.ServiceModel.DataContract.Parameter()
                                             {
                                                 Value = item.StoreContactFirstName + " " + item.StoreContactLastName,
                                                 DataValueType = DataValueType.Text
                                             }
                                         }
                                     },
                                     {
                                         "MobilePhone",
                                         new ColumnExpression()
                                         {
                                             ExpressionType = EntitySchemaQueryExpressionType.Parameter,
                                             ColumnPath = "MobilePhone",
                                             Parameter = new Terrasoft.Nui.ServiceModel.DataContract.Parameter()
                                             {
                                                 Value = item.StorePhoneNumber,
                                                 DataValueType = DataValueType.Text
                                             }
                                         }
                                     },
                                     {
                                         "ContactAddress",
                                         new ColumnExpression()
                                         {
                                             ExpressionType = EntitySchemaQueryExpressionType.Parameter,
                                             ColumnPath = "Address",
                                             Parameter = new Terrasoft.Nui.ServiceModel.DataContract.Parameter()
                                             {
                                                 Value = item.StoreStreetAddress,
                                                 DataValueType = DataValueType.Text
                                             }
                                         }
                                     },
                                     {
                                         "ContactCity",
                                         new ColumnExpression()
                                         {
                                             ExpressionType = EntitySchemaQueryExpressionType.Parameter,
                                             ColumnPath = "City",
                                             Parameter = new Terrasoft.Nui.ServiceModel.DataContract.Parameter()
                                             {
                                                 Value = item.StoreCityName,
                                                 DataValueType = DataValueType.Text
                                             }
                                         }
                                     },
                                     {
                                         "ContactZip",
                                         new ColumnExpression()
                                         {
                                             ExpressionType = EntitySchemaQueryExpressionType.Parameter,
                                             ColumnPath = "Zip",
                                             Parameter = new Terrasoft.Nui.ServiceModel.DataContract.Parameter()
                                             {
                                                 Value = item.StoreZipCode,
                                                 DataValueType = DataValueType.Text
                                             }
                                         }
                                     }
                                 }
                    }
                };

am I doing something wrong? Please guide.

Like

4 comments

Dear Riddhi,

Unfortunately, it is not possible to add data to the “Contact” and “ContactAddress” tables simultaneously using the approach that was described early. However, we can offer two ways solving the issue:

1. In order to add data via DataService please do the following:

-Create custom columns in the “Contact” object for storing the corresponding address values.

-Create a business process that will take the values from these columns and add them to the corresponding columns from the “ContactAddress” table.

Please note that we do not recommend using DataService for adding data to the database.

2. Create a web service for adding data. This approach is recommended for solving such types of the issues.

Best regards,

Norton

Norton Lingard,

Thanks, Norton. Can you please provide any reference link or example for adding records with web service? It would be really grateful.

Dear Riddhi,

Please find more information by link below:

https://academy.bpmonline.com/documents/technic-sdk/7-14/how-run-bpmonline-processes-web-service

Best regards,

Norton

Norton Lingard,

Thanks

Log in or register to comment
Question

How to apply access permissions (object permission) / access right when insert data via server-side?

I have set the record access permission, but when inserting via server-side, the access right does not work. The insert method that I did was in accordance with the article above.

Thanks.

Like

1 comments

Hi,

It is possible adding data via server-side with access permissions using the “Entity” class. Please find more information with the examples by the link below:

https://academy.bpmonline.com/documents/technic-sdk/7-13/working-database-entity-class

Best regards,

Norton  

Log in or register to comment