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); } }