예제 #1
0
        private bool grdData_Restore()
        {
            RFMCursorWait.Set(true);
            RFMCursorWait.LockWindowUpdate(FindForm().Handle);

            oPassCur.ClearOne();

            oPassList.ClearError();
            oPassList.ClearFilters();
            oPassList.ID     = null;
            oPassList.IDList = null;

            // собираем условия

            // даты
            if (!dtrDates.dtpBegDate.IsEmpty)
            {
                oPassList.FilterDateBeg = dtrDates.dtpBegDate.Value.Date;
            }
            if (!dtrDates.dtpEndDate.IsEmpty)
            {
                oPassList.FilterDateEnd = dtrDates.dtpEndDate.Value.Date;
            }

            // машины, типы, водители
            // контексты
            if (txtCarTypeNameContext.Text.Trim().Length > 0)
            {
                oPassList.FilterCarTypeNameContext = txtCarTypeNameContext.Text.Trim().ToUpper();
            }
            if (txtCarNameContext.Text.Trim().Length > 0)
            {
                oPassList.FilterCarNameContext = txtCarNameContext.Text.Trim().ToUpper();
            }
            if (txtCarNumberContext.Text.Trim().Length > 0)
            {
                oPassList.FilterCarNumberContext = txtCarNumberContext.Text.Trim().ToUpper();
            }
            if (txtDriverNameContext.Text.Trim().Length > 0)
            {
                oPassList.FilterDriverNameContext = txtDriverNameContext.Text.Trim().ToUpper();
            }
            if (txtReasonContext.Text.Trim().Length > 0)
            {
                oPassList.FilterReasonContext = txtReasonContext.Text.Trim().ToUpper();
            }

            // состояние машины
            if (optPassesStatusNotInNotOut.Checked)
            {
                oPassList.FilterDateBegFull = false;
                oPassList.FilterDateEndFull = false;
            }
            if (optPassesStatusInNotOut.Checked)
            {
                oPassList.FilterDateBegFull = true;
                oPassList.FilterDateEndFull = false;
            }
            if (optPassesStatusInOut.Checked)
            {
                oPassList.FilterDateBegFull = true;
                oPassList.FilterDateEndFull = true;
            }

            // подтверждение
            if (optIsConfirmed.Checked)
            {
                oPassList.FilterIsConfirmed = true;
            }
            if (optIsConfirmedNot.Checked)
            {
                oPassList.FilterIsConfirmed = false;
            }

            // разрешение
            if (optIsPermitted.Checked)
            {
                oPassList.FilterIsPermitted = true;
            }
            if (optIsPermittedNot.Checked)
            {
                oPassList.FilterIsPermitted = false;
            }

            //

            grdTrips.DataSource = null;

            grdData.GetGridState();

            oPassList.FillData();
            grdData.IsLockRowChanged = true;
            grdData.Restore(oPassList.MainTable);
            tmrRestore.Enabled = true;

            RFMCursorWait.LockWindowUpdate(IntPtr.Zero);
            RFMCursorWait.Set(false);

            return(oPassList.ErrorNumber == 0);
        }