Add IDeletable to User

This commit is contained in:
Emanuele Filardo
2019-10-08 10:41:39 +02:00
parent 58427dcd62
commit 8de502e504
4 changed files with 41 additions and 3 deletions

View File

@ -100,8 +100,10 @@
user.Username = username; user.Username = username;
user.Password = password; user.Password = password;
user.Email = email; user.Email = email;
user.DisplayName = displayname; user.DisplayName = string.IsNullOrWhiteSpace(user.DisplayName) ? user.Username : user.DisplayName;
user = await UserService.AddUserAsync(user); user = await UserService.AddUserAsync(user);
if (user != null) if (user != null)
{ {
await SettingService.UpdateUserSettingsAsync(settings, user.UserId); await SettingService.UpdateUserSettingsAsync(settings, user.UserId);

View File

@ -62,9 +62,23 @@
</td> </td>
</tr> </tr>
} }
<tr>
<td>
<label for="Name" class="control-label">Is Deleted? </label>
</td>
<td>
<select class="form-control" @bind="@isdeleted">
<option value="True">Yes</option>
<option value="False">No</option>
</select>
</td>
</tr>
</table> </table>
<button type="button" class="btn btn-primary" @onclick="SaveUser">Save</button> <button type="button" class="btn btn-primary" @onclick="SaveUser">Save</button>
<NavLink class="btn btn-secondary" href="@NavigateUrl()">Cancel</NavLink> <NavLink class="btn btn-secondary" href="@NavigateUrl()">Cancel</NavLink>
<br />
<br />
<AuditInfo CreatedBy="@createdby" CreatedOn="@createdon" ModifiedBy="@modifiedby" ModifiedOn="@modifiedon" DeletedBy="@deletedby" DeletedOn="@deletedon"></AuditInfo>
} }
@code { @code {
@ -78,6 +92,13 @@
List<Profile> profiles; List<Profile> profiles;
Dictionary<string, string> settings; Dictionary<string, string> settings;
string category = ""; string category = "";
string createdby;
DateTime createdon;
string modifiedby;
DateTime modifiedon;
string deletedby;
DateTime? deletedon;
string isdeleted;
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
@ -93,6 +114,13 @@
email = user.Email; email = user.Email;
displayname = user.DisplayName; displayname = user.DisplayName;
settings = await SettingService.GetUserSettingsAsync(user.UserId); settings = await SettingService.GetUserSettingsAsync(user.UserId);
createdby = user.CreatedBy;
createdon = user.CreatedOn;
modifiedby = user.ModifiedBy;
modifiedon = user.ModifiedOn;
deletedby = user.DeletedBy;
deletedon = user.DeletedOn;
isdeleted = user.IsDeleted.ToString();
} }
} }
catch (Exception ex) catch (Exception ex)
@ -115,7 +143,9 @@
user.Username = username; user.Username = username;
user.Password = password; user.Password = password;
user.Email = email; user.Email = email;
user.DisplayName = displayname; user.DisplayName = string.IsNullOrWhiteSpace(user.DisplayName) ? user.Username : user.DisplayName;
user.IsDeleted = (isdeleted == null ? true : Boolean.Parse(isdeleted));
user = await UserService.UpdateUserAsync(user); user = await UserService.UpdateUserAsync(user);
await SettingService.UpdateUserSettingsAsync(settings, user.UserId); await SettingService.UpdateUserSettingsAsync(settings, user.UserId);

View File

@ -94,6 +94,9 @@ CREATE TABLE [dbo].[User](
[CreatedOn] [datetime] NOT NULL, [CreatedOn] [datetime] NOT NULL,
[ModifiedBy] [nvarchar](256) NOT NULL, [ModifiedBy] [nvarchar](256) NOT NULL,
[ModifiedOn] [datetime] NOT NULL, [ModifiedOn] [datetime] NOT NULL,
[DeletedBy] [nvarchar](256) NULL,
[DeletedOn] [datetime] NULL,
[IsDeleted][bit] NOT NULL
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
( (
[UserId] ASC [UserId] ASC

View File

@ -3,7 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Oqtane.Models namespace Oqtane.Models
{ {
public class User : IAuditable public class User : IAuditable, IDeletable
{ {
public int UserId { get; set; } public int UserId { get; set; }
public string Username { get; set; } public string Username { get; set; }
@ -19,6 +19,9 @@ namespace Oqtane.Models
public DateTime CreatedOn { get; set; } public DateTime CreatedOn { get; set; }
public string ModifiedBy { get; set; } public string ModifiedBy { get; set; }
public DateTime ModifiedOn { get; set; } public DateTime ModifiedOn { get; set; }
public string DeletedBy { get; set; }
public DateTime? DeletedOn { get; set; }
public bool IsDeleted { get; set; }
[NotMapped] [NotMapped]
public string Password { get; set; } public string Password { get; set; }