public Code SearchCode(string stringValue, CodeConverter codeConverter) { var code = new Code(); var seedValue = codeConverter.ConvertFromCode(stringValue); code.SeedValue = seedValue; code.StringValue = stringValue; Connection.Open(); using (var command = Connection.CreateCommand()) { command.CommandText = @" SELECT [State] FROM Codes WHERE SeedValue = @seedValue "; command.Parameters.AddWithValue("@seedValue", code.SeedValue); using (var reader = command.ExecuteReader()) { if (reader.Read()) { code.State = States.ConvertToString((byte)reader["State"]); } } } Connection.Close(); return(code.State == null ? null : code); }
public IActionResult DeactivateCode([FromRoute] int campaignId, [FromRoute] string code) { var sql = new SQL(connectionString: _config.GetConnectionString("Storage")); var codeConverter = new CodeConverter(_config.GetSection("Base26")["Alphabet"]); var seedValue = codeConverter.ConvertFromCode(code); sql.DeactivateCode(campaignId, seedValue); return(Ok()); }
public IActionResult RedeemCode([FromRoute] string code) { var sql = new SQL(_config.GetConnectionString("SQLConnnection")); var codeConverter = new CodeConverter(_config.GetSection("Base26")["Alphabet"]); var seedValue = codeConverter.ConvertFromCode(code); sql.CheckIfCodeCanBeRedeemed(seedValue, code); return(Ok()); }
public IActionResult RedeemCode([FromRoute] string code, [FromBody] string email) { var sql = new SQL(connectionString: _config.GetConnectionString("Storage")); var codeConverter = new CodeConverter(_config.GetSection("Base26")["Alphabet"]); var seedValue = codeConverter.ConvertFromCode(code); var isRedeemed = sql.RedeemCode(seedValue, email); if (isRedeemed) { return(Ok()); } return(BadRequest()); }