Exemple #1
0
        private static void SetDummyProductsAsSentAsDummyToWehkamp(List <int> productIDs, PetaPoco.Database db = null)
        {
            var sentToWehkampAsDummyAttributeID = VendorSettingsHelper.GetSentToWehkampAsDummyAttributeID();

            var disposeDatabase = (db == null);

            if (db == null)
            {
                db = new PetaPoco.Database(Environments.Current.Connection, "System.Data.SqlClient");
                db.CommandTimeout = 5 * 60;
            }

            foreach (var productID in productIDs)
            {
                var actualProductID = db.ExecuteScalar <int>(@"select isnull(ParentProductID, productID) as ProductID from Product where productid = @0", productID);

                var sql = string.Format("IF EXISTS (SELECT * FROM [ProductAttributeValue] WHERE AttributeID = {0} AND ProductID = {1}) UPDATE [ProductAttributeValue] SET [Value] = 'true' WHERE AttributeID = {0} AND ProductID = {1} ELSE INSERT INTO [ProductAttributeValue] (AttributeID, ProductID, [Value], CreatedBy, CreationTime) VALUES ({0}, {1}, 'true', 1, getdate())", sentToWehkampAsDummyAttributeID, actualProductID);
                db.Execute(sql);
            }

            if (disposeDatabase)
            {
                db.Dispose();
            }
        }
        private static void RemoveSentAsDummy(List <int> productIDs)
        {
            var sentToWehkampAsDummyAttributeID = VendorSettingsHelper.GetSentToWehkampAsDummyAttributeID();

            using (var db = new PetaPoco.Database(Environments.Current.Connection, "System.Data.SqlClient"))
            {
                db.CommandTimeout = 30;
                var sql = string.Format("DELETE FROM ProductAttributeValue WHERE AttributeID = {0} AND ProductID IN ({1})", sentToWehkampAsDummyAttributeID, string.Join(",", productIDs.ToArray()));
                db.Execute(sql);

                var sqlParents = string.Format("DELETE FROM ProductAttributeValue WHERE AttributeID = {0} AND ProductID IN (SELECT ParentProductID FROM Product WHERE ProductID IN ({1}))", sentToWehkampAsDummyAttributeID, string.Join(",", productIDs.ToArray()));
                db.Execute(sqlParents);
            }
        }