Example #1
0
        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();
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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();
        }