Пример #1
0
        void DataProvider_DatumReplacing(int ndx, IDatum datum)
        {
            lock (m_ndxTable)
            {
                if (m_cache == null)
                {
                    m_cache = new Dictionary <int, IDataRow>();
                }

                m_cache.Add(ndx, datum as IDataRow);
            }

            DatumReplacing?.Invoke(datum as IDataRow);
        }
Пример #2
0
        void DataProvider_DatumReplacing(int ndx, IDatum datum)
        {
            /*
             * framed => replacing(ndx, d), replaced(ndx, d')
             * fuzzy => replacing(ndx,d), deleted(ndx), added(ndx', d')
             * */

            //T key = m_selector(datum);

            lock (m_cache)
            {
                m_cache.Add(Tuple.Create(ndx, datum));
            }

            DatumReplacing?.Invoke(datum);
        }
Пример #3
0
        void Source_DatumReplacing(int srcIndex, IDataRow datum)
        {
            if (m_mapper.Accepted(srcIndex))
            {
                int ndx = m_mapper.FromSourceIndex(srcIndex);

                if (m_mapper.Filter(datum))
                {
                    DatumReplacing?.Invoke(ndx, datum);
                }
                else
                {
                    DatumDeleting?.Invoke(ndx);
                }
            }
        }
Пример #4
0
        private void Source_DatumReplacing(int srcIndex, IDatum datum)
        {
            using (Lock())
                if (m_mapper.IsSelected(srcIndex))
                {
                    int ndx = m_mapper.FromSourceIndex(srcIndex);

                    if (m_mapper.Filter(datum))
                    {
                        DatumReplacing?.Invoke(ndx, datum);
                    }
                    else
                    {
                        DatumDeleting?.Invoke(ndx);
                    }
                }
        }
Пример #5
0
            public void Replace(int ndxItem, IDatum item)
            {
                Assert(IsConnected);
                Assert(ndxItem < Count);

                DatumReplacing?.Invoke(ndxItem, Get(ndxItem));

                if (ndxItem < Count)
                {
                    m_dpCountries.Replace(ndxItem, item);
                }
                else
                {
                    m_impCountries[ndxItem - m_dpCountries.Count] = item as IDataRow;
                }

                DatumReplaced(ndxItem, item);
            }
Пример #6
0
            public void Replace(int ndx, IDataRow datum)
            {
                Assert(IsConnected);
                Assert(ndx < Count);
                Assert(0 <= ndx);
                Assert(datum != null);
                Assert(datum is T);

                lock (m_lock)
                {
                    DatumReplacing?.Invoke(ndx, datum);
                    m_table.Replace(ndx, (T)datum);

                    if (AutoFlush)
                    {
                        m_table.Flush();
                    }
                }
            }
Пример #7
0
 void OnRowReplacing(int ndx, IDatum row)
 {
     DatumReplacing?.Invoke(ndx, row);
 }