Beispiel #1
0
 public void AddOrderDetail(C_OrderDetail entity)
 {
     DB.GetDal <C_OrderDetail>().Add(entity);
 }
Beispiel #2
0
 public void UpdateOrderDetail(C_OrderDetail entity)
 {
     DB.GetDal <C_OrderDetail>().Update(entity);
 }
Beispiel #3
0
        public C_Sports_Order_Running AddRunningOrderAndOrderDetail(string schemeId, SchemeBettingCategory category,
                                                                    string gameCode, string gameType, string playType, bool stopAfterBonus,
                                                                    string issuseNumber, int amount, int betCount, int totalMatchCount, decimal totalMoney, DateTime stopTime,
                                                                    SchemeSource schemeSource, TogetherSchemeSecurity security, SchemeType schemeType, bool canChase, bool isVirtualOrder,
                                                                    string userId, string userAgent, DateTime betTime, ActivityType activityType, string attach, bool isAppend, decimal redBagMoney, ProgressStatus progressStatus, TicketStatus ticketStatus)
        {
            //if (DateTime.Now >= stopTime)
            if (betTime >= stopTime)
            {
                throw new LogicException(string.Format("订单结束时间是{0},订单不能投注。", stopTime.ToString("yyyy-MM-dd HH:mm")));
            }
            var sportsManager = new Sports_Manager();

            if (new string[] { "JCZQ", "JCLQ" }.Contains(gameCode))
            {
                issuseNumber = DateTime.Now.ToString("yyyy-MM-dd");
            }

            DateTime?ticketTime = null;

            if (ticketStatus == TicketStatus.Ticketed)
            {
                ticketTime = DateTime.Now;
            }
            DateTime createtime = DateTime.Now;

            if (betTime != null && betTime.ToString() != "0001/1/1 0:00:00")
            {
                createtime = betTime;
            }
            else
            {
                betTime = DateTime.Now;
            }
            betTime = createtime;
            var order = new C_Sports_Order_Running
            {
                AfterTaxBonusMoney    = 0M,
                AgentId               = userAgent,
                Amount                = amount,
                BonusStatus           = (int)BonusStatus.Waitting,
                CanChase              = canChase,
                IsVirtualOrder        = isVirtualOrder,
                IsPayRebate           = false,
                RealPayRebateMoney    = 0M,
                TotalPayRebateMoney   = 0M,
                CreateTime            = createtime,
                GameCode              = gameCode,
                GameType              = gameType,
                IssuseNumber          = issuseNumber,
                PlayType              = playType,
                PreTaxBonusMoney      = 0M,
                ProgressStatus        = (int)progressStatus,
                SchemeId              = schemeId,
                SchemeType            = (int)schemeType,
                SchemeBettingCategory = (int)category,
                TicketId              = string.Empty,
                TicketLog             = string.Empty,
                TicketStatus          = (int)ticketStatus,
                TotalMatchCount       = totalMatchCount,
                TotalMoney            = totalMoney,
                SuccessMoney          = totalMoney,
                UserId                = userId,
                StopTime              = stopTime,
                SchemeSource          = (int)schemeSource,
                BetCount              = betCount,
                BonusCount            = 0,
                HitMatchCount         = 0,
                RightCount            = 0,
                Error1Count           = 0,
                Error2Count           = 0,
                MaxBonusMoney         = 0,
                MinBonusMoney         = 0,
                Security              = (int)security,
                TicketGateway         = string.Empty,
                TicketProgress        = 1M,
                BetTime               = betTime,
                ExtensionOne          = string.Format("{0}{1}", "3X1_", (int)activityType),
                Attach                = string.IsNullOrEmpty(attach) ? string.Empty : attach.ToUpper(),
                QueryTicketStopTime   = stopTime.AddMinutes(1).ToString("yyyyMMddHHmm"),
                IsAppend              = isAppend,
                RedBagMoney           = redBagMoney,
                IsSplitTickets        = ticketStatus == TicketStatus.Ticketed,
                TicketTime            = ticketTime,
            };

            sportsManager.AddSports_Order_Running(order);

            //订单总表信息
            var orderDetail = new C_OrderDetail
            {
                AfterTaxBonusMoney = 0M,
                AgentId            = userAgent,
                BonusStatus        = (int)BonusStatus.Waitting,
                //  ComplateTime = null,
                CreateTime            = createtime,
                CurrentBettingMoney   = ticketStatus == TicketStatus.Ticketed ? totalMoney : 0M,
                GameCode              = gameCode,
                GameType              = gameType,
                GameTypeName          = BettingHelper.FormatGameType(gameCode, gameType),
                PreTaxBonusMoney      = 0M,
                ProgressStatus        = (int)progressStatus,
                SchemeId              = schemeId,
                SchemeSource          = (int)schemeSource,
                SchemeType            = (int)schemeType,
                SchemeBettingCategory = (int)category,
                StartIssuseNumber     = issuseNumber,
                StopAfterBonus        = stopAfterBonus,
                TicketStatus          = (int)ticketStatus,
                TotalIssuseCount      = 1,
                TotalMoney            = totalMoney,
                UserId = userId,
                CurrentIssuseNumber = issuseNumber,
                IsVirtualOrder      = isVirtualOrder,
                PlayType            = playType,
                Amount              = amount,
                AddMoney            = 0M,
                BetTime             = betTime,
                IsAppend            = isAppend,
                RedBagMoney         = redBagMoney,
                BonusAwardsMoney    = 0M,
                RealPayRebateMoney  = 0M,
                RedBagAwardsMoney   = 0M,
                TotalPayRebateMoney = 0M,
                TicketTime          = ticketTime,
            };

            new SchemeManager().AddOrderDetail(orderDetail);
            return(order);
        }