コード例 #1
0
        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);
        }
コード例 #2
0
        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>()));
        }