Project Bosig,
Jimlorance. : https://sanacommerce.visualstudio.com/Sana%20Projects/_git/JimLawrence_932?path=%2FSana.Commerce.Sdk%2FCustomization%2FShop%2FExtendedSalesLineComparer.cs&_a=contents&version=GBmaster
HolzPicher
// Ticket 93818: [Holz Pichler] 3.3.Item variants – “range value” attributes.
public class ExtendedSalesLineComparer : SalesLineComparer { public override bool MatchSku(ISalesLine line1, ISalesLine line2) { var baseResult = base.MatchSku(line1, line2); var result = baseResult && CompareRangeValues(line1, line2); return result; } protected virtual bool CompareRangeValues(ISalesLine line1, ISalesLine line2) { // Ticket 93818: [Holz Pichler] 3.3.Item variants – “range value” attributes. var excictingLineRangeValues = ((BasketLine)line1).RangeValueList; var newLineRangeValues = ((BasketLine)line2).RangeValueList; var machingRangeValueFields = excictingLineRangeValues.Where(x => newLineRangeValues.Any(y => x.Name == y.Name && x.Id == y.Id && x.Value == y.Value)).ToList(); var result = (machingRangeValueFields.Count == newLineRangeValues.Count); return result; } }
latestMissmatchList = latestJsonList.Where(s => !oldCJsonList.Any(s2 => s2.Value.Contains(s.Value) && s2.Key.Contains(s.Key))).ToList();
oldMissmatchList = oldCJsonList.Where(s => !latestJsonList.Any(s2 => s2.Value.Contains(s.Value) && s2.Key.Contains(s.Key))).ToList();
var l1 = currentList.Where(m => !oldList.Contains(m)).ToList();
var l2 = oldList.Where(m => !currentList.Contains(m)).ToList();
var diff1 = currentList.Except(oldList).ToList();
var diff2 = oldList.Except(currentList).ToList();