Пример #1
0
        void DataControl_CurrentItemChanged(object sender, DevExpress.Xpf.Grid.CurrentItemChangedEventArgs e)
        {
            JournalLineGridClient oldselectedItem = e.OldItem as JournalLineGridClient;

            if (oldselectedItem != null)
            {
                oldselectedItem.PropertyChanged -= JournalLineGridClient_PropertyChanged;
                var Cache = GetCache(oldselectedItem._AccountType);
                if (Cache != null && Cache.Count > 1000)
                {
                    oldselectedItem.accntSource = null;
                    oldselectedItem.NotifyPropertyChanged("AccountSource");
                }
                Cache = GetCache(oldselectedItem._OffsetAccountType);
                if (Cache != null && Cache.Count > 1000)
                {
                    oldselectedItem.offsetAccntSource = null;
                    oldselectedItem.NotifyPropertyChanged("OffsetAccountSource");
                }
            }
            JournalLineGridClient selectedItem = e.NewItem as JournalLineGridClient;

            if (selectedItem != null)
            {
                selectedItem.PropertyChanged += JournalLineGridClient_PropertyChanged;
            }
        }
Пример #2
0
        private void SetOffsetAccountSource(JournalLineGridClient rec)
        {
            var      act   = rec._OffsetAccountType;
            SQLCache cache = GetCache(act);

            if (cache != null)
            {
                int ver = cache.version + 10000 * (act + 1);
                if (ver != rec.OffsetAccountVersion || rec.offsetAccntSource == null)
                {
                    if (act == (byte)GLJournalAccountType.Finans)
                    {
                        rec.offsetAccntSource = new UnicontaClient.Pages.GLDailyJournalLine.LedgerSQLCacheFilter(cache);
                    }
                    else
                    {
                        rec.offsetAccntSource = cache.GetNotNullArray;
                    }
                    if (rec.offsetAccntSource != null)
                    {
                        rec.OffsetAccountVersion = ver;
                        rec.NotifyPropertyChanged("OffsetAccountSource");
                    }
                }
            }
        }
Пример #3
0
        private void OffsetAccount_GotFocus(object sender, RoutedEventArgs e)
        {
            JournalLineGridClient selectedItem = dgGldailyJournalLinesGrid.SelectedItem as JournalLineGridClient;

            if (selectedItem != null)
            {
                SetOffsetAccountSource(selectedItem);
                if (prevOffsetAccount != null)
                {
                    prevOffsetAccount.isValidate = false;
                }
                var editor = (CorasauGridLookupEditorClient)sender;
                prevOffsetAccount = editor;
                editor.isValidate = true;
            }
        }
Пример #4
0
        void SetAccountByLookupText(object sender, bool offsetAcc)
        {
            JournalLineGridClient selectedItem = dgGldailyJournalLinesGrid.SelectedItem as JournalLineGridClient;

            if (selectedItem == null)
            {
                return;
            }
            var actType = !offsetAcc ? selectedItem._AccountTypeEnum : selectedItem._OffsetAccountTypeEnum;

            if (actType != GLJournalAccountType.Finans)
            {
                return;
            }
            var le = sender as CorasauGridLookupEditor;

            if (string.IsNullOrEmpty(le.EnteredText))
            {
                return;
            }
            var accounts = LedgerCache?.GetNotNullArray as GLAccount[];

            if (accounts != null)
            {
                var act = accounts.Where(ac => ac._Lookup == le.EnteredText).FirstOrDefault();
                if (act != null)
                {
                    dgGldailyJournalLinesGrid.SetLoadedRow(selectedItem);
                    if (offsetAcc)
                    {
                        selectedItem.OffsetAccount = act.KeyStr;
                    }
                    else
                    {
                        selectedItem.Account = act.KeyStr;
                    }
                    le.EditValue = act.KeyStr;
                    dgGldailyJournalLinesGrid.SetModifiedRow(selectedItem);
                }
            }
            le.EnteredText = null;
        }