From c910afcda6c4845c74528fa7356c0ea0861f2c87 Mon Sep 17 00:00:00 2001 From: "Amir.H Khademi" Date: Sat, 13 Apr 2024 22:20:57 +0330 Subject: [PATCH] feat : add delivery tracking code --- NetinaShop.Core/EntityServices/UserService.cs | 22 +++++++------- .../Models/Claims/ApplicationPermission.cs | 4 +-- .../Services/DbInitializerService.cs | 29 +++++++++++++++++-- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/NetinaShop.Core/EntityServices/UserService.cs b/NetinaShop.Core/EntityServices/UserService.cs index 0bdd131..0d57a28 100644 --- a/NetinaShop.Core/EntityServices/UserService.cs +++ b/NetinaShop.Core/EntityServices/UserService.cs @@ -76,7 +76,8 @@ public class UserService : IUserService } } - return users; + var returnUser = users.Where(r=> r.RoleName.Trim() != "مشتری" && r.FullName.Trim() != "همه کاره سیستم").ToList(); + return returnUser; } public async Task GetUserAsync(Guid userId, CancellationToken cancellationToken = default) @@ -284,9 +285,9 @@ public class UserService : IUserService { IQueryable roles; if (roleName!=null) - roles = _roleManager.Roles.Where(r => r.Name != "RootAdmin" && r.PersianName.Trim().ToLower().Contains(roleName)); + roles = _roleManager.Roles.Where(r => r.Name != "RootAdmin" && r.Name != "Customer" && r.PersianName.Trim().ToLower().Contains(roleName)); else - roles = _roleManager.Roles.Where(r => r.Name != "RootAdmin"); + roles = _roleManager.Roles.Where(r => r.Name != "RootAdmin" && r.Name != "Customer"); if (page != null) roles = roles.Skip(page.Value * 15).Take(15); else @@ -349,16 +350,17 @@ public class UserService : IUserService var roleClaims = (await _roleManager.GetClaimsAsync(applicationRole)).Where(c => c.Type == CustomClaimType.Permission).ToList(); foreach (var roleClaim in roleClaims.ToList()) { - await _roleManager.RemoveClaimAsync(applicationRole,roleClaim); - //if (request.Permissions.Contains(roleClaim.Value)) - //{ - // roleClaims.Remove(roleClaim); - // request.Permissions.Remove(roleClaim.Value); - //} + var removeResult = await _roleManager.RemoveClaimAsync(applicationRole,roleClaim); + if (!removeResult.Succeeded) + throw new AppException(string.Join(" | ", removeResult.Errors.Select(e => e.Description))); } foreach (var claim in request.Permissions) - await _roleManager.AddClaimAsync(applicationRole, new Claim(CustomClaimType.Permission, claim)); + { + var addResult = await _roleManager.AddClaimAsync(applicationRole, new Claim(CustomClaimType.Permission, claim)); + if (!addResult.Succeeded) + throw new AppException(string.Join(" | ", addResult.Errors.Select(e => e.Description))); + } return true; } diff --git a/NetinaShop.Domain/Models/Claims/ApplicationPermission.cs b/NetinaShop.Domain/Models/Claims/ApplicationPermission.cs index 4ef6b72..4d2e504 100644 --- a/NetinaShop.Domain/Models/Claims/ApplicationPermission.cs +++ b/NetinaShop.Domain/Models/Claims/ApplicationPermission.cs @@ -3,7 +3,7 @@ public static class ApplicationPermission { public const string ManageBlogs = nameof(ManageBlogs); - public const string ViewBlogs = nameof(ManageBlogs); + public const string ViewBlogs = nameof(ViewBlogs); public const string ManageBrands = nameof(ManageBrands); public const string ViewBrands = nameof(ViewBrands); @@ -22,7 +22,7 @@ public static class ApplicationPermission public const string ManageProducts = nameof(ManageProducts); public const string ViewProducts = nameof(ViewProducts); - public const string ManageReview = nameof(AddReview); + public const string ManageReview = nameof(ManageReview); public const string AddReview = nameof(AddReview); public const string ConfirmReview = nameof(ConfirmReview); public const string ViewAllReviews = nameof(ViewAllReviews); diff --git a/NetinaShop.Repository/Services/DbInitializerService.cs b/NetinaShop.Repository/Services/DbInitializerService.cs index b3b2872..f3ccd6a 100644 --- a/NetinaShop.Repository/Services/DbInitializerService.cs +++ b/NetinaShop.Repository/Services/DbInitializerService.cs @@ -95,7 +95,6 @@ public class DbInitializerService : IDbInitializerService { var seedAdmin = _adminUserSeedOptions.Value.UserSetting; var rootRole = await _roleManager.FindByNameAsync(seedAdmin.RoleName); - if (rootRole == null) { rootRole = new ApplicationRole @@ -108,9 +107,17 @@ public class DbInitializerService : IDbInitializerService foreach (var claim in ApplicationClaims.AllClaims) await _roleManager.AddClaimAsync(rootRole, claim); } + else + { + foreach (var claim in ApplicationClaims.AllClaims) + { + var claims = await _roleManager.GetClaimsAsync(rootRole); + if (claims.FirstOrDefault(c => c.Value == claim.Value) == null) + await _roleManager.AddClaimAsync(rootRole, claim); + } + } var managerRole = await _roleManager.FindByNameAsync("Manager"); - if (managerRole == null) { managerRole = new ApplicationRole @@ -124,6 +131,15 @@ public class DbInitializerService : IDbInitializerService foreach (var claim in ApplicationClaims.AllClaims) await _roleManager.AddClaimAsync(managerRole, claim); } + else + { + foreach (var claim in ApplicationClaims.AllClaims) + { + var claims = await _roleManager.GetClaimsAsync(managerRole); + if (claims.FirstOrDefault(c => c.Value == claim.Value) == null) + await _roleManager.AddClaimAsync(managerRole, claim); + } + } var customerRole = await _roleManager.FindByNameAsync("Customer"); if (customerRole == null) @@ -139,5 +155,14 @@ public class DbInitializerService : IDbInitializerService foreach (var claim in ApplicationClaims.CustomerClaims) await _roleManager.AddClaimAsync(customerRole, claim); } + else + { + foreach (var claim in ApplicationClaims.CustomerClaims) + { + var claims = await _roleManager.GetClaimsAsync(customerRole); + if (claims.FirstOrDefault(c => c.Value == claim.Value) == null) + await _roleManager.AddClaimAsync(customerRole, claim); + } + } } } \ No newline at end of file