public void AssignValues(string controlName, double value, string action) { try { IncrementConverter converter = new IncrementConverter(); if (controlName.Contains("Current")) { CurrentShares = action == "Add" ? value + 100 : value - 100; } else if (controlName.Contains("Average")) { AveragePrice = action == "Add" ? value + ConvertValue(value) : value - ConvertValue(value); } else if (controlName.Contains("New Shares")) { NewShares = action == "Add" ? value + 100 : value - 100;; } else if (controlName.Contains("New")) { NewSharesPrice = action == "Add" ? value + ConvertValue(value) : value - ConvertValue(value); } } catch (Exception) { return; } }
public void When_TwoWay_And_ConvertBack() { var dp1 = new MyDP(); var dp2 = new MyDP(); var conv = new IncrementConverter(); var binding = new Binding { Source = dp1, Path = new PropertyPath(nameof(MyDP.MyInt)), Mode = BindingMode.TwoWay, Converter = conv }; BindingOperations.SetBinding(dp2, MyDP.MyIntProperty, binding); Assert.AreEqual(1, dp2.MyInt); Assert.AreEqual(1, conv.ConvertCount); Assert.AreEqual(0, conv.ConvertBackCount); dp2.MyInt = 7; Assert.AreEqual(dp2.MyInt, 7); Assert.AreEqual(dp1.MyInt, 8); Assert.AreEqual(1, conv.ConvertCount); Assert.AreEqual(1, conv.ConvertBackCount); dp1.MyInt = 19; Assert.AreEqual(19, dp1.MyInt); Assert.AreEqual(20, dp2.MyInt); Assert.AreEqual(2, conv.ConvertCount); Assert.AreEqual(1, conv.ConvertBackCount); }