Esempio n. 1
0
        public static async Task PerformStartupActions()
        {
            Logging.SetupLogging();

            await DatabaseManager.Initialize();

            await CharacterManager.Initialize();

            EveItems.Initialize();

            Settings.Initialize();

            AppDomain.CurrentDomain.ProcessExit += OnApplicationExit;
        }
Esempio n. 2
0
 private void Load()
 {
     using (var r = EveItemRepos())
     {
         _items = new EveItems(r.GetAll().ToList());
     }
     ItemsGrid.ItemsSource = _items;
     _itemsToDelete = new List<EveItem>();
 }
Esempio n. 3
0
        public void Init()
        {
            Load();
            Commands = new List<PageCommand>()
                {
                    new PageCommand
                        {
                            Name = "Сохранить",
                            Action = p =>
                                {
                                    using (var r = _eveItemRepos())
                                    {
                                        using (var transaction = new TransactionScope())
                                        {
                                            var toStore =
                                                _items.Where(it => _itemsToDelete.All(toRem => it.Guid != toRem.Guid))
                                                      .ToArray();
                                            foreach (var eveItem in toStore.Where(i => i.NeedsPriceUpdate))
                                            {
                                                r.UpdatePrice(eveItem.Guid, eveItem.Price);
                                                eveItem.NeedsPriceUpdate = false;
                                            }

                                            r.StoreBulk(toStore);
                                            r.SaveChanges();

                                            foreach (var toDelete in _itemsToDelete)
                                            {
                                                r.Delete(r.Find(toDelete.Guid));
                                            }
                                            r.SaveChanges();
                                            _itemsToDelete = new List<EveItem>();

                                            transaction.Complete();
                                        }
                                    }
                                }
                        },
                    new PageCommand
                        {
                            Name = "Загрузить",
                            Action = p =>
                                {
                                    using (var r = EveItemRepos())
                                    {
                                        _items = new EveItems(r.GetAll().ToList());
                                    }
                                    ItemsGrid.ItemsSource = _items;
                                    _itemsToDelete = new List<EveItem>();
                                }
                        },
                    new PageCommand
                        {
                            Name = "Новый",
                            Action = p =>
                                {
                                    var newItem = new EveItem()
                                        {
                                            Name = "новый пердмет"
                                        };
                                    _items.Add(newItem);
                                    ItemsGrid.SelectedItem = newItem;
                                    ItemsGrid.ScrollIntoView(newItem);
                                }
                        },
                    new PageCommand
                        {
                            Name = "Удалить",
                            Action = p =>
                                {

                                    var item = (EveItem) ItemsGrid.SelectedItem;
                                    _items.Remove(item);
                                    _itemsToDelete.Add(item);
                                }
                        }
                }.ToArray();
        }