예제 #1
0
        public async Task <IActionResult> PutBonusType([FromRoute] int id, [FromBody] BonusStatus bonusType)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != bonusType.Id)
            {
                return(BadRequest());
            }

            _context.Entry(bonusType).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BonusStatusExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(_context.BonusStatuses.Find(id)));
        }
예제 #2
0
        public async Task <IActionResult> PostBonusType([FromBody] BonusStatus bonusType)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.BonusStatuses.Add(bonusType);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBonusType", new { id = bonusType.Id }, bonusType));
        }
예제 #3
0
        private string FormatBonusStatus(BonusStatus bonusStatus)
        {
            switch (bonusStatus)
            {
            case BonusStatus.Active:
            case BonusStatus.Wagered:
            case BonusStatus.Void:
                return(bonusStatus.ToString());

            default:
                return("-");
            }
        }
예제 #4
0
        /// <summary>
        /// 转换中奖显示名称
        /// </summary>
        /// <param name="bonusStatus">中奖状态</param>
        /// <returns>中奖显示名称</returns>
        public static string BonusStatusName(BonusStatus bonusStatus)
        {
            switch (bonusStatus)
            {
            case BonusStatus.Awarding: return("开奖中");

            case BonusStatus.Error: return("错误");

            case BonusStatus.Lose: return("未中奖");

            case BonusStatus.Waitting: return("未开奖");

            case BonusStatus.Win: return("已中奖");

            default: return(string.Empty);
            }
        }
예제 #5
0
        public GetBonusHistoryResponse GetBonusHistory(string product, BonusStatus status, DateTime from, DateTime to, int page = 1, int pageSize = 10)
        {
            var bonuses = _bonusApiProxy.GetBonusHistory(CultureCode, _userContext.UserId,
                                                         ProductMapping.Mappings[product], status, from, to);

            return(new GetBonusHistoryResponse
            {
                Code = ResponseCode.Success,
                TotalNumber = bonuses.Count,
                Histories = bonuses.Skip((page - 1) * pageSize).Take(pageSize).Select(history => new BonusHistoryModel
                {
                    Code = history.BonusCode,
                    Description = history.Description,
                    Product = history.ProductName,
                    Amount = history.BonusAmount,
                    ExpiryDate = history.ExpiryDate,
                    Status = history.Status
                }).ToArray()
            });
        }
예제 #6
0
    /// <summary>
    /// 获取中奖状态的样式名称
    /// </summary>
    /// <param name="progressStatus"></param>
    /// <param name="bonusStatus"></param>
    /// <returns></returns>
    public static string GetBonusCSS(ProgressStatus progressStatus, BonusStatus bonusStatus)
    {
        try
        {
            var css = "";
            switch (progressStatus)
            {
            case ProgressStatus.Aborted:
                css = "nobonus";
                break;

            case ProgressStatus.Running:
            case ProgressStatus.Waitting:
                css = "pro";
                break;

            case ProgressStatus.Complate:
                switch (bonusStatus)
                {
                case BonusStatus.Awarding:
                case BonusStatus.Error:
                case BonusStatus.Waitting:
                    css = "pro";
                    break;

                case BonusStatus.Lose:
                    css = "nobonus";
                    break;
                }
                break;
            }
            return(css);
        }
        catch
        {
            return("");
        }
    }
예제 #7
0
        /// <summary>
        /// 转换订单显示状态
        /// </summary>
        /// <param name="progressStatus">方案状态</param>
        /// <param name="ticketStatus">出票状态</param>
        /// <returns>显示状态</returns>
        public static string GetOrderStatusName(SchemeType schemeType, ProgressStatus progressStatus, TicketStatus ticketStatus = TicketStatus.Ticketed, BonusStatus bonusStatus = BonusStatus.Waitting, bool isPrizeMoney = false, bool isMine = true, bool isViturl = false)
        {
            if (schemeType == SchemeType.SaveScheme && isViturl && progressStatus == ProgressStatus.Waitting)
            {
                return("待购买");                                                                                               //如果是保存订单则表示为待购买
            }
            if (isViturl)
            {
                return("已撤单");           //如果是虚拟订单,则该订单为已撤单
            }
            switch (progressStatus)
            {
            case ProgressStatus.Waitting: return("待开始");

            case ProgressStatus.AutoStop: return("自动停止");

            case ProgressStatus.Aborted: return("撤单");

            case ProgressStatus.Running:
            case ProgressStatus.Complate:
                switch (ticketStatus)
                {
                case TicketStatus.Waitting: return("待投注");

                case TicketStatus.Ticketing: return("投注中");

                case TicketStatus.Ticketed:
                    if (progressStatus == ProgressStatus.Complate)
                    {
                        switch (bonusStatus)
                        {
                        case BonusStatus.Waitting: return("未开奖");

                        case BonusStatus.Awarding: return("开奖中");

                        case BonusStatus.Error: return("开奖错误");

                        case BonusStatus.Lose: return("未中奖");

                        case BonusStatus.Win: return(isPrizeMoney ? "已派奖" : "已中奖");

                        default: return("已完成");
                        }
                    }
                    else
                    {
                        return(schemeType == SchemeType.TogetherBetting && !isMine ? "已跟单" : "已出票");
                    }

                case TicketStatus.PrintTicket: return("已打票");

                case TicketStatus.Skipped: return("被跳过");

                case TicketStatus.Error: return("出票失败");

                case TicketStatus.Abort: return("撤单");

                default: return("待投注");
                }

            default: return("待开始");
            }
        }
예제 #8
0
    /// <summary>
    /// 计算合买订单当前进度所在, 0:刚发起  1:投注中  2:已出票  3:已开奖  4:已派奖
    /// </summary>
    /// <param name="togetherStatus">合买方案状态</param>
    /// <param name="ticketstatus">出票状态</param>
    /// <param name="BonusStatus">是否开奖</param>
    /// <returns>所在位置</returns>
    public static int Progress_StatusIndex(TogetherSchemeProgress togetherStatus, TicketStatus ticketStatus, BonusStatus bonusStatus, bool isPrizeMoney = false)
    {
        var at = 0;

        try
        {
            switch (togetherStatus)
            {
            case TogetherSchemeProgress.Finish:
                at = 2;
                break;

            case TogetherSchemeProgress.Cancel:
            case TogetherSchemeProgress.AutoStop:
                at = 0;
                break;

            case TogetherSchemeProgress.Standard:
                at = 2;
                break;

            case TogetherSchemeProgress.SalesIn:
                at = 1;
                break;

            case TogetherSchemeProgress.Completed:
                switch (ticketStatus)
                {
                case TicketStatus.Skipped:
                case TicketStatus.Error:
                case TicketStatus.Abort:
                    at = 0;
                    break;

                case TicketStatus.Ticketing:
                case TicketStatus.Waitting:
                    at = 1;
                    break;

                case TicketStatus.Ticketed:
                    if ((bonusStatus == BonusStatus.Win || bonusStatus == BonusStatus.Lose))
                    {
                        at = 3;
                        if (bonusStatus == BonusStatus.Win && isPrizeMoney)
                        {
                            at = 4;
                        }
                    }
                    else
                    {
                        at = 2;
                    }
                    break;
                }
                break;
            }
        }
        catch
        {
        }

        return(at);
    }
예제 #9
0
    /// <summary>
    /// 计算普通订单当前进度所在, 0:刚发起  1:投注中  2:已出票  3:已开奖  4:已派奖
    /// </summary>
    /// <param name="status">方案状态</param>
    /// <param name="ticketstatus">出票状态</param>
    /// <param name="bonusstatus">中奖状态</param>
    /// <returns>所在位置</returns>
    public static int Progress_StatusIndex(ProgressStatus status, TicketStatus ticketstatus, BonusStatus bonusstatus, bool isPrizeMoney = false)
    {
        var at = 0;

        try
        {
            switch (status)
            {
            case ProgressStatus.Aborted: at = 0; break;

            case ProgressStatus.AutoStop: at = 0; break;

            case ProgressStatus.Waitting: at = 1; break;

            case ProgressStatus.Complate:
            case ProgressStatus.Running:
                switch (ticketstatus)
                {
                case TicketStatus.Skipped:
                case TicketStatus.Error:
                case TicketStatus.Abort: at = 0; break;

                case TicketStatus.Ticketing:
                case TicketStatus.Waitting: at = 1; break;

                case TicketStatus.Ticketed:
                    if (status == ProgressStatus.Complate && (bonusstatus == BonusStatus.Win || bonusstatus == BonusStatus.Lose))
                    {
                        at = 3;
                        if (bonusstatus == BonusStatus.Win && isPrizeMoney)
                        {
                            at = 4;
                        }
                    }
                    else
                    {
                        at = 2;
                    }
                    break;
                }
                break;
            }
        }
        catch
        {
        }

        return(at);
    }
예제 #10
0
    /// <summary>
    /// 转换合买方案状态名称
    /// </summary>
    /// <param name="togetherStatus">合买方案状态</param>
    /// <param name="togetherStatus">合买方案出票状态</param>
    /// <returns>合买方案状态名称</returns>
    public static string TogetherProgressName(TogetherSchemeProgress togetherStatus, TicketStatus ticketStatus = TicketStatus.Ticketed, BonusStatus bonusStatus = BonusStatus.Waitting, bool isPrizeMoney = false)
    {
        //合买方案进度
        string status = string.Empty;

        switch (togetherStatus)
        {
        case TogetherSchemeProgress.SalesIn:
            status = "销售中";
            break;

        case TogetherSchemeProgress.Standard:
            status = "达标";
            switch (ticketStatus)
            {
            case TicketStatus.Waitting:
                status = "待出票";
                break;

            case TicketStatus.Ticketing:
                status = "出票中";
                break;

            case TicketStatus.PrintTicket:
                status = "已打票";
                break;

            case TicketStatus.Abort:
                status = "被终止";
                break;

            case TicketStatus.Skipped:
                status = "被跳过";
                break;

            case TicketStatus.Ticketed:
                status = "已出票";
                break;

            case TicketStatus.Error:
                status = "出票失败";
                break;
            }
            break;

        case TogetherSchemeProgress.Finish:
            status = "满员";
            switch (ticketStatus)
            {
            case TicketStatus.Waitting:
                status = "待出票";
                break;

            case TicketStatus.Ticketing:
                status = "出票中";
                break;

            case TicketStatus.PrintTicket:
                status = "已打票";
                break;

            case TicketStatus.Abort:
                status = "被终止";
                break;

            case TicketStatus.Skipped:
                status = "被跳过";
                break;

            case TicketStatus.Ticketed:
                status = "已出票";
                break;

            case TicketStatus.Error:
                status = "出票失败";
                break;
            }
            break;

        case TogetherSchemeProgress.Completed:
            status = "已完成";
            switch (ticketStatus)
            {
            case TicketStatus.Waitting:
                status = "待出票";
                break;

            case TicketStatus.Ticketing:
                status = "出票中";
                break;

            case TicketStatus.PrintTicket:
                status = "已打票";
                break;

            case TicketStatus.Abort:
                status = "被终止";
                break;

            case TicketStatus.Skipped:
                status = "被跳过";
                break;

            case TicketStatus.Ticketed:
                switch (bonusStatus)
                {
                case BonusStatus.Waitting: status = "未开奖"; break;

                case BonusStatus.Awarding: status = "开奖中"; break;

                case BonusStatus.Error: status = "开奖错误"; break;

                case BonusStatus.Lose: status = "未中奖"; break;

                case BonusStatus.Win: status = isPrizeMoney ? "已派奖" : "已中奖";; break;

                default: status = "已完成"; break;
                }
                break;

            case TicketStatus.Error:
                status = "出票失败";
                break;
            }
            break;

        case TogetherSchemeProgress.AutoStop:
            status = "撤单";
            break;

        case TogetherSchemeProgress.Cancel:
            status = "撤单";
            break;

        default: status = togetherStatus.ToString(); break;
        }
        return(status);
    }
예제 #11
0
 /// <summary>
 /// 是否已开奖
 /// </summary>
 /// <param name="bonusStatus">开奖状态</param>
 /// <returns>是否已开奖</returns>
 public static bool IsAward(BonusStatus bonusStatus)
 {
     return(bonusStatus == BonusStatus.Win || bonusStatus == BonusStatus.Lose || bonusStatus == BonusStatus.Error);
 }