private static SchemeTwistRequirement MapSchemeTwistRequirement(IDataRecord data, IReadOnlyList <int> fields) { var schemeTwistRequirement = new SchemeTwistRequirement(); if (fields.Count == 0) { fields = DatabaseDefinition.BasicFields; } if (fields.Contains(SchemeTwistRequirement.IdFieldNumber)) { schemeTwistRequirement.Id = data.Get <int>(DatabaseDefinition.GetSelectResult(SchemeTwistRequirement.IdFieldNumber)); } if (fields.Contains(SchemeTwistRequirement.SchemeIdFieldNumber)) { schemeTwistRequirement.SchemeId = data.Get <int>(DatabaseDefinition.GetSelectResult(SchemeTwistRequirement.SchemeIdFieldNumber)); } if (fields.Contains(SchemeTwistRequirement.PlayerCountFieldNumber)) { schemeTwistRequirement.PlayerCount = data.Get <int>(DatabaseDefinition.GetSelectResult(SchemeTwistRequirement.PlayerCountFieldNumber)); } if (fields.Contains(SchemeTwistRequirement.SchemeTwistCountFieldNumber)) { schemeTwistRequirement.SchemeTwistCount = data.Get <int>(DatabaseDefinition.GetSelectResult(SchemeTwistRequirement.SchemeTwistCountFieldNumber)); } if (fields.Contains(SchemeTwistRequirement.AllowedFieldNumber)) { schemeTwistRequirement.Allowed = data.Get <bool>(DatabaseDefinition.GetSelectResult(SchemeTwistRequirement.AllowedFieldNumber)); } return(schemeTwistRequirement); }
internal static async ValueTask <int> AddSchemeTwistRequirementAsync(SchemeTwistRequirement requirement) { using var db = new LegendaryDatabase(); var connector = DbConnector.Create(db.Connection, new DbConnectorSettings { AutoOpen = true, LazyOpen = true }); return((int)(await connector.Command( $@" insert into {TableNames.TwistRequirements} (TwistCount, IsAllowed) values ({requirement.SchemeTwistCount}, {requirement.Allowed}); select last_insert_id();" ) .QuerySingleAsync <ulong>())); }