Exemplo n.º 1
0
        public ResultModel GetContractDetail(UserModel user, int contractId, TradeDirectionEnum tradeDirection)
        {
            ResultModel result = new ResultModel();

            try
            {
                System.Data.DataTable dt = NFMT.DBUtility.SqlHelper.ExecuteDataTable(this.ConnectString, GetSQLString(contractId, tradeDirection), null, System.Data.CommandType.Text);
                if (dt != null && dt.Rows.Count > 0)
                {
                    result.ResultStatus = 0;
                    result.Message = "获取成功";
                    result.ReturnValue = dt;
                }
                else
                {
                    result.ResultStatus = -1;
                    result.Message = "获取失败";
                }
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                result.ResultStatus = -1;
            }

            return result;
        }
Exemplo n.º 2
0
        //override trade
        public void AddTrade(string symbol, DateTime timestamp, TradeDirectionEnum tradedirection, long sharesnumber, decimal price)
        {
            Trade t = new Trade();

            t.Stock          = GetStockBySymbol(symbol);
            t.TimeStamp      = timestamp;
            t.TradeDirection = tradedirection;
            t.SharesNumber   = sharesnumber;
            t.Price          = price;

            _trades.Add(t);
        }
Exemplo n.º 3
0
 public ResultModel GetContractDetail(UserModel user, int contractId, TradeDirectionEnum tradeDirection)
 {
     return contractDAL.GetContractDetail(user, contractId, tradeDirection);
 }
Exemplo n.º 4
0
        private string GetSQLString(int contractId, TradeDirectionEnum tradeDirection)
        {
            System.Text.StringBuilder sb = new StringBuilder();

            switch (tradeDirection)
            {
                case TradeDirectionEnum.采购:
                    sb.Append("select AssetName,BrandName,Format,OriginPlace,SUM(GrossAmount) GrossAmount,Price,DPAddress from ( ");
                    sb.AppendFormat("select csi.RefId,asset.AssetName,brand.BrandName,si.Format,si.OriginPlace,si.GrossAmount,case con.PriceMode when {0} then ISNULL(cp.AlmostPrice,0) when {1} then ISNULL(cp.FixedPrice,0) else 0 end as Price,dp.DPAddress ", (int)PriceModeEnum.点价, (int)PriceModeEnum.定价);
                    sb.Append("from dbo.St_ContractStockIn_Ref csi ");
                    sb.AppendFormat("inner join dbo.St_StockIn si on csi.StockInId = si.StockInId and si.StockInStatus>={0} ", (int)Common.StatusEnum.已生效);
                    sb.Append("left join dbo.Con_Contract con on con.ContractId = csi.ContractId ");
                    sb.Append("left join NFMT_Basic..Asset asset on si.AssetId = asset.AssetId ");
                    sb.Append("left join NFMT_Basic..Brand brand on si.BrandId = brand.BrandId ");
                    sb.Append("left join NFMT..Con_ContractPrice cp on con.ContractId = cp.ContractId ");
                    sb.AppendFormat("left join NFMT..Pri_PriceConfirm pc on con.ContractId = pc.ContractId and pc.PriceConfirmStatus >={0} ", (int)Common.StatusEnum.已生效);
                    sb.Append("left join NFMT_Basic..DeliverPlace dp on si.DeliverPlaceId = dp.DPId ");
                    sb.AppendFormat("where csi.ContractId = {0} and csi.RefStatus >={1} ", contractId, (int)Common.StatusEnum.已生效);
                    sb.Append(") as t group by AssetName,BrandName,Format,OriginPlace,Price,DPAddress");
                    break;
                case TradeDirectionEnum.销售:
                    sb.Append("select AssetName,BrandName,Format,OriginPlace,SUM(GrossAmount) GrossAmount,Price,DPAddress from ( ");
                    sb.AppendFormat("select sad.DetailId,asset.AssetName,brand.BrandName,st.Format,st.OriginPlace,sad.GrossAmount,case con.PriceMode when {0} then ISNULL(cp.AlmostPrice,0) when {1} then ISNULL(cp.FixedPrice,0) else 0 end as Price,dp.DPAddress ", (int)PriceModeEnum.点价, (int)PriceModeEnum.定价);
                    sb.Append("from dbo.St_StockOutApplyDetail sad ");
                    sb.Append(" left join NFMT..St_Stock st on sad.StockId = st.StockId ");
                    sb.Append(" left join NFMT..Con_Contract con on sad.ContractId = con.ContractId ");
                    sb.Append(" left join NFMT_Basic..Asset asset on st.AssetId = asset.AssetId ");
                    sb.Append(" left join NFMT_Basic..Brand brand on st.BrandId = brand.BrandId ");
                    sb.Append(" left join NFMT..Con_ContractPrice cp on con.ContractId = cp.ContractId ");
                    sb.Append(" left join NFMT_Basic..DeliverPlace dp on st.DeliverPlaceId = dp.DPId ");
                    sb.AppendFormat(" where sad.DetailStatus>={0} and sad.ContractId = {1} ", (int)Common.StatusEnum.已生效, contractId);
                    sb.Append(" ) as t group by AssetName,BrandName,Format,OriginPlace,Price,DPAddress ");
                    break;
                default: break;
            }

            return sb.ToString();
        }