Frapid.WebApi.DataAccess.FormRepository.AddCustomFieldsAsync C# (CSharp) Method

AddCustomFieldsAsync() public method

public AddCustomFieldsAsync ( object primaryKeyValue, List customFields ) : System.Threading.Tasks.Task
primaryKeyValue object
customFields List
return System.Threading.Tasks.Task
        public async Task AddCustomFieldsAsync(object primaryKeyValue, List<CustomField> customFields)
        {
            string sql = $"DELETE FROM config.custom_fields WHERE custom_field_setup_id IN(" +
                         "SELECT custom_field_setup_id " + "FROM config.custom_field_setup " +
                         "WHERE form_name=config.get_custom_field_form_name('{this.FullyQualifiedObjectName}')" + ");";

            await Factory.NonQueryAsync(this.Database, sql).ConfigureAwait(false);

            if (customFields == null)
            {
                return;
            }

            foreach (var field in customFields)
            {
                sql = $"INSERT INTO config.custom_fields(custom_field_setup_id, resource_id, value) " +
                      "SELECT config.get_custom_field_setup_id_by_table_name('{this.FullyQualifiedObjectName}', @0), " +
                      "@1, @2;";

                await
                    Factory.NonQueryAsync(this.Database, sql, field.FieldName, primaryKeyValue, field.Value)
                        .ConfigureAwait(false);
            }
        }