private void SavePaymentsToPark(List <string> records) { FrmProcessing frmP = new FrmProcessing(); Action action = delegate() { try { int success = 0; int fail = 0; CardPaymentRecordBll bll = new CardPaymentRecordBll(AppSettings.CurrentSetting.ParkConnect); foreach (string record in records) { Ralid.Park.POS.Model.CardPaymentInfo p = Ralid.Park.POS.Model.CardPaymentInfoSerializer.Deserialize(record); if (p != null) { CardPaymentInfo item = CreateFrom(p); CommandResult ret = bll.InsertRecordWithCheck(item); if (ret.Result == ResultCode.Successful) { success++; } else { fail++; } } else { fail++; } frmP.ShowProgress(string.Format(Resource1.FrmMain_ImportCharges + " " + Resource1.FrmMain_Success + ":{0} " + Resource1.FrmMain_Fail + ":{1} " + Resource1.FrmMain_ImportTotal + ": {2}", success, fail, records.Count), (decimal)(success + fail) / records.Count); } ShowMessage(string.Format(Resource1.FrmMain_ImportCharges + " " + Resource1.FrmMain_Success + ":{0} " + Resource1.FrmMain_Fail + ":{1} " + Resource1.FrmMain_ImportTotal + ": {2}", success, fail, records.Count), Color.Black); } catch (ThreadAbortException) { } catch (Exception ex) { frmP.ShowProgress(ex.Message, 1); ShowMessage(ex.Message, Color.Red); } }; Thread t = new Thread(new ThreadStart(action)); t.Start(); if (frmP.ShowDialog() != DialogResult.OK) { t.Abort(); } }
private CardPaymentInfo CreateFrom(Ralid.Park.POS.Model.CardPaymentInfo p) { CardPaymentInfo item = new CardPaymentInfo(); item.ChargeDateTime = p.ChargeDateTime; item.CardID = p.CardID; item.EnterDateTime = p.EnterDateTime; item.CarPlate = p.CarPlate; item.CardType = (Ralid.Park.BusinessModel.Enum.CardType)p.CardType; item.CarType = p.CarType; item.TariffType = (Ralid.Park.BusinessModel.Enum.TariffType)p.TariffType; item.LastTotalPaid = p.LastTotalPaid; item.Accounts = p.Accounts; item.Paid = p.Paid; item.Discount = p.Discount; item.PaymentMode = (Ralid.Park.BusinessModel.Enum.PaymentMode)p.PaymentMode; item.PaymentCode = (Ralid.Park.BusinessModel.Enum.PaymentCode)p.PaymentCode; item.IsCenterCharge = p.IsCenterCharge; item.OperatorID = p.Operator; item.StationID = p.StationID; item.Memo = p.Memo; return(item); }