Esempio n. 1
0
        /// <summary>
        /// Remove a Product to a Discount
        /// </summary>
        /// <returns></returns>
        public Response RemoveProduct(Objects.DiscountProduct product)
        {
            int      statusCode = 204;
            Response response   = new Response();

            try
            {
                Database.Connection.Open();

                string       Query   = "DELETE FROM ProductDiscounts WHERE ProductId=@ProductId ";
                MySqlCommand Command = new MySqlCommand(Query, Database.Connection);
                Command.Parameters.AddWithValue("ProductId", product.ProductId);
                Command.ExecuteNonQuery();

                Database.Connection.Close();

                // OK : Successfully Deleted -> Returning No Content
                statusCode          = 204;
                response.StatusCode = statusCode;
            }
            catch (MySqlException e)
            {
                Logger.QueryError(e, "Discount", "RemoveProduct");
                // Internal Error :
                response.StatusCode = 500;
            }
            if (Database.Connection.State == ConnectionState.Open)
            {
                Database.Connection.Close();
            }

            return(response);
        }
Esempio n. 2
0
        /// <summary>
        /// Get Products of Discount
        /// </summary>
        /// <returns></returns>
        public Response GetDiscountProducts(Objects.Discount discount)
        {
            int           statusCode = 200;
            Response      response   = new Response();
            List <object> products   = new List <object>();

            try
            {
                Database.Connection.Open();
                string query = " SELECT * FROM ProductDiscounts WHERE DiscountId=@DiscountId ORDER BY CreatedAt DESC ";
                //Execute Query
                MySqlCommand Command = new MySqlCommand(query, Database.Connection);
                Command.Parameters.AddWithValue("DiscountId", discount.Id);
                MySqlDataReader DataReader = Command.ExecuteReader();

                //Read Data
                while (DataReader.Read())
                {
                    Objects.DiscountProduct product = new Objects.DiscountProduct
                    {
                        DiscountId = DataReader["DiscountId"].ToString(),
                        ProductId  = DataReader["ProductId"].ToString(),
                        CreatedAt  = Convert.ToDateTime(DataReader["CreatedAt"].ToString()),
                    };
                    products.Add(product);
                }
                if (!DataReader.HasRows)
                {
                    // Nothing
                    statusCode = 204;
                }
                else
                {
                    // OK
                    statusCode = 200;
                }

                Database.Connection.Close();

                //Response
                response.StatusCode = statusCode;
                response.DataArray  = products;
            }
            catch (MySqlException e)
            {
                Logger.QueryError(e, "Discount", "Getting Discount Products");
                // Internal Error :
                response.StatusCode = 500;
            }
            //Close Connection if Open
            if (Database.Connection.State == ConnectionState.Open)
            {
                Database.Connection.Close();
            }

            return(response);
        }
Esempio n. 3
0
        /// <summary>
        /// Add a Product to a Discount
        /// </summary>
        /// <returns></returns>
        public Response AddProduct(Objects.DiscountProduct product)
        {
            int      statusCode = 201;
            Response response   = new Response();

            try
            {
                Database.Connection.Open();

                string       query   = " INSERT INTO ProductDiscounts (DiscountId, ProductId) VALUES (@DiscountId, @ProductId) ";
                MySqlCommand Command = new MySqlCommand(query, Database.Connection);
                Command.Parameters.AddWithValue("DiscountId", product.DiscountId);
                Command.Parameters.AddWithValue("ProductId", product.ProductId);
                Command.ExecuteNonQuery();

                Database.Connection.Close();

                // Created
                statusCode = 201;
            }
            catch (MySqlException e)
            {
                if (e.Message.Contains("Duplicate entry"))
                {
                    //Duplicate Key or Conflict
                    statusCode = 409;
                }
                else
                {
                    // Internal Server Error
                    statusCode = 500;
                }
                Logger.QueryError(e, "Discount", "AddProduct");
            }
            //Close Connection if Open
            if (Database.Connection.State == ConnectionState.Open)
            {
                Database.Connection.Close();
            }

            //Response

            response.StatusCode = statusCode;
            response.Data       = product;

            return(response);
        }