// add/remove new spare to srs/pcv selecting list
 protected void AddSelectingSpare(int qtySRS, int qtyPCV, string litSpareNumber, string lbSpareNameVN, string lbSpareNameEN, string litModel, long warrTime, decimal warrLen, decimal labour, string hdManPower, decimal price, decimal newUnitPrice)
 {
     if (qtySRS > 0)
     {
         WarrantySpare item = new WarrantySpare(qtySRS, litSpareNumber, lbSpareNameVN, lbSpareNameEN, litModel, warrTime, warrLen, labour, hdManPower, price, newUnitPrice);
         AddSelectingSpareToList(Info.SelectingSRSSpares, item);
     }
     if (qtyPCV > 0)
     {
         WarrantySpare item = new WarrantySpare(qtyPCV, litSpareNumber, lbSpareNameVN, lbSpareNameEN, litModel, warrTime, warrLen, labour, hdManPower, price, newUnitPrice);
         AddSelectingSpareToList(Info.SelectingPCVSpares, item);
     }
 }
 protected void AddSelectingSpareToList(List<WarrantySpare> list, WarrantySpare item)
 {
     WarrantySpare oldItem = list.SingleOrDefault(w => w.Partcode.Equals(item.Partcode, StringComparison.OrdinalIgnoreCase));
     if (oldItem != null)
     {
         if (item.Quantity == 0) list.Remove(oldItem);
         else
         {
             oldItem.Quantity = item.Quantity;
             oldItem.Unitprice = item.Unitprice;
             oldItem.NewUnitPrice = item.NewUnitPrice;
         }
     }
     else if (item.Quantity > 0)
     {
         list.Add(item);
     }
 }