async Task <AdminDatasetQuery> UpdateDynamicDatasetQueryAsync(AdminDatasetQuery query) { using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); var grid = await cn.QueryMultipleAsync( Sql.UpdateDynamic, new { id = query.Id, name = query.Name, catid = query.CategoryId, desc = query.Description, sql = query.SqlStatement, isEnc = query.IsEncounterBased, schema = DynamicDatasetSchemaFieldSerde.Serialize(query.Schema), sqlDate = query.SqlFieldDate, sqlValString = query.SqlFieldValueString, sqlValNum = query.SqlFieldValueNumeric, tags = DatasetQueryTagTable.From(query.Tags), constraints = ResourceConstraintTable.From(query), user = user.UUID }, commandType : CommandType.StoredProcedure, commandTimeout : opts.DefaultTimeout); var updated = DbReader.Read(grid); return(updated); } }
public static AdminDatasetQuery Read(SqlMapper.GridReader grid) { var query = grid.ReadFirstOrDefault <DatasetQueryRecord>(); if (query == null) { return(null); } var tags = grid.Read <DatasetQueryTag>(); var cons = grid.Read <DatasetQueryConstraintRecord>(); return(new AdminDatasetQuery { Id = query.Id, UniversalId = DatasetQueryUrn.From(query.UniversalId), Shape = (Shape)query.Shape, Name = query.Name, CategoryId = query.CategoryId, Description = query.Description, IsEncounterBased = query.IsEncounterBased, SqlStatement = query.SqlStatement, SqlFieldDate = query.SqlFieldDate, SqlFieldValueString = query.SqlFieldValueString, SqlFieldValueNumeric = query.SqlFieldValueNumeric, Schema = DynamicDatasetSchemaFieldSerde.Deserialize(query.Schema), Created = query.Created, CreatedBy = query.CreatedBy, Updated = query.Updated, UpdatedBy = query.UpdatedBy, Tags = tags.Select(t => t.Tag), Constraints = cons.Select(c => c.Constraint()) }); }