public static async Task PerformStartupActions() { Logging.SetupLogging(); await DatabaseManager.Initialize(); await CharacterManager.Initialize(); EveItems.Initialize(); Settings.Initialize(); AppDomain.CurrentDomain.ProcessExit += OnApplicationExit; }
private void Load() { using (var r = EveItemRepos()) { _items = new EveItems(r.GetAll().ToList()); } ItemsGrid.ItemsSource = _items; _itemsToDelete = new List<EveItem>(); }
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(); }