Remove Pm Old Context
This commit is contained in:
@@ -1,18 +0,0 @@
|
|||||||
using AccountManagement.Domain.PmDomains.PmRoleAgg;
|
|
||||||
using AccountManagement.Domain.PmDomains.PmUserAgg;
|
|
||||||
using AccountMangement.Infrastructure.EFCore.PmDbConetxt;
|
|
||||||
using AccountMangement.Infrastructure.EFCore.Repository.PmRepositories;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
|
|
||||||
namespace AccountManagement.Configuration;
|
|
||||||
|
|
||||||
public class PmDbBootstrapper
|
|
||||||
{
|
|
||||||
public static void Configure(IServiceCollection services, string connectionString)
|
|
||||||
{
|
|
||||||
services.AddTransient<IPmRoleRepository, PmRoleRepository>();
|
|
||||||
services.AddTransient<IPmUserRepository, PmUserRepository>();
|
|
||||||
services.AddDbContext<PmDbContext>(x => x.UseSqlServer(connectionString));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using AccountManagement.Domain.PmDomains.PmRoleAgg;
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.PmDomains.PmPermissionAgg;
|
|
||||||
|
|
||||||
public class PmPermission
|
|
||||||
{
|
|
||||||
public long Id { get; private set; }
|
|
||||||
public int Code { get; private set; }
|
|
||||||
public PmRole Role { get; private set; }
|
|
||||||
|
|
||||||
public PmPermission(int code)
|
|
||||||
{
|
|
||||||
Code = code;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
using _0_Framework.Domain;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using AccountManagement.Application.Contracts.ProgramManager;
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.PmDomains.PmRoleAgg;
|
|
||||||
|
|
||||||
public interface IPmRoleRepository :IRepository<long, PmRole>
|
|
||||||
{
|
|
||||||
Task<List<GetPmRolesDto>> GetPmRoleList(long? gozareshgirRoleId);
|
|
||||||
|
|
||||||
Task<PmRole?> GetPmRoleToEdit(long gozareshgirRoleId);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using _0_Framework.Domain;
|
|
||||||
using AccountManagement.Domain.PmDomains.PmPermissionAgg;
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.PmDomains.PmRoleAgg;
|
|
||||||
|
|
||||||
public class PmRole : EntityBase
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// نام نقش
|
|
||||||
/// </summary>
|
|
||||||
public string RoleName { get; private set; }
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// لیست پرمیشن کد ها
|
|
||||||
/// </summary>
|
|
||||||
public List<PmPermission> PmPermission { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ای دی نقش در گزارشگیر
|
|
||||||
/// </summary>
|
|
||||||
public long? GozareshgirRoleId { get; private set; }
|
|
||||||
|
|
||||||
|
|
||||||
protected PmRole()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public PmRole(string roleName,long? gozareshgirRolId, List<PmPermission> permissions)
|
|
||||||
{
|
|
||||||
RoleName = roleName;
|
|
||||||
PmPermission = permissions;
|
|
||||||
GozareshgirRoleId = gozareshgirRolId;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void Edit(string roleName, List<PmPermission> permissions)
|
|
||||||
{
|
|
||||||
RoleName = roleName;
|
|
||||||
PmPermission = permissions;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
using AccountManagement.Domain.PmDomains.PmUserAgg;
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.PmDomains.PmRoleUserAgg;
|
|
||||||
|
|
||||||
public class PmRoleUser
|
|
||||||
{
|
|
||||||
public PmRoleUser(long roleId)
|
|
||||||
{
|
|
||||||
RoleId = roleId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long Id { get; private set; }
|
|
||||||
public long RoleId { get; private set; }
|
|
||||||
|
|
||||||
|
|
||||||
public PmUser User { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
using _0_Framework.Domain;
|
|
||||||
using AccountManagement.Application.Contracts.ProgramManager;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Shared.Contracts.PmUser.Queries;
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.PmDomains.PmUserAgg;
|
|
||||||
|
|
||||||
public interface IPmUserRepository : IRepository<long, PmUser>
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// دریافت کاربر پروگرام منیجر جهتد ویرایش
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="accountId"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<PmUser?> GetByPmUsertoEditbyAccountId(long accountId);
|
|
||||||
/// <summary>
|
|
||||||
/// دریافت کرابر پروگرام منیجر با اکانت آی دی در گزارشگیر
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="accountId"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<GetPmUserDto> GetPmUserByAccountId(long accountId);
|
|
||||||
}
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using _0_Framework.Domain;
|
|
||||||
using AccountManagement.Domain.PmDomains.PmRoleUserAgg;
|
|
||||||
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.PmDomains.PmUserAgg;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// کاربر
|
|
||||||
/// </summary>
|
|
||||||
public class PmUser : EntityBase
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// ایجاد
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="fullName"></param>
|
|
||||||
/// <param name="userName"></param>
|
|
||||||
/// <param name="password"></param>
|
|
||||||
/// <param name="mobile"></param>
|
|
||||||
/// <param name="email"></param>
|
|
||||||
/// <param name="accountId"></param>
|
|
||||||
/// <param name="roles"></param>
|
|
||||||
public PmUser(string fullName, string userName, string password, string mobile, string email, long? accountId, List<PmRoleUser> roles)
|
|
||||||
{
|
|
||||||
FullName = fullName;
|
|
||||||
UserName = userName;
|
|
||||||
Password = password;
|
|
||||||
Mobile = mobile;
|
|
||||||
Email = email;
|
|
||||||
IsActive = true;
|
|
||||||
AccountId = accountId;
|
|
||||||
RoleUser = roles;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected PmUser()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// نام و نام خانوادگی
|
|
||||||
/// </summary>
|
|
||||||
public string FullName { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// نام کاربری
|
|
||||||
/// </summary>
|
|
||||||
public string UserName { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// گذرواژه
|
|
||||||
/// </summary>
|
|
||||||
public string Password { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// مسیر عکس پروفایل
|
|
||||||
/// </summary>
|
|
||||||
public string ProfilePhotoPath { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// شماره موبایل
|
|
||||||
/// </summary>
|
|
||||||
public string Mobile { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ایمیل
|
|
||||||
/// </summary>
|
|
||||||
public string Email { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// فعال/غیر فعال بودن یوزر
|
|
||||||
/// </summary>
|
|
||||||
public bool IsActive { get; private set; }
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// کد یکبارمصرف ورود
|
|
||||||
/// </summary>
|
|
||||||
public string VerifyCode { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// آی دی کاربر در گزارشگیر
|
|
||||||
/// </summary>
|
|
||||||
public long? AccountId { get; private set; }
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// لیست پرمیشن کد ها
|
|
||||||
/// </summary>
|
|
||||||
public List<PmRoleUser> RoleUser { get; private set; }
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// آپدیت کاربر
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="fullName"></param>
|
|
||||||
/// <param name="userName"></param>
|
|
||||||
/// <param name="mobile"></param>
|
|
||||||
/// <param name="roles"></param>
|
|
||||||
/// <param name="isActive"></param>
|
|
||||||
public void Edit(string fullName, string userName, string mobile, List<PmRoleUser> roles, bool isActive)
|
|
||||||
{
|
|
||||||
FullName = fullName;
|
|
||||||
UserName = userName;
|
|
||||||
Mobile = mobile;
|
|
||||||
RoleUser = roles;
|
|
||||||
IsActive = isActive;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// غیرفعال سازی
|
|
||||||
/// </summary>
|
|
||||||
public void DeActive()
|
|
||||||
{
|
|
||||||
IsActive = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// فعال سازی
|
|
||||||
/// </summary>
|
|
||||||
public void ReActive()
|
|
||||||
{
|
|
||||||
IsActive = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
using AccountManagement.Domain.PmDomains.PmRoleAgg;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.Mappings.PmMappings;
|
|
||||||
|
|
||||||
public class PmRoleMapping : IEntityTypeConfiguration<PmRole>
|
|
||||||
{
|
|
||||||
public void Configure(EntityTypeBuilder<PmRole> builder)
|
|
||||||
{
|
|
||||||
builder.ToTable("PmRoles", t => t.ExcludeFromMigrations());
|
|
||||||
builder.HasKey(x => x.id);
|
|
||||||
|
|
||||||
builder.Property(x => x.RoleName).HasMaxLength(100).IsRequired();
|
|
||||||
|
|
||||||
builder.OwnsMany(x => x.PmPermission, navigationBuilder =>
|
|
||||||
{
|
|
||||||
navigationBuilder.HasKey(x => x.Id);
|
|
||||||
navigationBuilder.ToTable("PmRolePermissions", t => t.ExcludeFromMigrations());
|
|
||||||
|
|
||||||
navigationBuilder.WithOwner(x => x.Role);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
using AccountManagement.Domain.PmDomains.PmUserAgg;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.Mappings.PmMappings;
|
|
||||||
|
|
||||||
public class PmUserMapping :IEntityTypeConfiguration<PmUser>
|
|
||||||
{
|
|
||||||
public void Configure(EntityTypeBuilder<PmUser> builder)
|
|
||||||
{
|
|
||||||
builder.ToTable("Users");
|
|
||||||
builder.HasKey(x => x.id);
|
|
||||||
|
|
||||||
builder.Property(x => x.FullName).HasMaxLength(100).IsRequired();
|
|
||||||
builder.Property(x => x.UserName).HasMaxLength(100).IsRequired();
|
|
||||||
builder.Property(x => x.Password).HasMaxLength(1000).IsRequired();
|
|
||||||
builder.Property(x => x.ProfilePhotoPath).HasMaxLength(500).IsRequired(false);
|
|
||||||
builder.Property(x => x.Mobile).HasMaxLength(20).IsRequired();
|
|
||||||
builder.Property(x => x.Email).HasMaxLength(150).IsRequired(false); ;
|
|
||||||
builder.Property(x => x.VerifyCode).HasMaxLength(10).IsRequired(false);
|
|
||||||
builder.OwnsMany(x => x.RoleUser, navigationBuilder =>
|
|
||||||
{
|
|
||||||
navigationBuilder.HasKey(x => x.Id);
|
|
||||||
navigationBuilder.ToTable("RoleUsers");
|
|
||||||
navigationBuilder.WithOwner(x => x.User);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
using AccountManagement.Domain.PmDomains.PmRoleAgg;
|
|
||||||
using AccountManagement.Domain.PmDomains.PmUserAgg;
|
|
||||||
using AccountMangement.Infrastructure.EFCore.Mappings;
|
|
||||||
using AccountMangement.Infrastructure.EFCore.Mappings.PmMappings;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.PmDbConetxt;
|
|
||||||
|
|
||||||
public class PmDbContext : DbContext
|
|
||||||
{
|
|
||||||
public PmDbContext(DbContextOptions<PmDbContext> options) : base(options)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
public DbSet<PmUser> Users { get; set; } = null!;
|
|
||||||
public DbSet<PmRole> PmRoles { get; set; } = null!;
|
|
||||||
|
|
||||||
|
|
||||||
public PmDbContext()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
var assembly = typeof(PmUserMapping).Assembly;
|
|
||||||
modelBuilder.ApplyConfigurationsFromAssembly(assembly);
|
|
||||||
//SubAccountPermissionSeeder.Seed(modelBuilder);
|
|
||||||
base.OnModelCreating(modelBuilder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
using _0_Framework.InfraStructure;
|
|
||||||
using AccountManagement.Application.Contracts.ProgramManager;
|
|
||||||
using AccountManagement.Domain.PmDomains.PmRoleAgg;
|
|
||||||
using AccountMangement.Infrastructure.EFCore.PmDbConetxt;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
|
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.Repository.PmRepositories;
|
|
||||||
|
|
||||||
public class PmRoleRepository : RepositoryBase<long, PmRole>, IPmRoleRepository
|
|
||||||
{
|
|
||||||
private readonly PmDbContext _pmDbContext;
|
|
||||||
public PmRoleRepository(PmDbContext context) : base(context)
|
|
||||||
{
|
|
||||||
_pmDbContext = context;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<List<GetPmRolesDto>> GetPmRoleList(long? gozareshgirRoleId)
|
|
||||||
{
|
|
||||||
var query = _pmDbContext.PmRoles.AsQueryable();
|
|
||||||
if (gozareshgirRoleId != null && gozareshgirRoleId > 0)
|
|
||||||
query = query.Where(x => x.GozareshgirRoleId == gozareshgirRoleId);
|
|
||||||
var res = await query
|
|
||||||
.Select(p => new GetPmRolesDto()
|
|
||||||
{
|
|
||||||
Id = p.id,
|
|
||||||
RoleName = p.RoleName,
|
|
||||||
GozareshgirRoleId = p.GozareshgirRoleId,
|
|
||||||
Permissions = p.PmPermission.Select(x => x.Code).ToList()
|
|
||||||
|
|
||||||
})
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public async Task<PmRole?> GetPmRoleToEdit(long gozareshgirRoleId)
|
|
||||||
{
|
|
||||||
return await _pmDbContext.PmRoles.FirstOrDefaultAsync(x => x.GozareshgirRoleId == gozareshgirRoleId);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
using _0_Framework.InfraStructure;
|
|
||||||
using AccountManagement.Application.Contracts.ProgramManager;
|
|
||||||
using AccountManagement.Domain.PmDomains.PmUserAgg;
|
|
||||||
using AccountMangement.Infrastructure.EFCore.PmDbConetxt;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Shared.Contracts.PmUser.Queries;
|
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.Repository.PmRepositories;
|
|
||||||
|
|
||||||
public class PmUserRepository :RepositoryBase<long, PmUser>, IPmUserRepository
|
|
||||||
{
|
|
||||||
private readonly PmDbContext _pmDbContext;
|
|
||||||
public PmUserRepository(PmDbContext context, PmDbContext pmDbContext) : base(context)
|
|
||||||
{
|
|
||||||
_pmDbContext = pmDbContext;
|
|
||||||
}
|
|
||||||
public async Task<PmUser?> GetByPmUsertoEditbyAccountId(long accountId)
|
|
||||||
{
|
|
||||||
return await _pmDbContext.Users.FirstOrDefaultAsync(x => x.AccountId == accountId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<GetPmUserDto> GetPmUserByAccountId(long accountId)
|
|
||||||
{
|
|
||||||
var query = await _pmDbContext.Users.FirstOrDefaultAsync(x => x.AccountId == accountId);
|
|
||||||
if (query == null)
|
|
||||||
return new GetPmUserDto();
|
|
||||||
List<long> roles = query.RoleUser.Select(x => x.RoleId).ToList();
|
|
||||||
return new GetPmUserDto()
|
|
||||||
{
|
|
||||||
FullName = query.FullName,
|
|
||||||
UserName = query.UserName,
|
|
||||||
ProfilePhotoPath = query.ProfilePhotoPath,
|
|
||||||
Mobile = query.Mobile,
|
|
||||||
IsActive = query.IsActive,
|
|
||||||
AccountId = query.AccountId,
|
|
||||||
Roles = roles,
|
|
||||||
RoleListDto = await _pmDbContext.PmRoles.Where(x => roles.Contains(x.id)).Select(x => new RoleListDto()
|
|
||||||
{
|
|
||||||
RoleName = x.RoleName,
|
|
||||||
RoleId = x.id,
|
|
||||||
Permissions = x.PmPermission.Select(x => x.Code).ToList()
|
|
||||||
}).ToListAsync(),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user