public void AddConsole(console console) { try { using (db_consolesEntities db = new db_consolesEntities()) { Validate(console); if (db.consoles.Any(x => x.Short_Name == console.Short_Name)) { throw new ArgumentException("The console's short name already exists"); } db.consoles.Add(console); db.SaveChanges(); ListUpdated?.Invoke(); } } catch (ArgumentException) { throw; } catch (Exception) { throw new Exception("Something wrong happened while adding a new console"); } }
private async Task UpdateList() { if (!_locallyLoaded) { ReloadLocalList(); } var list = await DownloadAndParseList(); if (list == null) { return; } foreach (var plugin in list) { if (plugin.IsObsolete || plugin.IsHidden && !SettingsHolder.Common.DeveloperMode) { continue; } var local = GetById(plugin.Id); if (local != null) { List.Remove(local); plugin.InstalledVersion = local.InstalledVersion; } List.Add(plugin); } ListUpdated?.Invoke(this, EventArgs.Empty); }
public override async Task HandleItemNotification(ListUpdated <T> notification) { switch (notification.Type) { case ListItemChangeType.ItemUpdated: { await base.HandleItemNotification(notification); break; } case ListItemChangeType.ItemDeleted: case ListItemChangeType.ItemAdded: { // For these the only 100% working solution is to basically fetch the current page again // We could make a 99% working solution by comparing the current items on the client to determine // if the data is part of this page or not, before refreshing WantsToFetchDataAgain = true; Console.WriteLine( "Refreshing current paginated page due to item add or remove. Delay to avoid too " + $"many requests: {FetchTimerInterval}"); break; } } }
private void OnListUpdated() { if (CurrentTrack == null) { MoveNext(); } ListUpdated?.Invoke(); }
public void UpdateNewList() { //adding items to a generic List<T>,code removed as not relevant to post //and raising the event afterwards if (ListUpdated != null) { ListUpdated.Invoke(this, EventArgs.Empty); } }
public void RemoveCompany(company company) { using (db_consolesEntities db = new db_consolesEntities()) { if (db.companies.FirstOrDefault(x => x.ID == company.ID) != null) { db.Entry(company).State = System.Data.EntityState.Deleted; db.SaveChanges(); ListUpdated?.Invoke(); } } }
public HistoryTracePropertyJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigation = null) : base(unitOfWorkFactory, interactiveService, navigation) { TabName = "Журнал полей объектов изменений"; DataLoader = new AnyDataLoader <HistoryTracePropertyNode>(GetItems); DataLoader.ItemsListUpdated += (s, e) => { ListUpdated?.Invoke(this, EventArgs.Empty); }; OnSelectResult += (s, e) => { OnEntitySelectedResult?.Invoke(this, new JournalSelectedNodesNodesEventArgs(e.SelectedObjects.OfType <JournalNodeBase>().ToArray()) ); }; }
public void UpdateCompany(company company) { try { using (db_consolesEntities db = new db_consolesEntities()) { Validate(company); db.Entry(company).State = System.Data.EntityState.Modified; db.SaveChanges(); ListUpdated?.Invoke(); } } catch (ArgumentException) { throw; } catch (Exception) { throw new Exception("Something wrong happened while updating the company's info."); } }
public void AddCompany(company company) { try { using (db_consolesEntities db = new db_consolesEntities()) { Validate(company); db.companies.Add(company); db.SaveChanges(); ListUpdated?.Invoke(); } } catch (ArgumentException) { throw; } catch (Exception ex) { throw new Exception("Something wrong happened while adding a new company."); } }
protected SingleEntityJournalViewModelBase(IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, bool hideJournalForOpenDialog = false, bool hideJournalForCreateDialog = false) : base(unitOfWorkFactory, commonServices) { this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); EntityType = typeof(TEntity); var config = RegisterEntity(ItemsSourceQueryFunction); config.AddDocumentConfiguration("Добавить", CreateDialogFunction, OpenDialogFunction, (node) => node.EntityType == typeof(TEntity), new JournalParametersForDocument { HideJournalForCreateDialog = hideJournalForCreateDialog, HideJournalForOpenDialog = hideJournalForOpenDialog }) .FinishConfiguration(); FinishJournalConfiguration(); if (!EntityConfigs[EntityType].PermissionResult.CanRead) { AbortOpening($"Нет прав для просмотра документов типа: {EntityType.GetSubjectName()}", "Невозможно открыть журнал"); } DataLoader.ItemsListUpdated += (sender, e) => ListUpdated?.Invoke(sender, e); }
public SimpleEntityJournalViewModel( Expression <Func <TEntity, object> > titleExp, Func <TEntityTab> createDlgFunc, Func <CommonJournalNode, TEntityTab> openDlgFunc, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices) : base(typeof(TEntity), unitOfWorkFactory, commonServices) { this.titleExp = titleExp ?? throw new ArgumentNullException(nameof(titleExp)); if (createDlgFunc == null) { throw new ArgumentNullException(nameof(createDlgFunc)); } if (openDlgFunc == null) { throw new ArgumentNullException(nameof(openDlgFunc)); } Register <TEntity, TEntityTab>(ItemsSourceQueryFunction, createDlgFunc, openDlgFunc); ExternalNotifyChangedWith(typeof(TEntity)); DataLoader.ItemsListUpdated += (sender, e) => ListUpdated?.Invoke(sender, e); }
private void OnListUpdated() { ListUpdated?.Invoke(this, EventArgs.Empty); }
public void OnListUpdated(EventArgs e) => ListUpdated?.Invoke(this, e);
void onListUpdatedEventHandler(Latest latest) => ListUpdated?.Invoke(latest);
protected virtual void OnListUpdated() { ListUpdated?.Invoke(this, null); }