コード例 #1
0
        /// <summary>
        /// 六獎號碼比對
        /// </summary>
        /// <param name="sixthPrizeNo"></param>
        /// <param name="invNum"></param>
        /// <param name="inv"></param>
        private void CompareSixthPrizeNumber(string sixthPrizeNo, string invNum, EinvoiceDataModel inv)
        {
            if (string.IsNullOrEmpty(sixthPrizeNo))
            {
                return;
            }

            if (CompareNums(sixthPrizeNo, invNum))
            {
                inv.WinningNumber = sixthPrizeNo;
                inv.WinningType   = API.Enums.WinningTypeEnum.SIXTH;
            }
        }
コード例 #2
0
        /// <summary>
        /// 頭獎號碼比對(比對到六獎)
        /// </summary>
        /// <param name="firstPrizeNo"></param>
        /// <param name="invNum"></param>
        private void CompareFirstPrizeNumber(string firstPrizeNo, string invNum, EinvoiceDataModel inv)
        {
            if (string.IsNullOrEmpty(firstPrizeNo))
            {
                return;
            }
            var winNum = string.Empty;

            //截斷字元只需6次
            for (int i = 0; i < 6; i++)
            {
                winNum = firstPrizeNo.Substring(i, firstPrizeNo.Length - i);
                if (CompareNums(winNum, invNum))
                {
                    inv.WinningNumber = firstPrizeNo;
                    switch (winNum.Length)
                    {
                    case 8:
                        inv.WinningType = API.Enums.WinningTypeEnum.FIRST;
                        break;

                    case 7:
                        inv.WinningType = API.Enums.WinningTypeEnum.SECOND;
                        break;

                    case 6:
                        inv.WinningType = API.Enums.WinningTypeEnum.THIRD;
                        break;

                    case 5:
                        inv.WinningType = API.Enums.WinningTypeEnum.FOURTH;
                        break;

                    case 4:
                        inv.WinningType = API.Enums.WinningTypeEnum.FIFTH;
                        break;

                    case 3:
                        inv.WinningType = API.Enums.WinningTypeEnum.SIXTH;
                        break;

                    default:
                        inv.WinningType = API.Enums.WinningTypeEnum.NONE;
                        break;
                    }
                }
            }
        }
コード例 #3
0
        private List <EinvoiceDataModel> CompareNumbers(EinvoiceWinningNumberResultModel winningModel, List <C0401H> invs)
        {
            List <EinvoiceDataModel> invoies = new List <EinvoiceDataModel>();

            foreach (var inv in invs)
            {
                EinvoiceDataModel temp = new EinvoiceDataModel()
                {
                    Data = inv
                };
                invoies.Add(temp);
            }

            foreach (var inv in invoies)
            {
                string invNum = inv.Data.MInvoiceNumber.Substring(2, inv.Data.MInvoiceNumber.Length - 2);

                #region 千萬獎

                if (winningModel.superPrizeNo.Equals(invNum))
                {
                    inv.WinningType   = API.Enums.WinningTypeEnum.SUPER;
                    inv.WinningNumber = winningModel.superPrizeNo;
                    continue;
                }

                #endregion 千萬獎

                #region 特獎

                if (winningModel.spcPrizeNo.Equals(invNum) ||
                    winningModel.spcPrizeNo2.Equals(invNum) ||
                    winningModel.spcPrizeNo3.Equals(invNum))
                {
                    inv.WinningType   = API.Enums.WinningTypeEnum.SPECIAL;
                    inv.WinningNumber =
                        winningModel.spcPrizeNo.Equals(invNum) ?
                        winningModel.spcPrizeNo : winningModel.spcPrizeNo2.Equals(invNum) ?
                        winningModel.spcPrizeNo2 : winningModel.spcPrizeNo3.Equals(invNum) ?
                        winningModel.spcPrizeNo3 : string.Empty;
                    continue;
                }

                #endregion 特獎

                #region 頭獎(一路比對到六獎)

                CompareFirstPrizeNumber(winningModel.firstPrizeNo1, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo2, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo3, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo4, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo5, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo6, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo7, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo8, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo9, invNum, inv);
                CompareFirstPrizeNumber(winningModel.firstPrizeNo10, invNum, inv);

                #endregion 頭獎(一路比對到六獎)

                #region 六獎(含加開)

                CompareSixthPrizeNumber(winningModel.sixthPrizeNo1, invNum, inv);
                CompareSixthPrizeNumber(winningModel.sixthPrizeNo2, invNum, inv);
                CompareSixthPrizeNumber(winningModel.sixthPrizeNo3, invNum, inv);
                CompareSixthPrizeNumber(winningModel.sixthPrizeNo4, invNum, inv);
                CompareSixthPrizeNumber(winningModel.sixthPrizeNo5, invNum, inv);
                CompareSixthPrizeNumber(winningModel.sixthPrizeNo6, invNum, inv);

                #endregion 六獎(含加開)
            }
            return(invoies);
        }