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;
     }
 }
Example #2
0
        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);
        }