public async Task <SpecializationGroup> Create(SpecializationGroup g) { logger.LogInformation("Creating SpecializationGroup:{@SpecializationGroup}", g); using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); try { var grid = await cn.QueryMultipleAsync( Sql.Create, new { sqlSetId = g.SqlSetId, uiDefaultText = g.UiDefaultText, specs = SpecializationTable.From(g), user = user.UUID }, commandType : CommandType.StoredProcedure, commandTimeout : opts.DefaultTimeout); return(HydratedSpecializationGroupReader.ReadSingle(grid)); } catch (SqlException se) { logger.LogError("Could not create SpecializationGroup. SpecializationGroup:{@SpecializationGroup} Code:{Code} Error:{Error}", g, se.ErrorCode, se.Message); se.MapThrow(); throw; } } }
public async Task <SpecializationGroup> Update(SpecializationGroup spec) { var record = new SpecializationGroupRecord(spec); logger.LogInformation("Updating SpecializationGroup:{SpecializationGroup}", record); using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); try { var updatedRecord = await cn.QueryFirstOrDefaultAsync <SpecializationGroupRecord>( Sql.Update, new { id = record.Id, sqlSetId = record.SqlSetId, uiDefaultText = record.UiDefaultText, user = user.UUID }, commandType : CommandType.StoredProcedure, commandTimeout : opts.DefaultTimeout ); if (updatedRecord == null) { return(null); } var updated = updatedRecord.SpecializationGroup(); updated.Specializations = spec.Specializations; return(updated); } catch (SqlException se) { logger.LogInformation("Could not update SpecializationGroup. SpecializationGroup:{@SpecializationGroup} Code:{Code} Error:{Error}", record, se.ErrorCode, se.Message); se.MapThrow(); throw; } } }
public async Task <SpecializationGroup> UpdateAsync(SpecializationGroup spec) { var record = new SpecializationGroupRecord(spec); using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); var updatedRecord = await cn.QueryFirstOrDefaultAsync <SpecializationGroupRecord>( Sql.Update, new { id = record.Id, sqlSetId = record.SqlSetId, uiDefaultText = record.UiDefaultText, user = user.UUID }, commandType : CommandType.StoredProcedure, commandTimeout : opts.DefaultTimeout ); if (updatedRecord == null) { return(null); } var updated = updatedRecord.SpecializationGroup(); updated.Specializations = spec.Specializations; return(updated); } }
public static SpecializationGroupDTO From(SpecializationGroup sg) { if (sg == null) { return(null); } return(new SpecializationGroupDTO { Id = sg.Id, SqlSetId = sg.SqlSetId, Specializations = sg.Specializations.Select(SpecializationDTO.From), UiDefaultText = sg.UiDefaultText }); }
public async Task <SpecializationGroup> CreateAsync(SpecializationGroup g) { using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); var grid = await cn.QueryMultipleAsync( Sql.Create, new { sqlSetId = g.SqlSetId, uiDefaultText = g.UiDefaultText, specs = SpecializationTable.From(g), user = user.UUID }, commandType : CommandType.StoredProcedure, commandTimeout : opts.DefaultTimeout); return(HydratedSpecializationGroupReader.ReadSingle(grid)); } }
public static DataTable From(SpecializationGroup group) { return(From(group.Specializations)); }
public SpecializationGroupRecord(SpecializationGroup g) { Id = g.Id; SqlSetId = g.SqlSetId; UiDefaultText = g.UiDefaultText; }