Exemple #1
0
        private decimal CalPrice(FeeTools feeTools, string itemName, int times)
        {
            decimal itemPrice  = 0;
            decimal firstPrice = feeTools.GetCharge(itemName, 1); //初检费用

            itemPrice += firstPrice;

            for (int i = 2; i <= times; i++)
            {
                itemPrice += feeTools.GetCharge(itemName, i);
            }
            return(itemPrice);
        }
Exemple #2
0
        private void ExplainText(string s)
        {
            if (!WinVisible)
            {
                return;
            }

            ControlHelper.ThreadInvokerControl(AppHelper.MainForm, () =>
            {
                Clear();
                ControlHelper.ThreadRunExt(AppHelper.MainForm, () =>
                {
                    FeeTools feeTools = new FeeTools();
                    _carInfo          = new CarInfo();
                    _carInfo.TestNo   = RegexVal(s, @"检验流水号:(.*)号牌号码");
                    _carInfo.PlateNo  = RegexVal(s, @"号牌号码:(.*)车辆类型");
                    _carInfo.CarType  = RegexVal(s, @"车辆类型:(.*)检测项目");
                    _carInfo.TestItem = RegexVal(s, @"检测项目:(.*)检测次数");
                    string testTimes  = RegexVal(s, @"检测次数:(.*)引车员");
                    _carInfo.Guider   = RegexVal(s, @"引车员:(.*)检测时间");
                    _carInfo.TestDate = RegexVal(s, @"检测时间:(.*)");
                    ControlHelper.ThreadInvokerControl(AppHelper.MainForm, () =>
                    {
                        //处理检验项目和检验次数
                        string[] testItems = _carInfo.TestItem.Split(',');
                        for (int i = 0; i < testItems.Length; i++)
                        {
                            int times     = RegexVal(testTimes, $@"{testItems[i]}(.*?)次").ToInt();
                            decimal price = CalPrice(feeTools, testItems[i].Trim(), times);
                            ItemList.Add(new Tuple <string, int, decimal>(testItems[i].ToString(), times, price));
                            var item = new ListViewItem(new string[] { testItems[i], times.ToString(), price.ToString() });
                            materialListView1.Items.Add(item);
                        }


                        foreach (var item in ItemList)
                        {
                            TOTAL_PRICE += item.Item3;
                        }
                        _carInfo.Price = TOTAL_PRICE;
                        carFiller.DisplayEntity(_carInfo);
                        labPrice.Text = ExtendMethod.MoneyToCap(TOTAL_PRICE);
                    });
                }, null, AppHelper.MainForm, true, "", 200);
            });
        }