How to compair two lines in SANA / Linq list

 

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 line1ISalesLine line2)
        {
            var baseResult = base.MatchSku(line1line2);
            var result =  baseResult && CompareRangeValues(line1line2);
            return result;
        }
 
        protected virtual bool CompareRangeValues(ISalesLine line1ISalesLine 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();