示例#1
0
        private void ItemSearching_Handler(object sender, EventArgs e)
        {
            LDB_CardPaymentRecordSearchCondition con = new LDB_CardPaymentRecordSearchCondition();

            con.RecordDateTimeRange       = new DateTimeRange();
            con.RecordDateTimeRange.Begin = this.ucDateTimeInterval1.StartDateTime;
            con.RecordDateTimeRange.End   = this.ucDateTimeInterval1.EndDateTime;
            con.CardType = this.comCardType.SelectedCardType;
            con.CardID   = this.txtCardID.Text.Trim();
            if (carTypeComboBox1.SelectedIndex > 0)
            {
                con.CarType = carTypeComboBox1.SelectedCarType;
            }
            if (rdUpdated.Checked)
            {
                con.UpdateFlag = true;
            }
            if (rdUnupdated.Checked)
            {
                con.UpdateFlag = false;
            }
            if (chkPaymentMode.Checked)
            {
                con.PaymentMode = comPaymentMode.SelectedPaymentMode;
            }
            con.CarPlate = this.txtCarPlate.Text.Trim();

            if (this.comOperator.SelectecOperator != null)
            {
                con.Operator = this.comOperator.SelectecOperator;
            }

            LDB_CardPaymentRecordBll bll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect);
            QueryResultList <LDB_CardPaymentInfo> result = bll.GetItems(con);

            if (result.Result == ResultCode.Successful)
            {
                ShowReportsOnGrid(result.QueryObjects);
            }
            else
            {
                MessageBox.Show(result.Message);
            }
        }
示例#2
0
        protected override List <LDB_CardPaymentInfo> GetingItems(LDB_DataContext parking, SearchCondition search)
        {
            List <LDB_CardPaymentInfo>       items  = null;
            IQueryable <LDB_CardPaymentInfo> result = parking.CardPaymentRecord;

            if (search is RecordSearchCondition)
            {
                RecordSearchCondition condition = search as RecordSearchCondition;
                if (condition.RecordDateTimeRange != null)
                {
                    result = result.Where(c => c.ChargeDateTime >= condition.RecordDateTimeRange.Begin);
                    result = result.Where(c => c.ChargeDateTime <= condition.RecordDateTimeRange.End);
                }
                if (!string.IsNullOrEmpty(condition.CardID))
                {
                    result = result.Where(c => c.CardID == condition.CardID);
                }
                if (condition.PaymentMode != null)
                {
                    result = result.Where(c => c.PaymentMode == condition.PaymentMode.Value);
                }
                if (condition.Operator != null)
                {
                    result = result.Where(c => c.OperatorID == condition.Operator.OperatorName);
                }
                if (!string.IsNullOrEmpty(condition.StationID))
                {
                    result = result.Where(c => c.StationID == condition.StationID);
                }
                if (condition.IsUnSettled != null)
                {
                    if (condition.IsUnSettled.Value)
                    {
                        result = result.Where(c => c.SettleDateTime == null);
                    }
                    else
                    {
                        result = result.Where(c => c.SettleDateTime != null);
                    }
                }
                if (condition.SettleDateTime != null)
                {
                    result = result.Where(c => c.SettleDateTime == condition.SettleDateTime.Value);
                }
                if (!string.IsNullOrEmpty(condition.CarPlate))
                {
                    result = result.Where(c => c.CarPlate.Contains(condition.CarPlate));
                }
                if (condition.CarType != null)
                {
                    result = result.Where(c => c.CarType == condition.CarType.Value);
                }
                if (!string.IsNullOrEmpty(condition.CardCertificate))
                {
                    result = result.Where(c => c.CardCertificate.Contains(condition.CardCertificate));
                }
                if (search is CardPaymentRecordSearchCondition)
                {
                    CardPaymentRecordSearchCondition condition1 = search as CardPaymentRecordSearchCondition;
                    if (condition1.EnterDateTime != null)
                    {
                        result = result.Where(c => c.EnterDateTime == condition1.EnterDateTime.Value);
                    }
                    if (condition1.IsCenterCharge != null && condition1.IsCenterCharge.Value)
                    {
                        result = result.Where(c => c.IsCenterCharge == true);
                    }
                    if (condition1.IsCenterCharge != null && !condition1.IsCenterCharge.Value)
                    {
                        result = result.Where(c => c.IsCenterCharge == false);
                    }
                    if (condition1.ChargeDateTime != null)
                    {
                        result = result.Where(c => c.ChargeDateTime == condition1.ChargeDateTime.Value);
                    }
                    if (condition1.PaymentCode != null)
                    {
                        result = result.Where(c => c.PaymentCode == condition1.PaymentCode.Value);
                    }
                    if (!string.IsNullOrEmpty(condition1.OperatorCardID))
                    {
                        result = result.Where(c => c.OperatorCardID == condition1.OperatorCardID);
                    }
                }
                if (search is LDB_CardPaymentRecordSearchCondition)
                {
                    LDB_CardPaymentRecordSearchCondition ldbsearch = search as LDB_CardPaymentRecordSearchCondition;
                    if (ldbsearch.UpdateFlag != null)
                    {
                        result = result.Where(c => c.UpdateFlag == ldbsearch.UpdateFlag);
                    }
                }
                items = result.ToList();
                if (condition.CardType != null)
                {
                    items = items.Where(c => c.CardType == condition.CardType).ToList();
                }
            }
            else
            {
                items = new List <LDB_CardPaymentInfo>();
            }
            return(items);
        }
        private void UpdateLocalData_Thread()
        {
            try
            {
                while (true)
                {
                    _UpdateLoaclDataEvent.WaitOne(UpdateInterval * 60 * 1000);

                    if (AppSettings.CurrentSetting.EnableWriteCard)
                    {
                        LDB_CardPaymentRecordBll bll = new LDB_CardPaymentRecordBll(LDB_AppSettings.Current.LDBConnect);
                        try
                        {
                            //如果是主数据库时,需要主数据库连接上
                            if (!DataBaseConnectionsManager.Current.IsMasterConnectionString(_DataBaseUri) ||
                                DataBaseConnectionsManager.Current.MasterConnected)
                            {
                                LDB_CardPaymentRecordSearchCondition con = new LDB_CardPaymentRecordSearchCondition();
                                con.UpdateFlag = false;
                                List <LDB_CardPaymentInfo> records = bll.GetItems(con).QueryObjects;
                                if (records != null && records.Count > 0)
                                {
                                    CommandResult result = null;
                                    foreach (LDB_CardPaymentInfo record in records)
                                    {
                                        CardPaymentInfo info = LDB_InfoFactory.CreateCardPaymentInfo(record);
                                        info.UpdateFlag = true;

                                        CardPaymentRecordSearchCondition searchCondition = new CardPaymentRecordSearchCondition();
                                        searchCondition.CardID         = info.CardID;
                                        searchCondition.ChargeDateTime = info.ChargeDateTime;

                                        List <CardPaymentInfo> check = _CardPaymentProvider.GetItems(searchCondition).QueryObjects;
                                        if (check == null || check.Count == 0)
                                        {
                                            result = _CardPaymentProvider.Insert(info);
                                        }
                                        else
                                        {
                                            //已存在该记录,可认为插入成功
                                            result = new CommandResult(ResultCode.Successful, string.Empty);
                                        }

                                        if (result.Result == ResultCode.Successful)
                                        {
                                            record.UpdateFlag = true;
                                            bll.Update(record);
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Ralid.GeneralLibrary.ExceptionHandling.ExceptionPolicy.HandleException(ex);
                        }
                    }
                }
            }
            catch (ThreadAbortException ex)
            {
                Ralid.GeneralLibrary.LOG.FileLog.Log("系统", "上传本地数据库数据服务停止");
            }
        }