Exemple #1
0
        public static void LoadStockCode_ByPortfolios(tmpDS.stockCodeDataTable tbl, StringCollection portfolios)
        {
            baseDS.investorStockDataTable tmpTbl = new baseDS.investorStockDataTable();
            string cond = common.system.MakeConditionStr(portfolios, "b." + tmpTbl.portfolioColumn.ColumnName + "=N'", "'", "OR");

            if (cond.Trim() == "")
            {
                return;
            }

            tmpTbl.Dispose();

            string sqlCmd = "SELECT DISTINCT a.code, a.stockExchange, a.tickerCode, a.name,nameEn" +
                            " FROM stockCode a INNER JOIN investorStock b ON a.code = b.stockCode" +
                            " WHERE " + cond;

            LoadFromSQL(tbl, sqlCmd);
        }
Exemple #2
0
        public static bool GetOwnStock(string stockCode, string portfolio, int buySellInterval, DateTime sellDate,
                                       out decimal qty, out decimal buyAmt)
        {
            baseDS.stockExchangeRow marketRow = GetStockExchange(stockCode);
            qty = 0; buyAmt = 0;
            baseDS.investorStockDataTable dataTbl = new baseDS.investorStockDataTable();
            LoadData(dataTbl, stockCode, portfolio);
            if (dataTbl.Count == 0)
            {
                return(false);
            }
            DateTime applicableDate = sellDate.AddDays(-marketRow.minBuySellDay);

            for (int idx = 0; idx < dataTbl.Count; idx++)
            {
                if (dataTbl[idx].buyDate > applicableDate)
                {
                    continue;
                }
                qty    += dataTbl[idx].qty;
                buyAmt += dataTbl[idx].buyAmt;
            }
            return(true);
        }
Exemple #3
0
 public static void LoadStockOwnedByInvestor(baseDS.investorStockDataTable tbl, string investorCode)
 {
     investorStockTA.ClearBeforeFill = false;
     investorStockTA.FillByInvestor(tbl, investorCode);
 }
Exemple #4
0
 public static void LoadData(baseDS.investorStockDataTable tbl, string stockCode, string portfolio, DateTime buyDate)
 {
     investorStockTA.ClearBeforeFill = false;
     investorStockTA.FillByPortfolioStockBuyDate(tbl, portfolio, stockCode, buyDate);
 }
Exemple #5
0
 public static void LoadData(baseDS.investorStockDataTable tbl, string portfolioCode)
 {
     investorStockTA.ClearBeforeFill = false;
     investorStockTA.FillByPortfolio(tbl, portfolioCode);
 }
Exemple #6
0
 public static void UpdateData(baseDS.investorStockDataTable tbl)
 {
     investorStockTA.Update(tbl);
     tbl.AcceptChanges();
 }
        public static void LoadStockCode_ByPortfolios(tmpDS.stockCodeDataTable tbl, StringCollection portfolios)
        {
            baseDS.investorStockDataTable tmpTbl = new baseDS.investorStockDataTable();
            string cond = common.system.MakeConditionStr(portfolios, "b." + tmpTbl.portfolioColumn.ColumnName + "=N'", "'", "OR");
            if (cond.Trim() == "") return;

            tmpTbl.Dispose();

            string sqlCmd = "SELECT DISTINCT a.code, a.stockExchange, a.tickerCode, a.name,nameEn" +
                            " FROM stockCode a INNER JOIN investorStock b ON a.code = b.stockCode" +
                            " WHERE " + cond;
            LoadFromSQL(tbl, sqlCmd);
        }
 public static bool GetOwnStock(string stockCode, string portfolio, int buySellInterval, DateTime sellDate,
     out decimal qty, out decimal buyAmt)
 {
     baseDS.stockExchangeRow marketRow = GetStockExchange(stockCode);
     qty = 0; buyAmt = 0;
     baseDS.investorStockDataTable dataTbl = new baseDS.investorStockDataTable();
     LoadData(dataTbl, stockCode, portfolio);
     if (dataTbl.Count == 0) return false;
     DateTime applicableDate = sellDate.AddDays(-marketRow.minBuySellDay);
     for (int idx = 0; idx < dataTbl.Count; idx++)
     {
         if (dataTbl[idx].buyDate > applicableDate) continue;
         qty += dataTbl[idx].qty;
         buyAmt += dataTbl[idx].buyAmt;
     }
     return true;
 }