Exemplo n.º 1
0
 private void CalculateCashAmt()
 {
     if (this.portfolioSource.Current == null) return;
     data.baseDS.portfolioRow row = (data.baseDS.portfolioRow)((DataRowView)this.portfolioSource.Current).Row;
     cashAmtEd.Value = row.startCapAmt - row.usedCapAmt;
     cashAmtEd.Refresh();
 }
Exemplo n.º 2
0
        public static data.baseDS.portfolioRow GetPortfolio_DefaultStrategy()
        {
            string cacheKey = MakeCacheKey("SysPortfolio", "DefaultStrategy");
            object obj      = GetCache(cacheKey);

            if (obj != null)
            {
                return((data.baseDS.portfolioRow)obj);
            }
            data.baseDS.portfolioRow       row = null;
            data.baseDS.portfolioDataTable tbl = myClient.GetPortfolio_ByType(AppTypes.PortfolioTypes.PortfolioDefaultStrategy);
            if (tbl.Count == 0)
            {
                row = tbl.NewportfolioRow();
                commonClass.AppLibs.InitData(row);
                row.type         = (byte)AppTypes.PortfolioTypes.PortfolioDefaultStrategy;
                row.code         = Consts.constNotMarkerNEW;
                row.investorCode = commonClass.SysLibs.sysLoginCode;
                tbl.AddportfolioRow(row);
                myClient.UpdatePortfolio(ref tbl);
            }
            row = tbl[0];
            AddCache(cacheKey, row);
            return(row);
        }
Exemplo n.º 3
0
        public override void AddNew(string code)
        {
            bool saveOnProccessing = this.fOnProccessing;

            try
            {
                this.fOnProccessing = true;
                data.baseDS.portfolioRow row = (data.baseDS.portfolioRow)((DataRowView)myMasterSource.AddNew()).Row;
                if (row != null)
                {
                    commonClass.AppLibs.InitData(row);
                    row.type         = (byte)this.myWatchListType;
                    row.investorCode = this.myInvestorCode;
                    row.code         = Consts.constNotMarkerNEW;
                    interestedStrategy.Clear();
                    int position = myMasterSource.Position;
                    myMasterSource.Position = -1;
                    myMasterSource.Position = position;
                    SetFirstFocus();
                }
                PortfolioCurrentChanged();
                this.fOnProccessing = saveOnProccessing;
            }
            catch (Exception er)
            {
                this.fOnProccessing = saveOnProccessing;
                ShowError(er);
            }
        }
Exemplo n.º 4
0
        protected void LoadDetailData()
        {
            if (this.portfolioSource.Current == null)
            {
                return;
            }
            data.baseDS.portfolioRow portfolioRow = (data.baseDS.portfolioRow)((DataRowView)this.portfolioSource.Current).Row;

            //interested strategy
            interestedStrategy.LoadData(portfolioRow.code);

            //Investor stock
            this.myDataSet.investorStock.Clear();
            application.dataLibs.LoadData(this.myDataSet.investorStock, portfolioRow.code);
            for (int idx = 0; idx < myDataSet.investorStock.Count; idx++)
            {
                if (myDataSet.investorStock[idx].RowState == DataRowState.Deleted)
                {
                    continue;
                }
                application.dataLibs.FindAndCache(myDataSet.stockCode, myDataSet.investorStock[idx].stockCode);
            }
            //Transaction history
            myDataSet.investorTransHistory.Clear();
        }
        protected override void SaveData()
        {
            data.baseDS.portfolioDetailDataTable defaultStrategyTbl = DataAccess.Libs.GetPortfolioDetail_ByCode(DataAccess.Libs.GetPortfolio_DefaultStrategy().code);

            data.baseDS.portfolioDetailDataTable portfolioDetailTbl;
            for (int portfolioIdx = 0; portfolioIdx < watchListLb.myCheckedValues.Count; portfolioIdx++)
            {
                data.baseDS.portfolioRow portfolioRow = DataAccess.Libs.GetPortfolio_ByCode(watchListLb.myCheckedValues[portfolioIdx]);
                if (portfolioRow == null)
                {
                    continue;
                }
                portfolioDetailTbl      = DataAccess.Libs.GetPortfolioDetail_ByCode(portfolioRow.code);
                mvString.myFormatString = portfolioRow.interestedStock;
                for (int stockIdx = 0; stockIdx < myStockCodes.Count; stockIdx++)
                {
                    if (!mvString.Add(myStockCodes[stockIdx]))
                    {
                        continue;
                    }
                    mvString.Add(myStockCodes[stockIdx]);
                    //Add default portfolio data
                    DeletePortfolioData(portfolioDetailTbl, portfolioRow.code, myStockCodes[stockIdx]);
                    commonClass.AppLibs.CopyPortfolioData(defaultStrategyTbl, portfolioDetailTbl, portfolioRow.code, myStockCodes[stockIdx]);
                }
                portfolioRow.interestedStock = mvString.myFormatString;
                DataAccess.Libs.UpdateData(portfolioRow);
                DataAccess.Libs.UpdateData(portfolioDetailTbl);
            }
            common.system.ShowMessage(Languages.Libs.GetString("dataSaved"));
        }
Exemplo n.º 6
0
 public static data.baseDS.portfolioRow UpdateData(data.baseDS.portfolioRow row)
 {
     data.baseDS.portfolioDataTable tbl = new data.baseDS.portfolioDataTable();
     tbl.ImportRow(row);
     myClient.UpdatePortfolio(ref tbl);
     row.AcceptChanges();
     return(tbl[0]);
 }
Exemplo n.º 7
0
        private void LoadData()
        {
            data.baseDS.portfolioRow sysPortfolioRow = DataAccess.Libs.GetPortfolio_DefaultStrategy();
            interestedStrategy.myDataTbl = DataAccess.Libs.GetPortfolioDetail_ByCode(sysPortfolioRow.code);

            interestedStrategy.myPorfolioCode = sysPortfolioRow.code;
            interestedStrategy.myStockCode    = sysPortfolioRow.code;
            interestedStrategy.Refresh();
        }
Exemplo n.º 8
0
        protected void LoadDetailData()
        {
            if (this.portfolioSource.Current == null) return;
            data.baseDS.portfolioRow portfolioRow = (data.baseDS.portfolioRow)((DataRowView)this.portfolioSource.Current).Row;

            //Investor stock
            investorStockSource.DataSource = DataAccess.Libs.GetOwnedStock(portfolioRow.code);
            data.baseDS.investorStockDataTable investorStockTbl = (investorStockSource.DataSource as data.baseDS.investorStockDataTable);
            for (int idx = 0; idx < investorStockTbl.Count; idx++)
            {
                if (investorStockTbl[idx].RowState == DataRowState.Deleted) continue;
            }
        }
Exemplo n.º 9
0
        public override void AddNew(string code)
        {
            //data.baseDS.portfolioRow lastRow = (data.baseDS.portfolioRow)((DataRowView)myMasterSource.Current).Row;
            data.baseDS.portfolioRow row = (data.baseDS.portfolioRow)((DataRowView)myMasterSource.AddNew()).Row;
            if (row == null) return;
            commonClass.AppLibs.InitData(row);
            row.type = (byte)this.myPortfolioType;
            row.investorCode = this.myInvestorCode;
            row.code = Consts.constNotMarkerNEW;

            int position = myMasterSource.Position;
            myMasterSource.Position = -1;
            myMasterSource.Position = position;
            SetFirstFocus();
        }
Exemplo n.º 10
0
 protected override void RemoveCurrent()
 {
     this.ShowMessage("");
     if (myMasterSource.Current == null)
     {
         return;
     }
     data.baseDS.portfolioRow row = (data.baseDS.portfolioRow)(myMasterSource.Current as DataRowView).Row;
     if (row.HasVersion(DataRowVersion.Original))
     {
         DataAccess.Libs.DeleteData(row);
     }
     myMasterSource.RemoveCurrent();
     this.ShowMessage(Languages.Libs.GetString("dataWasDeleted"));
 }
Exemplo n.º 11
0
        public override void AddNew(string code)
        {
            this.AddNewRow();
            data.baseDS.portfolioRow row = (data.baseDS.portfolioRow)((DataRowView)myMasterSource.Current).Row;
            if (row == null)
            {
                return;
            }
            application.dataLibs.InitData(row);

            common.myAutoKeyInfo info = application.sysLibs.GetAutoKey(myDataSet.portfolio.TableName, false);
            row.code         = info.value.ToString().PadLeft(myDataSet.portfolio.codeColumn.MaxLength, '0');
            row.investorCode = this.investorCode;
            codeEd.Text      = row.code;
            interestedStrategy.Clear();
        }
Exemplo n.º 12
0
 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);
 }
Exemplo n.º 13
0
 public static data.baseDS.portfolioRow FindAndCache(data.baseDS.portfolioDataTable tbl, string code)
 {
     data.baseDS.portfolioRow row = tbl.FindBycode(code);
     if (row != null)
     {
         return(row);
     }
     data.baseDSTableAdapters.portfolioTA dataTA = new data.baseDSTableAdapters.portfolioTA();
     dataTA.ClearBeforeFill = false;
     dataTA.FillByCode(tbl, code);
     row = tbl.FindBycode(code);
     if (row != null)
     {
         return(row);
     }
     return(null);
 }
Exemplo n.º 14
0
        public static void InitData(data.baseDS.portfolioRow row)
        {
            row.type        = (byte)AppTypes.PortfolioTypes.WatchList;
            row.code        = "";
            row.name        = "";
            row.description = "";

            row.startCapAmt = 0;
            row.usedCapAmt  = 0;

            row.maxBuyAmtPerc       = 100;
            row.stockReducePerc     = 50;
            row.stockAccumulatePerc = 50;

            row.interestedSector = "";
            row.interestedStock  = "";
        }
Exemplo n.º 15
0
        protected override void UpdateData(DataRow row)
        {
            if (row == null)
            {
                application.dataLibs.UpdateData(myDataSet.portfolio);
                return;
            }
            data.baseDS.portfolioRow portfolioRow = (data.baseDS.portfolioRow)row;
            if (portfolioRow.code.Trim() == "")
            {
                common.myAutoKeyInfo info = application.sysLibs.GetAutoKey(myDataSet.portfolio.TableName, false);
                portfolioRow.code = info.value.ToString().PadLeft(myDataSet.portfolio.codeColumn.MaxLength, '0');
            }
            application.dataLibs.UpdateData(portfolioRow);

            interestedStrategy.SaveData();
        }
Exemplo n.º 16
0
        protected override void UpdateData(DataRow row)
        {
            if (row == null)
            {
                return;
            }
            data.baseDS.portfolioRow portfolioRow = (data.baseDS.portfolioRow)row;
            portfolioRow.ItemArray = DataAccess.Libs.UpdateData(portfolioRow).ItemArray;
            portfolioRow.AcceptChanges();
            isLockEditDetail = false;

            if (this.interestedStrategy.myDataTbl != null)
            {
                DataAccess.Libs.UpdateData(this.interestedStrategy.myDataTbl);
                interestedStrategy.myDataTbl.AcceptChanges();
            }
            PortfolioCurrentChanged();
        }
Exemplo n.º 17
0
        public static void LoadData(data.tmpDS.stockCodeDataTable stockCodeTbl, data.baseDS.portfolioRow row)
        {
            StringCollection list;

            list = common.MultiValueString.String2List(row.interestedSector);
            if (list.Count > 0)
            {
                LoadStockCode_ByBizSectors(stockCodeTbl, list);
            }

            list = common.MultiValueString.String2List(row.interestedStock);
            if (list.Count > 0)
            {
                data.tmpDS.stockCodeDataTable tmpTbl = new data.tmpDS.stockCodeDataTable();
                LoadStockCode_ByCodeList(tmpTbl, list);
                for (int idx = 0; idx < tmpTbl.Count; idx++)
                {
                    SysLibs.FindAndCache(stockCodeTbl, tmpTbl[idx].code);
                }
            }
        }
Exemplo n.º 18
0
        protected override void SaveData()
        {
            common.MultiValueString              mvString     = new common.MultiValueString();
            data.baseDS.portfolioDataTable       portfolioTbl = new data.baseDS.portfolioDataTable();
            data.baseDS.portfolioDetailDataTable portfolioDataTbl;
            portfolioTbl.Clear();
            for (int portfolioIdx = 0; portfolioIdx < watchListLb.myCheckedValues.Count; portfolioIdx++)
            {
                data.baseDS.portfolioRow portfolioRow = DataAccess.Libs.GetPortfolio_ByCode(watchListLb.myCheckedValues[portfolioIdx]);
                if (portfolioRow == null)
                {
                    continue;
                }
                mvString.myFormatString = portfolioRow.interestedStock;
                mvString.Add(codeEd.Text);
                portfolioRow.interestedStock = mvString.myFormatString;

                portfolioDataTbl = DataAccess.Libs.GetPortfolioDetail_ByCode(portfolioRow.code);
                data.baseDS.portfolioDetailRow dataRow;
                for (int idx = 0; idx < myStrategyCodes.Count; idx++)
                {
                    dataRow = portfolioDataTbl.FindByportfoliocodesubCode(portfolioRow.code, this.codeEd.Text, this.myStrategyCodes[idx]);
                    if (dataRow == null)
                    {
                        dataRow = portfolioDataTbl.NewportfolioDetailRow();
                        commonClass.AppLibs.InitData(dataRow);
                        dataRow.portfolio = portfolioRow.code;
                        dataRow.code      = codeEd.Text;
                        dataRow.subCode   = this.myStrategyCodes[idx];
                        portfolioDataTbl.AddportfolioDetailRow(dataRow);
                    }
                    mvString.myFormatString = dataRow.data;
                    mvString.Add(timeScaleCb.myValue.Code);
                    dataRow.data = mvString.myFormatString;
                }
                DataAccess.Libs.UpdateData(portfolioRow);
                DataAccess.Libs.UpdateData(portfolioDataTbl);
            }
            common.system.ShowMessage(Languages.Libs.GetString("dataSaved"));
        }
Exemplo n.º 19
0
 private void PortfolioCurrentChanged()
 {
     if (this.portfolioSource.Current == null)
     {
         return;
     }
     data.baseDS.portfolioRow row = (data.baseDS.portfolioRow)((DataRowView)this.portfolioSource.Current).Row;
     if (isNewRow(row))
     {
         interestedStrategy.myPorfolioCode = null;
         interestedStrategy.myDataTbl      = null;
     }
     else
     {
         interestedStrategy.myPorfolioCode = row.code;
         interestedStrategy.myDataTbl      = DataAccess.Libs.GetPortfolioDetail_ByCode(row.code);
     }
     this.isLockEditDetail          = this.isLockEditDetail;
     interestedStrategy.myStockCode = null;
     interestedStrategy.Refresh();
     ShowReccount((this.portfolioSource.Position + 1).ToString() + "/" + this.portfolioSource.Count.ToString());
 }
Exemplo n.º 20
0
        private void interestedStockClb_myStockCodeSelectionChange(object sender, EventArgs e)
        {
            try
            {
                if (this.fOnProccessing)
                {
                    return;
                }

                if (((baseClass.controls.lbStockCode)sender).SelectedItem == null)
                {
                    return;
                }
                data.baseDS.portfolioRow row = (data.baseDS.portfolioRow)((DataRowView)this.portfolioSource.Current).Row;
                interestedStrategy.Clear();
                interestedStrategy.myStockCode = ((common.myComboBoxItem)(((baseClass.controls.lbStockCode)sender).SelectedItem)).Value;
                interestedStrategy.Refresh();
            }
            catch (Exception er)
            {
                ShowError(er);
            }
        }
Exemplo n.º 21
0
 private void newWatchListBtn_Click(object sender, EventArgs e)
 {
     try
     {
         this.ShowMessage("");
         baseClass.forms.watchListNew form = baseClass.forms.watchListNew.GetForm();
         data.baseDS.portfolioRow     row  = form.ShowNew(AppTypes.PortfolioTypes.WatchList, commonClass.SysLibs.sysLoginCode);
         if (row == null)
         {
             return;
         }
         watchListLb.LoadData(commonClass.SysLibs.sysLoginCode, false);
         StringCollection list = watchListLb.myCheckedValues;
         if (!list.Contains(row.code))
         {
             list.Add(row.code);
             watchListLb.myCheckedValues = list;
         }
     }
     catch (Exception er)
     {
         this.ShowError(er);
     }
 }
Exemplo n.º 22
0
 public static void DeleteData(data.baseDS.portfolioRow row)
 {
     myClient.DeletePortfolio(row.code);
 }
Exemplo n.º 23
0
 public static void UpdateData(data.baseDS.portfolioRow data)
 {
     portfolioTA.Update(data);
     data.AcceptChanges();
 }