public static void Delete <TTable>(TTable selectedItem, IDatabaseEditor <TTable> databaseEditor, Func <TTable, Guid> getId, Action actionAfterSuccess = null) { if (selectedItem == null) { return; } SafeRunMethod.WithoutReturn(() => { databaseEditor.Delete(getId(selectedItem)); actionAfterSuccess?.Invoke(); }); }
public static void Delete <TBasedProxy, TExtendedProxy>(TBasedProxy selectedItem, IDatabaseEditor <TBasedProxy, TExtendedProxy> databaseEditor) { if (selectedItem == null) { return; } SafeRunMethod.WithoutReturn(() => databaseEditor.Delete(selectedItem)); }
public static void Edit <TBasedProxy, TExtendedProxy, TWindow>(TBasedProxy selectedItem, IDatabaseReader <TBasedProxy, TExtendedProxy> databaseReader, Func <TExtendedProxy, bool, TWindow> getWindow, IDatabaseEditor <TBasedProxy, TExtendedProxy> databaseEditor) where TWindow : Window, IProxyWindowWithExtendedProxy <TExtendedProxy> { if (selectedItem == null) { return; } var oldProxy = SafeRunMethod.WithReturn(() => databaseReader.GetExtendedProxy(selectedItem)); if (oldProxy == null) { return; } var window = getWindow(oldProxy, false); if (window.ShowDialog() != true) { return; } SafeRunMethod.WithoutReturn(() => databaseEditor.Edit(oldProxy, window.ExtendedProxy)); }
public static void Add <TBasedProxy, TExtendedProxy, TWindow>(Func <TExtendedProxy, bool, TWindow> getWindow, IDatabaseEditor <TBasedProxy, TExtendedProxy> databaseEditor) where TWindow : Window, IProxyWindowWithExtendedProxy <TExtendedProxy> { var window = getWindow(default(TExtendedProxy), false); if (window.ShowDialog() != true) { return; } SafeRunMethod.WithoutReturn(() => databaseEditor.Add(window.ExtendedProxy)); }
public static void Edit <TTable, TWindow>(TTable selectedItem, Func <TTable, bool, TWindow> getWindow, IDatabaseEditor <TTable> databaseEditor, Func <TTable, Guid> getId, Action actionAfterSuccess = null) where TWindow : Window, IWindowWithChecking <TTable> { if (selectedItem == null) { return; } var window = getWindow(selectedItem, false); if (window.ShowDialog() != true) { return; } SafeRunMethod.WithoutReturn(() => { databaseEditor.Edit(getId(selectedItem), window.Table); actionAfterSuccess?.Invoke(); }); }
public static void Add <TTable, TWindow>(Func <TTable, bool, TWindow> getWindow, IDatabaseEditor <TTable> databaseEditor, Action actionAfterSuccess = null) where TWindow : Window, IWindowWithChecking <TTable> { var window = getWindow(default(TTable), false); if (window.ShowDialog() != true) { return; } SafeRunMethod.WithoutReturn(() => { databaseEditor.Add(window.Table); actionAfterSuccess?.Invoke(); }); }