Beispiel #1
0
 private void Commit()
 {
     if (ArraysBuffer.Any())
     {
         Context.Arrays.AddRange(ArraysBuffer);
         Context.SaveChanges();
         ArraysBuffer.Clear();
     }
     if (_transaction != null)
     {
         _transaction.Commit();
         _transaction = null;
     }
 }
Beispiel #2
0
        public virtual Array AddArray(string name, int number, double[] values)
        {
            if (!EditMode)
            {
                throw new BundleNotInEditModeException();
            }
            var array = new Array(name, number, values, Id);

            ArraysBuffer.Add(array);
            if (ArraysBuffer.Count >= MaxBufferSize)
            {
                Commit();
                RecreateContext();
            }
            _count++;
            return(array);
        }
Beispiel #3
0
        public Array GetArray(int number)
        {
            var array = Arrays.FirstOrDefault(arr => arr.BundleId == Id && arr.Number == number);

            return(array ?? ArraysBuffer.FirstOrDefault(arr => arr.Number == number));
        }