private void RefreshTransData() { commonClass.TransactionInfo transInfo = null; string cachKey = this.codeEd.Text.Trim() + "-" + portfolioCb.myValue.Trim(); object obj = tranDataCache.Find(cachKey); if (obj == null) { transInfo = new TransactionInfo(); transInfo.stockCode = this.codeEd.Text.Trim(); transInfo.portfolio = portfolioCb.myValue.Trim(); if (!DataAccess.Libs.GetTransactionInfo(ref transInfo)) { ClearEditData(); common.system.ShowErrorMessage(Languages.Libs.GetString("noData")); return; } tranDataCache.Add(cachKey, transInfo); } else { transInfo = (TransactionInfo)obj; } onTimeEd.myDateTime = transInfo.priceDate; feePercEd.Value = transInfo.transFeePerc; priceEd.Value = transInfo.price; //* transInfo.priceRatio; subTotalEd.Value = qtyEd.Value * priceEd.Value * transInfo.priceRatio; feeAmtEd.Value = (decimal)Math.Round(feePercEd.Value * subTotalEd.Value / 100, common.system.GetPrecisionFromMask(Settings.sysMaskLocalAmt)); totalAmtEd.Value = subTotalEd.Value + feeAmtEd.Value; availableCashEd.Value = transInfo.availableCash; switch (transTypeCb.myValue) { case AppTypes.TradeActions.Buy: remainCashEd.Value = transInfo.availableCash - subTotalEd.Value; break; case AppTypes.TradeActions.Sell: remainCashEd.Value = transInfo.availableCash + subTotalEd.Value; break; default: common.system.ShowErrorMessage(Languages.Libs.GetString("invalidData")); break; } }
private void RefreshTransData() { commonClass.TransactionInfo transInfo = null; string cachKey = this.codeEd.Text.Trim()+"-"+ portfolioCb.myValue.Trim(); object obj = tranDataCache.Find(cachKey); if (obj == null) { transInfo = new TransactionInfo(); transInfo.stockCode = this.codeEd.Text.Trim(); transInfo.portfolio = portfolioCb.myValue.Trim(); if (!DataAccess.Libs.GetTransactionInfo(ref transInfo)) { ClearEditData(); common.system.ShowErrorMessage(Languages.Libs.GetString("noData")); return; } tranDataCache.Add(cachKey, transInfo); } else transInfo = (TransactionInfo)obj; onTimeEd.myDateTime = transInfo.priceDate; feePercEd.Value = transInfo.transFeePerc; priceEd.Value = transInfo.price * transInfo.priceRatio; subTotalEd.Value = qtyEd.Value * priceEd.Value; feeAmtEd.Value = (decimal)Math.Round(feePercEd.Value * subTotalEd.Value / 100, Settings.sysPrecisionLocal); totalAmtEd.Value = subTotalEd.Value + feeAmtEd.Value; availableCashEd.Value = transInfo.availableCash; switch(transTypeCb.myValue) { case AppTypes.TradeActions.Buy: remainCashEd.Value = transInfo.availableCash - subTotalEd.Value; break; case AppTypes.TradeActions.Sell : remainCashEd.Value = transInfo.availableCash + subTotalEd.Value; break; default: common.system.ShowErrorMessage(Languages.Libs.GetString("invalidData")); break; } }
public static bool GetTransactionInfo(ref TransactionInfo transInfo) { try { lock (myClient) { return myClient.GetTransactionInfo(ref transInfo); } } catch (Exception er) { if (OnError != null) OnError(er); } return false; }
//public static void GetLastPrice(data.baseDS.priceDataDataTable tbl, string stockCode) //{ // object[] data = myClient.GetLastPriceByCode(stockCode); // if (data == null) return; // object aa = data[0]; // //return (data.baseDS.priceDataRow)data; //} public static bool GetTransactionInfo(ref TransactionInfo transInfo) { return myClient.GetTransactionInfo(ref transInfo); }
public bool GetTransactionInfo(ref TransactionInfo transInfo) { try { databases.baseDS.priceDataRow priceRow = databases.DbAccess.GetLastPriceData(transInfo.stockCode); databases.baseDS.portfolioRow portfolioRow = databases.DbAccess.GetPortfolio(transInfo.portfolio); databases.baseDS.stockExchangeRow marketRow = databases.DbAccess.GetStockExchange(transInfo.stockCode); if (priceRow == null || portfolioRow == null || marketRow == null) return false; transInfo.price = priceRow.closePrice; transInfo.priceDate = priceRow.onDate; transInfo.availableCash = portfolioRow.startCapAmt - portfolioRow.usedCapAmt; transInfo.transFeePerc = marketRow.tranFeePerc; transInfo.priceRatio = marketRow.priceRatio; return true; } catch (Exception ex) { WriteSysLogLocal("WS055", ex); } return false; }
public bool GetTransactionInfo(ref TransactionInfo transInfo) { data.baseDS.priceDataRow priceRow = DbAccess.GetLastPriceData(transInfo.stockCode); data.baseDS.portfolioRow portfolioRow = DbAccess.GetPortfolio(transInfo.portfolio); data.baseDS.stockExchangeRow marketRow = application.AppLibs.GetStockExchange(transInfo.stockCode); if (priceRow == null || portfolioRow == null || marketRow==null) return false; transInfo.price = priceRow.closePrice; transInfo.priceDate = priceRow.onDate; transInfo.availableCash = portfolioRow.startCapAmt - portfolioRow.usedCapAmt; transInfo.transFeePerc = marketRow.tranFeePerc; transInfo.priceRatio = marketRow.priceRatio; return true; }