public void initallfood(FDModel fdm, string data) //전체 리스트 추가 { if (data == "김밥류" || data == "전체") { fdm.FData.Add(new AInfor("일반김밥", 2500, "김밥류", getimgPath("일반김밥"))); fdm.FData.Add(new AInfor("참치김밥", 2500, "김밥류", getimgPath("참치김밥"))); fdm.FData.Add(new AInfor("치즈김밥", 2500, "김밥류", getimgPath("치즈김밥"))); fdm.FData.Add(new AInfor("돈까스김밥", 2500, "김밥류", getimgPath("돈까스김밥"))); fdm.FData.Add(new AInfor("샐러드김밥", 2500, "김밥류", getimgPath("샐러드김밥"))); fdm.FData.Add(new AInfor("소고기김밥", 2500, "김밥류", getimgPath("소고기김밥"))); } if (data == "식사류" || data == "전체") { fdm.FData.Add(new AInfor("비빔밥", 6000, "식사류", getimgPath("비빔밥"))); fdm.FData.Add(new AInfor("소고기덮밥", 7000, "식사류", getimgPath("소고기덮밥"))); fdm.FData.Add(new AInfor("오므라이스", 6500, "식사류", getimgPath("오므라이스"))); fdm.FData.Add(new AInfor("제육덮밥", 6500, "식사류", getimgPath("제육덮밥"))); } if (data == "분식류" || data == "전체") { fdm.FData.Add(new AInfor("국물떡볶이", 6000, "분식류", getimgPath("국물떡볶이"))); fdm.FData.Add(new AInfor("궁중떡볶이", 7000, "분식류", getimgPath("궁중떡볶이"))); fdm.FData.Add(new AInfor("치즈떡볶이", 7000, "분식류", getimgPath("치즈떡볶이"))); fdm.FData.Add(new AInfor("엽기떡볶이", 8000, "분식류", getimgPath("엽기떡볶이"))); } if (data == "음료수" || data == "전체") { fdm.FData.Add(new AInfor("코카콜라", 2000, "음료수", getimgPath("코카콜라"))); fdm.FData.Add(new AInfor("펩시", 2000, "음료수", getimgPath("펩시"))); } }
/// <summary> /// 解析FD数据 /// </summary> /// <param name="FdDataList"></param> /// <returns></returns> public FDModel GetFDData(List <string> FdDataList) { bool IsGetHeader = false; //是否计算折扣 bool IsJSPrice = true; FDModel fdmodel = new FDModel(); foreach (string item in FdDataList) { string[] strArr = item.Split(new string[] { "\r" }, StringSplitOptions.RemoveEmptyEntries); foreach (var fdItem in strArr) { if (!fdItem.StartsWith("PFD") && !fdItem.StartsWith("FD:")) { //每项数据处理 string FdPattern = @"\s*(?<num>\d{1,3})\s*(?<Carry>\w{2})\/(?<Seat>\w+)\s*\/\s*(?<Fare1>[\d|\.]+)\=\s*(?<Fare2>[\d|\.]+)\s*\/(?<seat1>\w{1,2})\/(?<seat2>\w{1,2})\/\s*\/\s*\.\s*\/(?<date>.*?)\s*\/(?<Orther>\w+)\s*"; Match mchFd = Regex.Match(fdItem, FdPattern, RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase); if (mchFd.Success) { FdItemData fditem = new FdItemData(); fditem.num = mchFd.Groups["num"].Value.Replace("", ""); fditem.Carry = mchFd.Groups["Carry"].Value.Replace("", ""); fditem.Seat = mchFd.Groups["Seat"].Value.Replace("", ""); fditem.Fare1 = mchFd.Groups["Fare1"].Value.Replace("", ""); fditem.Fare2 = mchFd.Groups["Fare2"].Value.Replace("", ""); fditem.seat1 = mchFd.Groups["seat1"].Value.Replace("", ""); fditem.seat2 = mchFd.Groups["seat2"].Value.Replace("", ""); fditem.date = FormatPNR.GetYMD(mchFd.Groups["date"].Value.Replace("", ""), DataFormat.dayMonthYear); fditem.Orther = mchFd.Groups["Orther"].Value.Replace("", ""); fdmodel.FdDataList.Add(fditem); if (fditem.Seat.Trim().ToUpper() == "Y") { fdmodel.FdYDataList.Add(fditem); } } } else { if (!IsGetHeader) { string FdPattern = @"(?<=FD:)\s*(?<city>.*?)\/(?<date>.*?)\/\s*.*?(?<=\/TPM)\s*(?<Mileage>\d+)\/\s*"; Match mchFd = Regex.Match(fdItem, FdPattern, RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase); if (mchFd.Success) { string city = mchFd.Groups["city"].Value.Trim().ToUpper().Replace("", ""); string date = mchFd.Groups["date"].Value.Trim().Replace("", ""); string Mileage = mchFd.Groups["Mileage"].Value.Trim() == "" ? "0" : mchFd.Groups["Mileage"].Value.Trim(); fdmodel.fdMileage = Mileage.Replace("", ""); fdmodel.fdDate = FormatPNR.GetYMD(date, DataFormat.dayMonthYear); fdmodel.strDate = date; fdmodel.fromCode = city.Substring(0, 3); fdmodel.toCode = city.Substring(3); IsGetHeader = true; } } } } //数据 } //PN if (IsJSPrice) { for (int i = 0; i < fdmodel.FdDataList.Count; i++) { JiSuanPrice(fdmodel.FdDataList[i], fdmodel.FdYDataList); } } fdmodel.TotalCount = fdmodel.FdDataList.Count.ToString(); return(fdmodel); }