/// <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; } }
/// <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; } } } }
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); }