/// <summary>
 /// update an existing product item.
 /// </summary>
 /// <param name="obj"></param>
 public void UpdateSelected(object obj)
 {
     IsDirty = true;
     ProductsList.Remove(selectedItem);
     Product newItem = new Product(selectedItem.ProductName, selectedItem.ProductPrice);
     if (_IsValue)
     {
         newItem.ProductPrice = currentValue;
     }
     else if (_IsPercentage)
     {
         newItem.ProductPrice = newItem.UpdateByPercentage(currentValue);
     }
     // little bit work around for making the observable collection to refresh on the list view.
     // if found a better solution to do this, shouls update this method accordingly.
     ProductsList.Add(newItem);
     selectedItem = newItem;
     IsDirty = false;
     IsValue = false;
     IsPercentage = false;
     currentValue = 0.0;
 }