示例#1
0
        private void Cycle()
        {
            while (true)
            {
                Change[] queue;

                _event.WaitOne();

                lock (_syncRoot)
                {
                    queue = _queue.ToArray();

                    _queue.Clear();
                }

                using (var storage = new LokiContext())
                {
                    foreach (var change in queue)
                    {
                        change.Execute(storage);
                    }
                }
            }
        }
示例#2
0
        public override void Execute(LokiContext storage)
        {
            var resources = storage.Resources.Where(x => x.Culture == _culture && x.Set == _set && x.Key == _key).ToArray();
            if (resources.Length == 0)
            {
                return;
            }

            storage.Resources.RemoveRange(resources);
            storage.SaveChanges();
        }
示例#3
0
        public override void Execute(LokiContext storage)
        {
            var resource = storage.Resources.FirstOrDefault(x => x.Culture == _culture && x.Set == _set && x.Key == _key);
            if (resource != null)
            {
                resource.Value = _value;
            }
            else
            {
                resource = new Resource {Culture = _culture, Key = _key, Set = _set, Value = _value};

                storage.Resources.Add(resource);
            }

            storage.SaveChanges();
        }
示例#4
0
 public abstract void Execute(LokiContext storage);