public void OnDragDop(object sender, DragEventArgs e)
        {
            Point clientPoint = PointToClient(new Point(e.X, e.Y));

            rowIndexOfItemUnderMouseToDrop =
                HitTest(clientPoint.X, clientPoint.Y).RowIndex;
            if (e.Effect == DragDropEffects.Move)
            {
                DataGridViewRow rowToMove = e.Data.GetData(
                    typeof(DataGridViewRow)) as DataGridViewRow;
                if (rowIndexOfItemUnderMouseToDrop > -1)
                {
                    Rows.RemoveAt(rowIndexFromMouseDown);
                    if (rowIndexOfItemUnderMouseToDrop < rowIndexFromMouseDown)
                    {
                        rowIndexOfItemUnderMouseToDrop += 1;
                    }
                    Rows.Insert(rowIndexOfItemUnderMouseToDrop, rowToMove);
                }
                List <CurrencyStatics> tempList = new List <CurrencyStatics> {
                };
                for (int i = 0; i < Rows.Count; i++)
                {
                    string          ccyName = (string)Rows[i].Cells[0].Value;
                    CurrencyStatics a       = _Memo.DataBase.Where(x => x.Name == ccyName).First();
                    CurrencyStatics ac      = (CurrencyStatics)a.Clone();
                    tempList.Add(ac);
                }
                _Memo.DataBase = tempList;
            }
        }
示例#2
0
        public void CurrencyStatics()
        {
            CurrencyStatics cs       = new CurrencyStatics("USD", "$", 3, 2);
            string          fileName = SerializeObject(cs, "CurrencyStatics");
            CurrencyStatics desCs    = DeserializeObject <CurrencyStatics>(fileName);

            Assert.IsTrue(cs == desCs);
        }
示例#3
0
        public void BitcoinValueToString()
        {
            CurrencyStatics JPYcs = new CurrencyStatics("BTC", "฿", 3, 8);
            bool            test1 = JPYcs.ValueToString(0.123456789) == "฿ 0.12345679";
            bool            test2 = JPYcs.ValueToString(0.12345678910121) == "฿ 0.12345679";
            bool            test3 = JPYcs.ValueToString(1234.0012340412) == "฿ 1,234.00123404";
            bool            test4 = JPYcs.ValueToString(-0.0012345678910412) == "฿ -0.00123457";

            Assert.IsTrue(test1 && test2 && test3 && test4);
        }
示例#4
0
        public void YenValueToString()
        {
            CurrencyStatics JPYcs = new CurrencyStatics("JPY", "¥", 4, 0);
            bool            test1 = JPYcs.ValueToString(12345678) == "¥ 1234,5678";
            bool            test2 = JPYcs.ValueToString(12345678.910121) == "¥ 1234,5679";
            bool            test3 = JPYcs.ValueToString(1234.0412) == "¥ 1234";
            bool            test4 = JPYcs.ValueToString(-1234567891.0412) == "¥ -12,3456,7891";

            Assert.IsTrue(test1 && test2 && test3 && test4);
        }
示例#5
0
        public void DollarValueToString()
        {
            CurrencyStatics USDcs = new CurrencyStatics("USD", "$", 3, 2);
            bool            test1 = USDcs.ValueToString(12345678) == "$ 12,345,678";
            bool            test2 = USDcs.ValueToString(12345678.910121) == "$ 12,345,678.91";
            bool            test3 = USDcs.ValueToString(1234.0412) == "$ 1,234.04";
            bool            test4 = USDcs.ValueToString(-1234.0412) == "$ -1,234.04";

            Assert.IsTrue(test1 && test2 && test3 && test4);
        }
示例#6
0
 public void Reset(string ccy, CurrencyStatics cs)
 {
     _Data = new List <Category> {
     };
     Map.Reset();
     _FXMarket.Reset();
     _CcyDB.AddRefCcy(ccy, cs);
     _AssetMarket.Reset();
     _Ccy = new Currency(ccy);
     AddItem(new NodeAddress(NodeType.Category, "TEMP"));
 }
        public void Reset(DateTime date, string ccy, CurrencyStatics cs)
        {
            _Data.Clear();
            _CcyDB.Reset();
            _CcyDB.AddRefCcy(ccy, cs);
            _TotalCcy = new Currency(ccy);
            AccountingData ad = new AccountingData(_CcyDB);

            //_Data.Add(new KeyValuePair<DateTime, AccountingData>(date, ad));
            AddData(date, ad);
        }
示例#8
0
        private void OKButton_Click(object sender, EventArgs e)
        {
            Close();
            CcyStatics = new CurrencyStatics();
            Tuple <bool, string> test = CcyStatics.Load(TextBoxName.Text, TextSymbol.Text, TextThousandMarker.Text, TextDecimalMarker.Text, null);

            if (test.Item1)
            {
                _Date        = DateTimePicker.Value;
                DialogResult = DialogResult.OK;
            }
            else
            {
                MessageBox.Show(test.Item2);
                DialogResult = DialogResult.Abort;
            }
        }
        public void AddNewCcy(string ccyName, CurrencyStatics ccyStatics, CurrencyPair ccyPair, double ccyPairQuote)
        {
            bool testAdd = _CcyDB.AddCcy(ccyName, ccyStatics);

            if (!testAdd)
            {
                MessageBox.Show($"The new Currency [{ccyName}] does already exist.");
            }
            else
            {
                foreach (var item in _Data)
                {
                    item.Value.SetCcyDB(_CcyDB);
                    item.Value.FXMarket.AddQuote(ccyPair, ccyPairQuote);
                    item.Value.AssetMarket.PopulateWithFXMarket(item.Value.FXMarket);
                }
            }
        }
示例#10
0
        private void OKButton_Click(object sender, EventArgs e)
        {
            Close();
            CcyStatics = new CurrencyStatics();
            Tuple <bool, string> test = CcyStatics.Load(TextBoxName.Text, TextSymbol.Text, TextThousandMarker.Text, TextDecimalMarker.Text, CcyPair);

            if (test.Item1)
            {
                try { CcyPairQuote = Convert.ToDouble(TextBoxValue.Text); }
                catch (Exception) { CcyPairQuote = -1; }
                if (CcyPairQuote > 0)
                {
                    DialogResult = DialogResult.OK;
                }
            }
            else
            {
                MessageBox.Show(test.Item2);
                DialogResult = DialogResult.Abort;
            }
        }
示例#11
0
 internal void ResetAndAddRefCcy(DateTime date, string ccyName, CurrencyStatics ccyStatics)
 {
     _had.Reset(date, ccyName, ccyStatics);
     _view.SetUpMarkets(_view.CcyDB, _ad.FXMarket, _ad.AssetMarket);
     _view.UpdateDates();
 }
示例#12
0
 internal void AddNewCcy(string ccyName, CurrencyStatics ccyStatics, CurrencyPair ccyPair, double ccyPairQuote)
 {
     _had.AddNewCcy(ccyName, ccyStatics, ccyPair, ccyPairQuote);
     _view.SetUpMarkets(_view.CcyDB, _ad.FXMarket, _ad.AssetMarket);
 }