Example #1
0
        private void gvPosition_DoubleClick(object sender, EventArgs e)
        {
            Point pt = gvPosition.GridControl.PointToClient(Control.MousePosition);
            var   hi = gvPosition.CalcHitInfo(pt);

            if (hi.InRow)
            {
                var row = gvPosition.GetDataRow(hi.RowHandle);
                if (row != null)
                {
                    decimal buyVol  = decimal.Parse(row["BuyVolume"].ToString());
                    decimal sellVol = decimal.Parse(row["SellVolume"].ToString());
                    if (buyVol != 0 || sellVol != 0)
                    {
                        var curDate = CommonHelper.StringToDateTime(dePosition.EditValue.ToString());

                        TradeInfoModel tradeInfo = new TradeInfoModel
                        {
                            DisplayText  = row["StockCode"].ToString() + '-' + row["StockName"].ToString() + '-' + _investorName,
                            InvestorCode = _investorCode,
                            InvestorName = _investorName,
                            StockCode    = row["StockCode"].ToString(),
                            StockName    = row["StockName"].ToString(),
                            TradeCode    = row["StockCode"].ToString() + '-' + _investorCode,
                        };
                        var dialog = this.CreateDialog <FrmTimeSharingTradeIdentifier>(borderStyle: FormBorderStyle.Sizable, windowState: FormWindowState.Normal);
                        dialog.Text      = "分时交易标识";
                        dialog.TradeDate = curDate;
                        dialog.TradeInfo = tradeInfo;
                        dialog.Show();
                    }
                }
            }
        }
Example #2
0
        private void luTradeInfo_EditValueChanged(object sender, EventArgs e)
        {
            try
            {
                this._chartGenerated = false;

                chartControl1.Titles[0].Text = luTradeInfo.Text;

                this.esiProfitTitle.Text = string.Empty;

                _tradeInfo = luTradeInfo.GetSelectedDataRow() as TradeInfoModel;
                if (_tradeInfo == null)
                {
                    return;
                }

                var sqlText1 = $@"EXEC [dbo].[sp_TIKLineData] @InvestorCode = '{_tradeInfo.InvestorCode}', @StockCode = '{_tradeInfo.StockCode}',	@StartDate = '{_startDate}' ,@EndDate = '{_endDate}'";
                var dsKLine  = SqlHelper.ExecuteDataset(AppConfig._ConnString, CommandType.Text, sqlText1);

                if (dsKLine == null || dsKLine.Tables.Count == 0 || dsKLine.Tables[0].Rows.Count == 0)
                {
                    return;
                }

                _KLineData = dsKLine.Tables[0];
                var startDate = _KLineData.AsEnumerable().Select(x => x.Field <DateTime>("TradeDate")).Min();
                var endDate   = _KLineData.AsEnumerable().Select(x => x.Field <DateTime>("TradeDate")).Max();

                _tradeRecords = _dailyRecordService.GetDailyRecordsDetail(stockCode: _tradeInfo.StockCode, beneficiary: _tradeInfo.InvestorCode, tradeDateFrom: startDate, tradeDateTo: endDate)
                                .Where(x => x.DealVolume != 0)
                                .OrderBy(x => x.BeneficiaryName).ThenBy(x => x.TradeDate).ThenBy(x => x.TradeTime).ToList();

                _dealAvg = _tradeRecords.GroupBy(x => new { TradeDate = x.TradeDate, DealFlag = x.DealFlag })
                           .Select(x => new DealAvgInfo
                {
                    DealFlag   = x.Key.DealFlag,
                    DealPrice  = CommonHelper.SetDecimalDigits(x.Sum(y => y.DealAmount) / x.Sum(y => Math.Abs(y.DealVolume)), 3),
                    DealVolume = x.Sum(y => Math.Abs(y.DealVolume)),
                    TradeDate  = x.Key.TradeDate,
                }).ToList();

                var sqlText2 = $@"EXEC [dbo].[sp_TIPositionProfit] @InvestorCode = '{_tradeInfo.InvestorCode}', @StockCode = '{_tradeInfo.StockCode}',	@StartDate = '{startDate}' ,@EndDate = '{endDate}'";
                var dsProfit = SqlHelper.ExecuteDataset(AppConfig._ConnString, CommandType.Text, sqlText2);

                if (dsProfit != null && dsProfit.Tables.Count == 1)
                {
                    _positionProfit = dsProfit.Tables[0];
                }

                DisplayChart(startDate, endDate);

                this._chartGenerated = true;
            }
            catch (Exception ex)
            {
                DXMessage.ShowError(ex.Message);
            }
        }
Example #3
0
        private void ShowTimeSharingForm(DateTime tradeDate, TradeInfoModel tradeInfo)
        {
            var dialog = this.CreateDialog <FrmTimeSharingTradeIdentifier>(borderStyle: FormBorderStyle.Sizable, windowState: FormWindowState.Normal);

            dialog.Text      = "分时交易标识";
            dialog.TradeDate = tradeDate.Date;
            dialog.TradeInfo = tradeInfo;
            dialog.Show();
        }
Example #4
0
        public async Task <HttpResponseMessage> AddOrUpdateTrade([FromBody] TradeInfoModel trade)
        {
            TradeInfo tradeInfo = await _tradeManager.AddOrUpdate(AutoMapper.Mapper.Map <TradeInfo>(trade));

            if (tradeInfo != null)
            {
                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
            return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
        }
Example #5
0
        private void luTradeInfo_EditValueChanged(object sender, EventArgs e)
        {
            try
            {
                this._chartGenerated = false;

                _tradeInfo = luTradeInfo.GetSelectedDataRow() as TradeInfoModel;

                GetViewData();

                DisplayChart();

                this._chartGenerated = true;
            }
            catch (Exception ex)
            {
                DXMessage.ShowError(ex.Message);
            }
        }
        public void GetResponseModelTest()
        {
            var target = new SpGatewayResponse()
            {
                MerchantId = "MS31756909",
                Status     = "SUCCESS",
                Version    = "1.4",
                TradeInfo  = "9d9d94de7cdaa5c73ba288bb9fafac953691b4e72d865e4e098d7e96eded1122d4accc05946ccec051dd621b070cad3a7ff98656178bcfebbbd76b6fe11684476a0d4815c67195694106b33f6a922398047291f5775c2202553896d4b6abbdf5df5e0e86af72ae9b41329657b4e23dd9ec287464186928f30ee0fd859ed96c6982ccae7836102e97402699a2c780a08fa564a04bda3e7ca305efba44f535f0dbb4f54bea55fc56512a97910fd13712ea046d7c411ce2385fba959241899dbc60eeb4ebe54fe76a14087e3e979217ecfb111406b1c64c6f4a66186fab9eb0c4566909a128d6743e2bf560ce699eaa97a01b983be4b09dc706e69927d271443a3d3bb23789991893043c5c929d6f2586d82f920eb7c6075efa4d3019b13daca3f456448b4d8da93d6243962a062c70c603dea5c1ef60df97b3185302a83bc512bf43462321eeae92f064b2d33c8d2c434e3fbc83b3cad22f6b48f2b690395a0f08",
                TradeSha   = "0F271B65D055B3264D6C6C00FD6FDCC6BC7F653F8DAC38399C158F54AB2375B6",
                Key        = "xbEznJ0PExvWzd5ct72dLPCMPIBUw8K3",
                Vi         = "kpDI8DxNb2JKgOXK"
            };
            var actual = target.GetResponseModel <TradeInfoModel>();

            var expected = new TradeInfoModel
            {
                Status  = "SUCCESS",
                Message = "\u4ed8\u6b3e\u6210\u529f",
                Result  = new Result
                {
                    MerchantID      = "MS31756909",
                    Amt             = 900,
                    TradeNo         = "17060802213088297",
                    MerchantOrderNo = "636324851460397211",
                    RespondType     = "JSON",
                    IP                = "180.217.182.136",
                    EscrowBank        = "Esun",
                    PaymentType       = "WEBATM",
                    PayTime           = "2017-06-08 02:21:30",
                    PayerAccount5Code = "12345",
                    PayBankCode       = "808"
                }
            };

            expected.ShouldBeEquivalentTo(actual);
        }