From d58a8702b33cb3f456ae7dc4dee5fad136999934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Holger=20B=C3=B6rchers?= Date: Thu, 6 Aug 2020 22:57:25 +0200 Subject: [PATCH] little modifications to users --- .idea/.idea.UserService/.idea/indexLayout.xml | 8 +++ .idea/.idea.UserService/.idea/modules.xml | 8 +++ .../.idea/projectSettingsUpdater.xml | 6 +++ .idea/.idea.UserService/.idea/vcs.xml | 6 +++ .idea/.idea.UserService/riderModule.iml | 15 ++++++ UserService.DatabaseLayer/DataModels/Node.cs | 2 +- .../Repository/BaseRepository.cs | 5 +- .../Repository/IRepository.cs | 2 +- UserService.db | Bin 40960 -> 40960 bytes UserService/Pages/Users.razor | 4 +- UserService/Pages/Users.razor.cs | 46 +++++++++--------- 11 files changed, 74 insertions(+), 28 deletions(-) create mode 100644 .idea/.idea.UserService/.idea/indexLayout.xml create mode 100644 .idea/.idea.UserService/.idea/modules.xml create mode 100644 .idea/.idea.UserService/.idea/projectSettingsUpdater.xml create mode 100644 .idea/.idea.UserService/.idea/vcs.xml create mode 100644 .idea/.idea.UserService/riderModule.iml diff --git a/.idea/.idea.UserService/.idea/indexLayout.xml b/.idea/.idea.UserService/.idea/indexLayout.xml new file mode 100644 index 0000000..27ba142 --- /dev/null +++ b/.idea/.idea.UserService/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.UserService/.idea/modules.xml b/.idea/.idea.UserService/.idea/modules.xml new file mode 100644 index 0000000..9ed9bc0 --- /dev/null +++ b/.idea/.idea.UserService/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.UserService/.idea/projectSettingsUpdater.xml b/.idea/.idea.UserService/.idea/projectSettingsUpdater.xml new file mode 100644 index 0000000..4bb9f4d --- /dev/null +++ b/.idea/.idea.UserService/.idea/projectSettingsUpdater.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/.idea.UserService/.idea/vcs.xml b/.idea/.idea.UserService/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.UserService/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/.idea.UserService/riderModule.iml b/.idea/.idea.UserService/riderModule.iml new file mode 100644 index 0000000..19473e1 --- /dev/null +++ b/.idea/.idea.UserService/riderModule.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/UserService.DatabaseLayer/DataModels/Node.cs b/UserService.DatabaseLayer/DataModels/Node.cs index 881ad38..c5b63f1 100644 --- a/UserService.DatabaseLayer/DataModels/Node.cs +++ b/UserService.DatabaseLayer/DataModels/Node.cs @@ -52,7 +52,7 @@ namespace UserService.DatabaseLayer.DataModels public Node? Parent { get; set; } //Parent public int? ParentId { get; set; } - public override string ToString() => $"[{GetType().Name}] {Id:D5} {CommonName}"; + public override string ToString() => CommonName; public int Level => Parent?.Level + 1 ?? 0; diff --git a/UserService.DatabaseLayer/Repository/BaseRepository.cs b/UserService.DatabaseLayer/Repository/BaseRepository.cs index 32065b7..2df2c97 100644 --- a/UserService.DatabaseLayer/Repository/BaseRepository.cs +++ b/UserService.DatabaseLayer/Repository/BaseRepository.cs @@ -38,11 +38,12 @@ namespace UserService.DatabaseLayer.Repository await db.SaveChangesAsync(token); } - public async Task UpdateAsync(T entity, CancellationToken token = default) + public async Task UpdateAsync(T entity, CancellationToken token = default) { await using var db = new UserServiceDbContext(); Context(db).Update(entity); - await db.SaveChangesAsync(token); + var items= await db.SaveChangesAsync(token); + return items > 0; } public async Task DeleteAsync(T entity, CancellationToken token = default) diff --git a/UserService.DatabaseLayer/Repository/IRepository.cs b/UserService.DatabaseLayer/Repository/IRepository.cs index 189c21a..5a95ac4 100644 --- a/UserService.DatabaseLayer/Repository/IRepository.cs +++ b/UserService.DatabaseLayer/Repository/IRepository.cs @@ -13,7 +13,7 @@ namespace UserService.DatabaseLayer.Repository Task> GetAllAsync(Expression>? predicate = null, CancellationToken token = default); Task GetAsync(Expression> predicate, CancellationToken token = default); Task AddAsync(T entity, CancellationToken token = default); - Task UpdateAsync(T entity, CancellationToken token = default); + Task UpdateAsync(T entity, CancellationToken token = default); Task DeleteAsync(T entity, CancellationToken token = default); } diff --git a/UserService.db b/UserService.db index 52aa9e57426b1a08190f8baa5a0289305d763cd3..dd1435b74729284c613821714f65c7bf236939c2 100644 GIT binary patch delta 98 zcmV-o0G57H0854#Vw52+8$562J3vk?$=4+IbU00xtxe`5m=54E!gfT<4z00005v$T&) E5H@-sM*si- delta 98 zcmV-o0G51kLv55W(+548`e56ut9vk?$=4+I4R0RfYte`5m>53sWbfT<4z1Oos8v$T&) E5KIgowg3PC diff --git a/UserService/Pages/Users.razor b/UserService/Pages/Users.razor index a0cfbc3..d420664 100644 --- a/UserService/Pages/Users.razor +++ b/UserService/Pages/Users.razor @@ -12,7 +12,7 @@ } else { - + @@ -29,7 +29,7 @@ else - + } \ No newline at end of file diff --git a/UserService/Pages/Users.razor.cs b/UserService/Pages/Users.razor.cs index 0c712a9..cc16240 100644 --- a/UserService/Pages/Users.razor.cs +++ b/UserService/Pages/Users.razor.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Blazorise.DataGrid; +using Microsoft.JSInterop; using UserService.DatabaseLayer.DataModels; using UserService.DatabaseLayer.Repository; @@ -12,8 +13,7 @@ namespace UserService.Pages [Inject] private IUsersRepository UsersRepository { get; set; } = null!; [Inject] private IOrganizationUnitsRepository OrganizationUnitsRepository { get; set; } = null!; - protected bool DialogIsOpen { get; set; } - protected User? UserToEdit { get; private set; } + [Inject] private IJSRuntime JsRuntime { get; set; } = null!; protected IReadOnlyList? Users { get; private set; } protected IReadOnlyList? OrganizationUnits { get; private set; } @@ -24,29 +24,31 @@ namespace UserService.Pages OrganizationUnits = await OrganizationUnitsRepository.GetAllAsync().ConfigureAwait(false); } - protected void EditUser(User user) + protected async Task RowInsertedCallback(SavedRowItem> arg) { - DialogIsOpen = true; - UserToEdit = user; - } - - protected async Task OkClick() - { - if (UserToEdit is null) return; - await UsersRepository.UpdateAsync(UserToEdit).ConfigureAwait(false); - DialogIsOpen = false; - } - - protected async Task DeleteUser(User user) - { - await UsersRepository.DeleteAsync(user).ConfigureAwait(false); - } - - protected async Task RowInsertedCallback(SavedRowItem> obj) - { - var user = obj.Item; + var user = arg.Item; user.ParentId = -2; await UsersRepository.AddAsync(user); } + + protected async Task RowDeletingCallback(CancellableRowChange arg) + { + var confirmed = await JsRuntime.InvokeAsync("confirm", + $"You are about to delete the user {arg.Item.FullName}. Are you sure?").ConfigureAwait(false); + if (confirmed) + { + await UsersRepository.DeleteAsync(arg.Item).ConfigureAwait(false); + return; + } + + arg.Cancel = true; + } + + protected async Task RowUpdatingCallback(CancellableRowChange> arg) + { + var result = await UsersRepository.UpdateAsync(arg.Item); + arg.Cancel = !result; + } + } } \ No newline at end of file