Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 4
0
 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));
            }
        }
Esempio n. 6
0
 public static DataTable From(SpecializationGroup group)
 {
     return(From(group.Specializations));
 }
Esempio n. 7
0
 public SpecializationGroupRecord(SpecializationGroup g)
 {
     Id            = g.Id;
     SqlSetId      = g.SqlSetId;
     UiDefaultText = g.UiDefaultText;
 }