internal static Type GetDetailType(this LineDetailType type) { switch (type) { case LineDetailType.DescriptionOnly: return(typeof(DescriptionOnly)); case LineDetailType.DiscountLineDetail: return(typeof(DiscountLineDetail)); case LineDetailType.GroupLineDetail: return(typeof(GroupLineDetail)); case LineDetailType.SalesItemLineDetail: return(typeof(SalesItemLineDetail)); case LineDetailType.SubTotalLineDetail: return(typeof(SubtotalLineDetail)); case LineDetailType.TaxLineDetail: return(typeof(TaxLineDetail)); case LineDetailType.DepositLineDetail: return(typeof(DepositLineDetail)); default: throw new ArgumentException($"{nameof(type)} property is null or invalid."); } }
public static decimal GetAward(Globe_Clue Globe_Clue, string PrizeContent, Operation_Record record, List <Detail> Detail_List, ref List <string> AwardList) { decimal getdecimal = 0; string animals = string.Empty; try { List <Detail_S> Detail_Ss = Detail_S.GetBase(record.Buy_Content, Detail_List, record.BuyPayReturn); List <int> contListall = Split_Hepler.str_to_ints(PrizeContent).ToList(); int count = 0; LineDetailType LineType = (LineDetailType)Globe_Clue.Second_Type; if (LineType == LineDetailType.二尾连中 || LineType == LineDetailType.尾连中 || LineType == LineDetailType.四尾连中) { foreach (var animal in Detail_Ss) { foreach (var awardGlobe in contListall) { if (animal.GlobeCodeList.Contains(awardGlobe)) { count++; animals += animal.Name + ","; break; } } } if (count >= Detail_Ss.Count) { getdecimal += (decimal)(record.MinPayReturn * record.UnitPrice); AwardList.Add(animals); } } else if (LineType == LineDetailType.二尾连不中 || LineType == LineDetailType.尾连不中 || LineType == LineDetailType.四尾连不中) { foreach (var animal in Detail_Ss) { bool NoAdd = false; foreach (var awardGlobe in contListall) { if (!animal.GlobeCodeList.Contains(awardGlobe)) { NoAdd = true; break; } } if (!NoAdd) { count++; } } if (count >= Detail_Ss.Count) { getdecimal += (decimal)(record.MinPayReturn * record.UnitPrice); } } } catch (Exception ex) { LogHelper.Error(ex); } return(getdecimal); }