public void DeactivateCode(string alphabet, string stringValue) { var convertCode = new CodeConverter(alphabet); var seedValue = convertCode.ConvertFromCode(stringValue); Connection.Open(); using (var command = Connection.CreateCommand()) { command.CommandText = @"Update Code SET [State] = @inactive WHERE [SeedValue] = @seedValue"; command.Parameters.AddWithValue("@seedValue", seedValue); command.Parameters.AddWithValue("@inactive", States.Inactive); command.Parameters.AddWithValue("@active", States.Active); command.ExecuteNonQuery(); } }
public List <Code> GetCodes(int promotionID, int pageNumber, int pageSize, string alphabet) { var convertCode = new CodeConverter(alphabet); var codes = new List <Code>(); var p = Pagination.PaginationPageNumber(pageSize, pageNumber); var pages = PageCount(promotionID); Connection.Open(); using (var command = Connection.CreateCommand()) { command.CommandText = @"Declare @codeIDStart int Declare @codeIDEnd int SET @codeIDStart = (SELECT CodeIDStart FROM Promotion WHERE ID = @promotionID) SET @codeIDEnd = (SELECT CodeIDEnd FROM Promotion WHERE ID = @promotionID) SELECT * FROM Code WHERE ID BETWEEN @codeIDStart AND @codeIDEnd ORDER BY ID OFFSET @page ROWS FETCH NEXT @pageSize ROWS ONLY"; command.Parameters.AddWithValue("@page", p); command.Parameters.AddWithValue("@pageSize", pageSize); command.Parameters.AddWithValue(@"promotionID", promotionID); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var code = new Code(); var seed = (int)reader["SeedValue"]; code.State = States.ConvertToString((byte)reader["State"]); code.StringValue = convertCode.ConvertToCode(seed); codes.Add(code); } } } Connection.Close(); return(codes); }
public void DeactivateCode(string alphabet, string code) { var codeConverter = new CodeConverter(alphabet); var seedValue = codeConverter.ConvertFromCode(code); Connection.Open(); using (var command = Connection.CreateCommand()) { command.CommandText = @"UPDATE Codes SET [State] = @inactive WHERE SeedValue = @seedvalue AND [State] = @active"; command.Parameters.AddWithValue("@inactive", State.Inactive); command.Parameters.AddWithValue("@active", State.Active); command.Parameters.AddWithValue("@seedvalue", seedValue); command.ExecuteNonQuery(); } Connection.Close(); }