diff --git a/AccountManagement.Application.Contracts/AccountManagement.Application.Contracts.csproj b/AccountManagement.Application.Contracts/AccountManagement.Application.Contracts.csproj
index b73ec3c5..57db0cd1 100644
--- a/AccountManagement.Application.Contracts/AccountManagement.Application.Contracts.csproj
+++ b/AccountManagement.Application.Contracts/AccountManagement.Application.Contracts.csproj
@@ -14,6 +14,7 @@
+
diff --git a/AccountManagement.Application.Contracts/Role/IRoleApplication.cs b/AccountManagement.Application.Contracts/Role/IRoleApplication.cs
index 9d49f8e2..68f3ab52 100644
--- a/AccountManagement.Application.Contracts/Role/IRoleApplication.cs
+++ b/AccountManagement.Application.Contracts/Role/IRoleApplication.cs
@@ -1,8 +1,9 @@
using _0_Framework.Application;
-using AccountManagement.Application.Contracts.ProgramManager;
+
using Microsoft.AspNetCore.Mvc.Rendering;
using System.Collections.Generic;
using System.Threading.Tasks;
+using Shared.Contracts.PmRole.Queries;
namespace AccountManagement.Application.Contracts.Role
{
diff --git a/AccountManagement.Application/AccountApplication.cs b/AccountManagement.Application/AccountApplication.cs
index c36cea6a..bba09128 100644
--- a/AccountManagement.Application/AccountApplication.cs
+++ b/AccountManagement.Application/AccountApplication.cs
@@ -155,7 +155,7 @@ public class AccountApplication : IAccountApplication
}
var account = new Account(command.Fullname, command.Username, password, command.Mobile, command.RoleId,
- picturePath, roleName.Name, "true", "false", command.IsProgramManagerUser);
+ picturePath, roleName.Name, "true", "false");
_unitOfWork.BeginAccountContext();
@@ -163,64 +163,64 @@ public class AccountApplication : IAccountApplication
_accountRepository.Create(account);
_accountRepository.SaveChanges();
- //if (command.IsProgramManagerUser)
- //{
+ if (command.IsProgramManagerUser)
+ {
- // try
- // {
- // if (_pmUserRepository.Exists(x => x.FullName == command.Fullname))
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("نام و خانوادگی تکراری است");
- // }
+ try
+ {
+ if (_pmUserRepository.Exists(x => x.FullName == command.Fullname))
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("نام و خانوادگی تکراری است");
+ }
- // if (_pmUserRepository.Exists(x => x.UserName == command.Username))
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("نام کاربری تکراری است");
- // }
+ if (_pmUserRepository.Exists(x => x.UserName == command.Username))
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("نام کاربری تکراری است");
+ }
- // if (_pmUserRepository.Exists(x => !string.IsNullOrWhiteSpace(x.Mobile) && x.Mobile == command.Mobile))
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("این شماره همراه قبلا به فرد دیگری اختصاص داده شده است");
- // }
+ if (_pmUserRepository.Exists(x => !string.IsNullOrWhiteSpace(x.Mobile) && x.Mobile == command.Mobile))
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("این شماره همراه قبلا به فرد دیگری اختصاص داده شده است");
+ }
- // var userRoles = command.UserRoles.Where(x => x > 0).Select(x => new PmRoleUser(x)).ToList();
- // var create = new PmUser(command.Fullname, command.Username, command.Password, command.Mobile,
- // null, account.id, userRoles);
- // await _pmUserRepository.CreateAsync(create);
- // await _pmUserRepository.SaveChangesAsync();
- // }
- // catch (Exception e)
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("خطا در ایجاد کاربر پروگرام منیجر");
- // }
+ var userRoles = command.UserRoles.Where(x => x > 0).Select(x => new PmRoleUser(x)).ToList();
+ var create = new PmUser(command.Fullname, command.Username, command.Password, command.Mobile,
+ null, account.id, userRoles);
+ await _pmUserRepository.CreateAsync(create);
+ await _pmUserRepository.SaveChangesAsync();
+ }
+ catch (Exception e)
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("خطا در ایجاد کاربر پروگرام منیجر");
+ }
- // //var url = "api/user/create";
- // //var key = SecretKeys.ProgramManagerInternalApi;
+ //var url = "api/user/create";
+ //var key = SecretKeys.ProgramManagerInternalApi;
- // //var response = InternalApiCaller.PostAsync(
- // // url,
- // // key,
- // // parameters
- // //);
+ //var response = InternalApiCaller.PostAsync(
+ // url,
+ // key,
+ // parameters
+ //);
- // //if (!response.Success)
- // //{
- // // _unitOfWork.RollbackAccountContext();
- // // return operation.Failed(response.Error);
- // //}
+ //if (!response.Success)
+ //{
+ // _unitOfWork.RollbackAccountContext();
+ // return operation.Failed(response.Error);
+ //}
- // //if (!response.Result.isSuccess)
- // //{
- // // _unitOfWork.RollbackAccountContext();
- // // return operation.Failed(response.Result.errorMessage);
- // //}
- //}
+ //if (!response.Result.isSuccess)
+ //{
+ // _unitOfWork.RollbackAccountContext();
+ // return operation.Failed(response.Result.errorMessage);
+ //}
+ }
_unitOfWork.CommitAccountContext();
return operation.Succcedded();
@@ -276,148 +276,148 @@ public class AccountApplication : IAccountApplication
var path = $"profilePhotos";
var picturePath = _fileUploader.Upload(command.ProfilePhoto, path);
_unitOfWork.BeginAccountContext();
- account.Edit(command.Fullname, command.Username, command.Mobile, command.RoleId, picturePath, roleName.Name, command.IsProgramManagerUser);
+ account.Edit(command.Fullname, command.Username, command.Mobile, command.RoleId, picturePath, roleName.Name);
_accountRepository.SaveChanges();
- // var key = SecretKeys.ProgramManagerInternalApi;
+ var key = SecretKeys.ProgramManagerInternalApi;
//var apiResult = InternalApiCaller.GetAsync(
// $"api/user/{account.id}",
// key
//);
- // var userResult = _pmUserRepository.GetByPmUsertoEditbyAccountId(account.id).GetAwaiter().GetResult();
+ var userResult = _pmUserRepository.GetByPmUsertoEditbyAccountId(account.id).GetAwaiter().GetResult();
//اگر کاربر در پروگرام منیجر قبلا ایجاد شده
- //if (userResult != null)
- //{
- // if (!command.UserRoles.Any())
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("حداقل یک نقش باید انتخاب شود");
- // }
+ if (userResult != null)
+ {
+ if (!command.UserRoles.Any())
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("حداقل یک نقش باید انتخاب شود");
+ }
- // try
- // {
+ try
+ {
- // var userRoles = command.UserRoles.Where(x => x > 0).Select(x => new PmRoleUser(x)).ToList();
- // userResult.Edit(command.Fullname, command.Username, command.Mobile, userRoles, command.IsProgramManagerUser);
- // await _pmUserRepository.SaveChangesAsync();
- // }
- // catch (Exception)
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("خطا در ویرایش کاربر پروگرام منیجر");
- // }
- // //var parameters = new EditUserCommand(
- // // command.Fullname,
- // // command.Username,
- // // command.Mobile,
- // // account.id,
- // // command.UserRoles,
- // // command.IsProgramManagerUser
- // //);
- // //var url = "api/user/edit";
- // //var response = InternalApiCaller.PostAsync(
- // // url,
- // // key,
- // // parameters
- // //);
+ var userRoles = command.UserRoles.Where(x => x > 0).Select(x => new PmRoleUser(x)).ToList();
+ userResult.Edit(command.Fullname, command.Username, command.Mobile, userRoles, command.IsProgramManagerUser);
+ await _pmUserRepository.SaveChangesAsync();
+ }
+ catch (Exception)
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("خطا در ویرایش کاربر پروگرام منیجر");
+ }
+ //var parameters = new EditUserCommand(
+ // command.Fullname,
+ // command.Username,
+ // command.Mobile,
+ // account.id,
+ // command.UserRoles,
+ // command.IsProgramManagerUser
+ //);
+ //var url = "api/user/edit";
+ //var response = InternalApiCaller.PostAsync(
+ // url,
+ // key,
+ // parameters
+ //);
- // //if (!response.Success)
- // //{
- // // _unitOfWork.RollbackAccountContext();
- // // return operation.Failed(response.Error);
+ //if (!response.Success)
+ //{
+ // _unitOfWork.RollbackAccountContext();
+ // return operation.Failed(response.Error);
- // //}
+ //}
- // //if (!response.Result.isSuccess)
- // //{
- // // _unitOfWork.RollbackAccountContext();
- // // return operation.Failed(response.Error);
- // //}
+ //if (!response.Result.isSuccess)
+ //{
+ // _unitOfWork.RollbackAccountContext();
+ // return operation.Failed(response.Error);
+ //}
- //}
- //else //اگر کاربر قبلا ایجاد نشده
- //{
- // //اگر تیک فعالیت در پروگرام منیجر روشن بود
- // if (command.IsProgramManagerUser)
- // {
- // if (!command.UserRoles.Any())
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("حداقل یک نقش باید انتخاب شود");
- // }
+ }
+ else //اگر کاربر قبلا ایجاد نشده
+ {
+ //اگر تیک فعالیت در پروگرام منیجر روشن بود
+ if (command.IsProgramManagerUser)
+ {
+ if (!command.UserRoles.Any())
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("حداقل یک نقش باید انتخاب شود");
+ }
- // if (_pmUserRepository.Exists(x => x.FullName == command.Fullname))
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("نام و خانوادگی تکراری است");
- // }
+ if (_pmUserRepository.Exists(x => x.FullName == command.Fullname))
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("نام و خانوادگی تکراری است");
+ }
- // if (_pmUserRepository.Exists(x => x.UserName == command.Username))
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("نام کاربری تکراری است");
- // }
+ if (_pmUserRepository.Exists(x => x.UserName == command.Username))
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("نام کاربری تکراری است");
+ }
- // if (_pmUserRepository.Exists(x => !string.IsNullOrWhiteSpace(x.Mobile) && x.Mobile == command.Mobile))
- // {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("این شماره همراه قبلا به فرد دیگری اختصاص داده شده است");
- // }
+ if (_pmUserRepository.Exists(x => !string.IsNullOrWhiteSpace(x.Mobile) && x.Mobile == command.Mobile))
+ {
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("این شماره همراه قبلا به فرد دیگری اختصاص داده شده است");
+ }
- // try
- // {
- // var userRoles = command.UserRoles.Where(x => x > 0).Select(x => new PmRoleUser(x)).ToList();
- // var create = new PmUser(command.Fullname, command.Username, account.Password, command.Mobile,
- // null, account.id, userRoles);
- // await _pmUserRepository.CreateAsync(create);
- // await _pmUserRepository.SaveChangesAsync();
- // }
- // catch (Exception)
- // {
+ try
+ {
+ var userRoles = command.UserRoles.Where(x => x > 0).Select(x => new PmRoleUser(x)).ToList();
+ var create = new PmUser(command.Fullname, command.Username, account.Password, command.Mobile,
+ null, account.id, userRoles);
+ await _pmUserRepository.CreateAsync(create);
+ await _pmUserRepository.SaveChangesAsync();
+ }
+ catch (Exception)
+ {
- // _unitOfWork.RollbackAccountContext();
- // return operation.Failed("خطا در ویرایش کاربر پروگرام منیجر");
- // }
+ _unitOfWork.RollbackAccountContext();
+ return operation.Failed("خطا در ویرایش کاربر پروگرام منیجر");
+ }
- // //var parameters = new CreateProgramManagerUser(
- // // command.Fullname,
- // // command.Username,
- // // account.Password,
- // // command.Mobile,
- // // command.Email,
- // // account.id,
- // // command.UserRoles
- // //);
+ //var parameters = new CreateProgramManagerUser(
+ // command.Fullname,
+ // command.Username,
+ // account.Password,
+ // command.Mobile,
+ // command.Email,
+ // account.id,
+ // command.UserRoles
+ //);
- // //var url = "api/user/Create";
+ //var url = "api/user/Create";
- // //var response = InternalApiCaller.PostAsync(
- // // url,
- // // key,
- // // parameters
- // //);
+ //var response = InternalApiCaller.PostAsync(
+ // url,
+ // key,
+ // parameters
+ //);
- // //if (!response.Success)
- // //{
- // // _unitOfWork.RollbackAccountContext();
- // // return operation.Failed(response.Error);
+ //if (!response.Success)
+ //{
+ // _unitOfWork.RollbackAccountContext();
+ // return operation.Failed(response.Error);
- // //}
+ //}
- // //if (!response.Result.isSuccess)
- // //{
- // // _unitOfWork.RollbackAccountContext();
- // // return operation.Failed(response.Error);
- // //}
- // }
+ //if (!response.Result.isSuccess)
+ //{
+ // _unitOfWork.RollbackAccountContext();
+ // return operation.Failed(response.Error);
+ //}
+ }
- //}
+ }
_unitOfWork.CommitAccountContext();
return operation.Succcedded();
@@ -919,7 +919,7 @@ public class AccountApplication : IAccountApplication
if (!string.IsNullOrWhiteSpace(command.PhoneNumber))
{
- entity.Edit(entity.Fullname, entity.Username, command.PhoneNumber, entity.RoleId, entity.ProfilePhoto, entity.RoleName, false);
+ entity.Edit(entity.Fullname, entity.Username, command.PhoneNumber, entity.RoleId, entity.ProfilePhoto, entity.RoleName);
}
_accountRepository.SaveChanges();
return op.Succcedded();
diff --git a/AccountManagement.Application/AccountManagement.Application.csproj b/AccountManagement.Application/AccountManagement.Application.csproj
index 270c0e13..15c192f3 100644
--- a/AccountManagement.Application/AccountManagement.Application.csproj
+++ b/AccountManagement.Application/AccountManagement.Application.csproj
@@ -8,6 +8,7 @@
+
diff --git a/AccountManagement.Application/RoleApplication.cs b/AccountManagement.Application/RoleApplication.cs
index 6ea605d4..80a1af83 100644
--- a/AccountManagement.Application/RoleApplication.cs
+++ b/AccountManagement.Application/RoleApplication.cs
@@ -4,7 +4,6 @@ using AccountManagement.Domain.RoleAgg;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
-using AccountManagement.Application.Contracts.ProgramManager;
using AccountManagement.Application.Contracts.ProgramManagerApiResult;
using AccountManagement.Domain.InternalApiCaller;
using Company.Domain._common;
@@ -13,7 +12,10 @@ using AccountManagement.Domain.PmDomains.PmPermissionAgg;
using AccountManagement.Domain.PmDomains.PmRoleAgg;
using AccountManagement.Domain.PmDomains.PmUserAgg;
using Microsoft.AspNetCore.Mvc.Rendering;
+using Shared.Contracts.PmRole.Commands;
+using GetPmRolesDto = Shared.Contracts.PmRole.Queries.GetPmRolesDto;
using Role = AccountManagement.Domain.RoleAgg.Role;
+using Shared.Contracts.PmRole.Queries;
namespace AccountManagement.Application;
@@ -22,14 +24,18 @@ public class RoleApplication : IRoleApplication
private readonly IRoleRepository _roleRepository;
private readonly IPmRoleRepository _pmRoleRepository;
private readonly IPmUserRepository _pmUserRepository;
+ private readonly IPmRoleQueryService _pmRoleQueryService;
+ private readonly IPmRoleCommandService _pmRoleCommandService;
private readonly IUnitOfWork _unitOfWork;
- public RoleApplication(IRoleRepository roleRepository, IUnitOfWork unitOfWork, IPmRoleRepository pmRoleRepository, IPmUserRepository pmUserRepository)
+ public RoleApplication(IRoleRepository roleRepository, IUnitOfWork unitOfWork, IPmRoleRepository pmRoleRepository, IPmUserRepository pmUserRepository, IPmRoleQueryService pmRoleQueryService, IPmRoleCommandService pmRoleCommandService)
{
_roleRepository = roleRepository;
_unitOfWork = unitOfWork;
_pmRoleRepository = pmRoleRepository;
_pmUserRepository = pmUserRepository;
+ _pmRoleQueryService = pmRoleQueryService;
+ _pmRoleCommandService = pmRoleCommandService;
}
public async Task Create(CreateRole command)
@@ -47,19 +53,15 @@ public class RoleApplication : IRoleApplication
var pmPermissions = command.PmPermissions.Where(x => x > 0).ToList();
if (pmPermissions.Any())
{
- try
- {
- var pmPermissionsData = pmPermissions.Where(x => x > 0).Select(x => new PmPermission(x)).ToList();
- var pmRole = new PmRole(command.Name, role.id, pmPermissionsData);
- await _pmRoleRepository.CreateAsync(pmRole);
- await _pmRoleRepository.SaveChangesAsync();
-
- }
- catch (System.Exception)
+
+ var pmRole = new CreatePmRoleDto{ RoleName = command.Name, Permissions = pmPermissions, GozareshgirRoleId = role.id};
+ var res =await _pmRoleCommandService.Create(pmRole);
+ if (!res.Item1)
{
_unitOfWork.RollbackAccountContext();
return operation.Failed("خطا در ویرایش دسترسی ها در پروگرام منیجر");
}
+
//var parameters = new CreateProgramManagerRole
//{
@@ -136,8 +138,8 @@ public class RoleApplication : IRoleApplication
//);
- var pmRoleResult = await _pmRoleRepository.GetPmRoleToEdit(command.Id);
-
+ var pmRoleListResult = await _pmRoleQueryService.GetPmRoleList(command.Id);
+ var pmRoleResult = pmRoleListResult.FirstOrDefault();
//اگر این نقش در پروگرام منیجر وجود داشت ویرایش کن
if (pmRoleResult != null)
@@ -146,8 +148,8 @@ public class RoleApplication : IRoleApplication
try
{
var pmpermissionsData = pmPermissions.Where(x => x > 0).Select(x => new PmPermission(x)).ToList();
- pmRoleResult.Edit(command.Name, pmpermissionsData);
- await _pmRoleRepository.SaveChangesAsync();
+ //pmRoleResult.Edit(command.Name, pmpermissionsData);
+ // await _pmRoleRepository.SaveChangesAsync();
}
catch (System.Exception)
{
@@ -254,7 +256,7 @@ public class RoleApplication : IRoleApplication
public async Task GetPmRoleList(long? gozareshgirRoleId)
{
- var rolse = await _pmRoleRepository.GetPmRoleList(gozareshgirRoleId);
+ var rolse = await _pmRoleQueryService.GetPmRoleList(gozareshgirRoleId);
return new SelectList(rolse, "Id", "RoleName");
@@ -262,7 +264,7 @@ public class RoleApplication : IRoleApplication
public async Task> GetPmRoleListToEdit(long? gozareshgirRoleId)
{
- return await _pmRoleRepository.GetPmRoleList(gozareshgirRoleId);
+ return await _pmRoleQueryService.GetPmRoleList(gozareshgirRoleId);
}
diff --git a/AccountManagement.Domain/AccountAgg/Account.cs b/AccountManagement.Domain/AccountAgg/Account.cs
index 2b797142..253297ba 100644
--- a/AccountManagement.Domain/AccountAgg/Account.cs
+++ b/AccountManagement.Domain/AccountAgg/Account.cs
@@ -25,11 +25,6 @@ namespace AccountManagement.Domain.AccountAgg
public string VerifyCode { get; set; }
public string IsActiveString { get; private set; }
- ///
- /// آیا کاربر در پروگرام منیجر فعالیت می کند
- ///
- public bool IsProgramManagerUser { get; private set; }
-
#region Mahan
public string PositionIsActive { get; private set; }
public long? PositionId { get; private set; }
@@ -40,7 +35,7 @@ namespace AccountManagement.Domain.AccountAgg
public List CameraAccounts { get; private set; }
public List AccountLeftWorkList { get; set; }
public Account(string fullname, string username, string password, string mobile,
- long roleId, string profilePhoto, string roleName, string adminAreaPermission, string clientAriaPermission, bool isProgramManagerUser)
+ long roleId, string profilePhoto, string roleName, string adminAreaPermission, string clientAriaPermission)
{
Fullname = fullname;
Username = username;
@@ -55,7 +50,6 @@ namespace AccountManagement.Domain.AccountAgg
RoleName = roleName;
AdminAreaPermission = adminAreaPermission;
ClientAriaPermission = clientAriaPermission;
- IsProgramManagerUser = isProgramManagerUser;
IsActiveString = "true";
}
@@ -76,20 +70,18 @@ namespace AccountManagement.Domain.AccountAgg
public Account()
{
-
ProfilePhoto = " ";
}
public void Edit(string fullname, string username, string mobile,
- long roleId, string profilePhoto, string roleName, bool isProgramManagerUser)
+ long roleId, string profilePhoto, string roleName)
{
Fullname = fullname;
Username = username;
Mobile = mobile;
RoleId = roleId;
RoleName = roleName;
- IsProgramManagerUser = isProgramManagerUser;
if (!string.IsNullOrWhiteSpace(profilePhoto))
ProfilePhoto = profilePhoto;
}
diff --git a/AccountMangement.Infrastructure.EFCore/AccountMangement.Infrastructure.EFCore.csproj b/AccountMangement.Infrastructure.EFCore/AccountMangement.Infrastructure.EFCore.csproj
index 9d4d7e2c..7949f7dc 100644
--- a/AccountMangement.Infrastructure.EFCore/AccountMangement.Infrastructure.EFCore.csproj
+++ b/AccountMangement.Infrastructure.EFCore/AccountMangement.Infrastructure.EFCore.csproj
@@ -20,4 +20,8 @@
+
+
+
+
diff --git a/AccountMangement.Infrastructure.EFCore/Migrations/20251213143102_romoveIsProgramManagerUserFromAccount.Designer.cs b/AccountMangement.Infrastructure.EFCore/Migrations/20251213143102_romoveIsProgramManagerUserFromAccount.Designer.cs
new file mode 100644
index 00000000..52bca3e8
--- /dev/null
+++ b/AccountMangement.Infrastructure.EFCore/Migrations/20251213143102_romoveIsProgramManagerUserFromAccount.Designer.cs
@@ -0,0 +1,1449 @@
+//
+using System;
+using AccountMangement.Infrastructure.EFCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace AccountMangement.Infrastructure.EFCore.Migrations
+{
+ [DbContext(typeof(AccountContext))]
+ [Migration("20251213143102_romoveIsProgramManagerUserFromAccount")]
+ partial class romoveIsProgramManagerUserFromAccount
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "10.0.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AdminAreaPermission")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("ClientAriaPermission")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Email")
+ .HasMaxLength(150)
+ .HasColumnType("nvarchar(150)");
+
+ b.Property("Fullname")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("IsActiveString")
+ .HasMaxLength(6)
+ .HasColumnType("nvarchar(6)");
+
+ b.Property("Mobile")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("NationalCode")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasMaxLength(1000)
+ .HasColumnType("nvarchar(1000)");
+
+ b.Property("PositionId")
+ .HasMaxLength(10)
+ .HasColumnType("bigint");
+
+ b.Property("PositionIsActive")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("ProfilePhoto")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("RoleId")
+ .HasColumnType("bigint");
+
+ b.Property("RoleName")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("Username")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("VerifyCode")
+ .HasMaxLength(1000)
+ .HasColumnType("nvarchar(1000)");
+
+ b.HasKey("id");
+
+ b.HasIndex("PositionId");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("Accounts", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AccountLeftWorkAgg.AccountLeftWork", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
+ b.Property("LeftWorkGr")
+ .HasColumnType("datetime2");
+
+ b.Property("RoleId")
+ .HasColumnType("bigint");
+
+ b.Property("StartWorkGr")
+ .HasColumnType("datetime2");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("AccountId");
+
+ b.ToTable("AccountLeftWork", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AdminAccountId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsActiveString")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("Response")
+ .HasColumnType("ntext");
+
+ b.Property("TicketId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("TicketId");
+
+ b.ToTable("AdminResponses", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AdminResponseMediaAgg.AdminResponseMedia", b =>
+ {
+ b.Property("AdminResponseId")
+ .HasColumnType("bigint");
+
+ b.Property("MediaId")
+ .HasColumnType("bigint");
+
+ b.HasKey("AdminResponseId", "MediaId");
+
+ b.HasIndex("MediaId");
+
+ b.ToTable("AdminResponseMedias", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AssignAgg.Assign", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AcceptedTimeRequest")
+ .HasColumnType("int");
+
+ b.Property("AssignedId")
+ .HasColumnType("bigint");
+
+ b.Property("AssignedName")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("AssignedPositionValue")
+ .HasColumnType("int");
+
+ b.Property("AssignerId")
+ .HasColumnType("bigint");
+
+ b.Property("AssignerPositionValue")
+ .HasColumnType("int");
+
+ b.Property("CancelDescription")
+ .HasColumnType("ntext");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DoneDescription")
+ .HasColumnType("ntext");
+
+ b.Property("EndTaskDate")
+ .HasColumnType("datetime2");
+
+ b.Property("FirstTimeCreation")
+ .HasColumnType("bit");
+
+ b.Property("IsCancel")
+ .HasColumnType("bit");
+
+ b.Property("IsCanceledRequest")
+ .HasColumnType("bit");
+
+ b.Property("IsDone")
+ .HasColumnType("bit");
+
+ b.Property("IsDoneRequest")
+ .HasColumnType("bit");
+
+ b.Property("RequestDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TaskId")
+ .HasColumnType("bigint");
+
+ b.Property("TimeRequest")
+ .HasColumnType("bit");
+
+ b.Property("TimeRequestDescription")
+ .HasColumnType("ntext");
+
+ b.HasKey("id");
+
+ b.HasIndex("TaskId");
+
+ b.ToTable("Assigns", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.CameraAccountAgg.CameraAccount", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsActiveSting")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("Mobile")
+ .HasMaxLength(11)
+ .HasColumnType("nvarchar(11)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasMaxLength(1000)
+ .HasColumnType("nvarchar(1000)");
+
+ b.Property("Username")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.Property("WorkshopName")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.HasKey("id");
+
+ b.HasIndex("AccountId");
+
+ b.ToTable("CameraAccounts", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Response")
+ .HasColumnType("ntext");
+
+ b.Property("TicketId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("TicketId");
+
+ b.ToTable("ClientResponses", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.ClientResponseMediaAgg.ClientResponseMedia", b =>
+ {
+ b.Property("ClientResponseId")
+ .HasColumnType("bigint");
+
+ b.Property("MediaId")
+ .HasColumnType("bigint");
+
+ b.HasKey("ClientResponseId", "MediaId");
+
+ b.HasIndex("MediaId");
+
+ b.ToTable("ClientResponseMedias", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.MediaAgg.Media", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Category")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Path")
+ .HasColumnType("ntext");
+
+ b.Property("ServiceName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Type")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.HasKey("id");
+
+ b.ToTable("Medias", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.PmDomains.PmRoleAgg.PmRole", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("GozareshgirRoleId")
+ .HasColumnType("bigint");
+
+ b.Property("RoleName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.HasKey("id");
+
+ b.ToTable("PmRoles", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.PmDomains.PmUserAgg.PmUser", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Email")
+ .HasMaxLength(150)
+ .HasColumnType("nvarchar(150)");
+
+ b.Property("FullName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("IsActive")
+ .HasColumnType("bit");
+
+ b.Property("Mobile")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("nvarchar(20)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasMaxLength(1000)
+ .HasColumnType("nvarchar(1000)");
+
+ b.Property("ProfilePhotoPath")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("UserName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("VerifyCode")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.HasKey("id");
+
+ b.ToTable("Users", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.PositionAgg.Position", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PositionName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("PositionValue")
+ .HasMaxLength(2)
+ .HasColumnType("int");
+
+ b.HasKey("id");
+
+ b.ToTable("Positions", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.HasKey("id");
+
+ b.ToTable("Roles", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountAgg.SubAccount", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("FName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsActive")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("LName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("NationalCode")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasMaxLength(1000)
+ .HasColumnType("nvarchar(1000)");
+
+ b.Property("PhoneNumber")
+ .IsRequired()
+ .HasMaxLength(11)
+ .HasColumnType("nvarchar(11)");
+
+ b.Property("ProfilePhoto")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("SubAccountRoleId")
+ .HasColumnType("bigint");
+
+ b.Property("Username")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("VerifyCode")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.HasKey("id");
+
+ b.HasIndex("SubAccountRoleId");
+
+ b.ToTable("SubAccounts", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle1Agg.SubAccountPermissionSubtitle1", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Code")
+ .HasMaxLength(15)
+ .HasColumnType("int");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("id");
+
+ b.ToTable("SubAccountPermissionSubtitle1", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle2Agg.SubAccountPermissionSubtitle2", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Code")
+ .HasMaxLength(15)
+ .HasColumnType("int");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ParentId")
+ .HasColumnType("bigint");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("id");
+
+ b.HasIndex("ParentId");
+
+ b.ToTable("SubAccountPermissionSubtitle2", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle3Agg.SubAccountPermissionSubtitle3", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Code")
+ .HasMaxLength(15)
+ .HasColumnType("int");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ParentId")
+ .HasColumnType("bigint");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("id");
+
+ b.HasIndex("ParentId");
+
+ b.ToTable("SubAccountPermissionSubtitle3", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle4Agg.SubAccountPermissionSubtitle4", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Code")
+ .HasMaxLength(15)
+ .HasColumnType("int");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ParentId")
+ .HasColumnType("bigint");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("id");
+
+ b.HasIndex("ParentId");
+
+ b.ToTable("SubAccountPermissionSubtitle4", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRole", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Title")
+ .HasMaxLength(60)
+ .HasColumnType("nvarchar(60)");
+
+ b.HasKey("id");
+
+ b.ToTable("SubAccountRoles", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("ContractingPartyName")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Description")
+ .HasColumnType("ntext");
+
+ b.Property("IsActiveString")
+ .HasMaxLength(7)
+ .HasColumnType("nvarchar(7)");
+
+ b.Property("SenderId")
+ .HasColumnType("bigint");
+
+ b.Property("StartTaskDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TaskScheduleId")
+ .HasColumnType("bigint");
+
+ b.Property("TicketId")
+ .HasColumnType("bigint");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.HasKey("id");
+
+ b.HasIndex("TaskScheduleId");
+
+ b.ToTable("TasksManager", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskMediaAgg.TaskMedia", b =>
+ {
+ b.Property("MediaId")
+ .HasColumnType("bigint");
+
+ b.Property("TaskId")
+ .HasColumnType("bigint");
+
+ b.HasKey("MediaId", "TaskId");
+
+ b.HasIndex("TaskId");
+
+ b.ToTable("TasksMedias", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskMessageAgg.TaskMessage", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AssignId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Message")
+ .HasColumnType("ntext");
+
+ b.Property("RequestedDateFa")
+ .HasMaxLength(25)
+ .HasColumnType("nvarchar(25)");
+
+ b.Property("TypeOfMessage")
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.HasKey("id");
+
+ b.HasIndex("AssignId");
+
+ b.ToTable("TaskMessages", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskMessageItemsAgg.TaskMessageItems", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ReceiverAccountId")
+ .HasColumnType("bigint");
+
+ b.Property("SenderAccountId")
+ .HasColumnType("bigint");
+
+ b.Property("TaskMessageId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.HasIndex("TaskMessageId");
+
+ b.ToTable("TaskMessageItems", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskScheduleAgg.TaskSchedule", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("Count")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsActive")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("LastEndTaskDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Type")
+ .IsRequired()
+ .HasMaxLength(12)
+ .HasColumnType("nvarchar(12)");
+
+ b.Property("UnitNumber")
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("UnitType")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.HasKey("id");
+
+ b.ToTable("TaskSchedules", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskSubjectAgg.TaskSubject", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Subject")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.HasKey("id");
+
+ b.ToTable("TaskSubjects", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TicketAccessAccountAgg.TicketAccessAccount", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("AccountId")
+ .HasColumnType("bigint");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.HasKey("id");
+
+ b.ToTable("TicketAccessAccounts", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TicketAgg.Ticket", b =>
+ {
+ b.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id"));
+
+ b.Property("ContractingPartyName")
+ .HasMaxLength(155)
+ .HasColumnType("nvarchar(155)");
+
+ b.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Description")
+ .HasColumnType("ntext");
+
+ b.Property("IsDeleted")
+ .HasColumnType("bit");
+
+ b.Property("SenderId")
+ .HasColumnType("bigint");
+
+ b.Property("Status")
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("SubAccountSenderId")
+ .HasColumnType("bigint");
+
+ b.Property("TicketNumber")
+ .HasMaxLength(12)
+ .HasColumnType("nvarchar(12)");
+
+ b.Property("TicketType")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Title")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b.HasKey("id");
+
+ b.ToTable("Tickets", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TicketMediasAgg.TicketMedia", b =>
+ {
+ b.Property("TicketId")
+ .HasColumnType("bigint");
+
+ b.Property("MediaId")
+ .HasColumnType("bigint");
+
+ b.HasKey("TicketId", "MediaId");
+
+ b.HasIndex("MediaId");
+
+ b.ToTable("TicketMedias", (string)null);
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
+ {
+ b.HasOne("AccountManagement.Domain.PositionAgg.Position", "Position")
+ .WithMany("Accounts")
+ .HasForeignKey("PositionId");
+
+ b.HasOne("AccountManagement.Domain.RoleAgg.Role", "Role")
+ .WithMany("Accounts")
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Position");
+
+ b.Navigation("Role");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AccountLeftWorkAgg.AccountLeftWork", b =>
+ {
+ b.HasOne("AccountManagement.Domain.AccountAgg.Account", "Account")
+ .WithMany("AccountLeftWorkList")
+ .HasForeignKey("AccountId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Account");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
+ {
+ b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
+ .WithMany("AdminResponses")
+ .HasForeignKey("TicketId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Ticket");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AdminResponseMediaAgg.AdminResponseMedia", b =>
+ {
+ b.HasOne("AccountManagement.Domain.AdminResponseAgg.AdminResponse", "AdminResponse")
+ .WithMany("AdminResponseMedias")
+ .HasForeignKey("AdminResponseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
+ .WithMany("AdminResponseMedias")
+ .HasForeignKey("MediaId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("AdminResponse");
+
+ b.Navigation("Media");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AssignAgg.Assign", b =>
+ {
+ b.HasOne("AccountManagement.Domain.TaskAgg.Tasks", "Task")
+ .WithMany("Assigns")
+ .HasForeignKey("TaskId")
+ .OnDelete(DeleteBehavior.Cascade);
+
+ b.Navigation("Task");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.CameraAccountAgg.CameraAccount", b =>
+ {
+ b.HasOne("AccountManagement.Domain.AccountAgg.Account", "Account")
+ .WithMany("CameraAccounts")
+ .HasForeignKey("AccountId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Account");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
+ {
+ b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
+ .WithMany("ClientResponses")
+ .HasForeignKey("TicketId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Ticket");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.ClientResponseMediaAgg.ClientResponseMedia", b =>
+ {
+ b.HasOne("AccountManagement.Domain.ClientResponseAgg.ClientResponse", "ClientResponse")
+ .WithMany("ClientResponseMedias")
+ .HasForeignKey("ClientResponseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
+ .WithMany("ClientResponseMedias")
+ .HasForeignKey("MediaId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("ClientResponse");
+
+ b.Navigation("Media");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.PmDomains.PmRoleAgg.PmRole", b =>
+ {
+ b.OwnsMany("AccountManagement.Domain.PmDomains.PmPermissionAgg.PmPermission", "PmPermission", b1 =>
+ {
+ b1.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id"));
+
+ b1.Property("Code")
+ .HasColumnType("int");
+
+ b1.Property("Roleid")
+ .HasColumnType("bigint");
+
+ b1.HasKey("Id");
+
+ b1.HasIndex("Roleid");
+
+ b1.ToTable("PmRolePermissions", null, t =>
+ {
+ t.ExcludeFromMigrations();
+ });
+
+ b1.WithOwner("Role")
+ .HasForeignKey("Roleid");
+
+ b1.Navigation("Role");
+ });
+
+ b.Navigation("PmPermission");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.PmDomains.PmUserAgg.PmUser", b =>
+ {
+ b.OwnsMany("AccountManagement.Domain.PmDomains.PmRoleUserAgg.PmRoleUser", "RoleUser", b1 =>
+ {
+ b1.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id"));
+
+ b1.Property("RoleId")
+ .HasColumnType("bigint");
+
+ b1.Property("Userid")
+ .HasColumnType("bigint");
+
+ b1.HasKey("Id");
+
+ b1.HasIndex("Userid");
+
+ b1.ToTable("RoleUsers", (string)null);
+
+ b1.WithOwner("User")
+ .HasForeignKey("Userid");
+
+ b1.Navigation("User");
+ });
+
+ b.Navigation("RoleUser");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
+ {
+ b.OwnsMany("AccountManagement.Domain.RoleAgg.Permission", "Permissions", b1 =>
+ {
+ b1.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("Id"));
+
+ b1.Property("Code")
+ .HasColumnType("int");
+
+ b1.Property("RoleId")
+ .HasColumnType("bigint");
+
+ b1.HasKey("Id");
+
+ b1.HasIndex("RoleId");
+
+ b1.ToTable("RolePermissions", (string)null);
+
+ b1.WithOwner("Role")
+ .HasForeignKey("RoleId");
+
+ b1.Navigation("Role");
+ });
+
+ b.Navigation("Permissions");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountAgg.SubAccount", b =>
+ {
+ b.HasOne("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRole", "SubAccountRole")
+ .WithMany("SubAccounts")
+ .HasForeignKey("SubAccountRoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("SubAccountRole");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle2Agg.SubAccountPermissionSubtitle2", b =>
+ {
+ b.HasOne("AccountManagement.Domain.SubAccountPermissionSubtitle1Agg.SubAccountPermissionSubtitle1", "Parent")
+ .WithMany("Children")
+ .HasForeignKey("ParentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Parent");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle3Agg.SubAccountPermissionSubtitle3", b =>
+ {
+ b.HasOne("AccountManagement.Domain.SubAccountPermissionSubtitle2Agg.SubAccountPermissionSubtitle2", "Parent")
+ .WithMany("Children")
+ .HasForeignKey("ParentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Parent");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle4Agg.SubAccountPermissionSubtitle4", b =>
+ {
+ b.HasOne("AccountManagement.Domain.SubAccountPermissionSubtitle3Agg.SubAccountPermissionSubtitle3", "Parent")
+ .WithMany("Children")
+ .HasForeignKey("ParentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Parent");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRole", b =>
+ {
+ b.OwnsMany("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRoleWorkshop", "RoleWorkshops", b1 =>
+ {
+ b1.Property("SubAccountId")
+ .HasColumnType("bigint");
+
+ b1.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id"));
+
+ b1.Property("CreationDate")
+ .HasColumnType("datetime2");
+
+ b1.Property("WorkshopId")
+ .HasColumnType("bigint");
+
+ b1.HasKey("SubAccountId", "id");
+
+ b1.ToTable("SubAccountRoleWorkshop");
+
+ b1.WithOwner("SubAccountRole")
+ .HasForeignKey("SubAccountId");
+
+ b1.Navigation("SubAccountRole");
+ });
+
+ b.OwnsMany("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRolePermission", "RolePermissions", b1 =>
+ {
+ b1.Property("id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property("id"));
+
+ b1.Property("PermissionCode")
+ .HasColumnType("int");
+
+ b1.Property("SubAccountRoleId")
+ .HasColumnType("bigint");
+
+ b1.HasKey("id");
+
+ b1.HasIndex("SubAccountRoleId");
+
+ b1.ToTable("SubAccountRolePermissions", (string)null);
+
+ b1.WithOwner("SubAccountRole")
+ .HasForeignKey("SubAccountRoleId");
+
+ b1.Navigation("SubAccountRole");
+ });
+
+ b.Navigation("RolePermissions");
+
+ b.Navigation("RoleWorkshops");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
+ {
+ b.HasOne("AccountManagement.Domain.TaskScheduleAgg.TaskSchedule", "TaskSchedule")
+ .WithMany("TasksList")
+ .HasForeignKey("TaskScheduleId")
+ .OnDelete(DeleteBehavior.Cascade);
+
+ b.Navigation("TaskSchedule");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskMediaAgg.TaskMedia", b =>
+ {
+ b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
+ .WithMany("TaskMedias")
+ .HasForeignKey("MediaId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("AccountManagement.Domain.TaskAgg.Tasks", "Tasks")
+ .WithMany("TaskMedias")
+ .HasForeignKey("TaskId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Media");
+
+ b.Navigation("Tasks");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskMessageAgg.TaskMessage", b =>
+ {
+ b.HasOne("AccountManagement.Domain.AssignAgg.Assign", "Assign")
+ .WithMany("TaskMessageList")
+ .HasForeignKey("AssignId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Assign");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskMessageItemsAgg.TaskMessageItems", b =>
+ {
+ b.HasOne("AccountManagement.Domain.TaskMessageAgg.TaskMessage", "TaskMessage")
+ .WithMany("TaskMessageItemsList")
+ .HasForeignKey("TaskMessageId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("TaskMessage");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TicketMediasAgg.TicketMedia", b =>
+ {
+ b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
+ .WithMany("TicketMedias")
+ .HasForeignKey("MediaId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
+ .WithMany("TicketMedias")
+ .HasForeignKey("TicketId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Media");
+
+ b.Navigation("Ticket");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
+ {
+ b.Navigation("AccountLeftWorkList");
+
+ b.Navigation("CameraAccounts");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
+ {
+ b.Navigation("AdminResponseMedias");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.AssignAgg.Assign", b =>
+ {
+ b.Navigation("TaskMessageList");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
+ {
+ b.Navigation("ClientResponseMedias");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.MediaAgg.Media", b =>
+ {
+ b.Navigation("AdminResponseMedias");
+
+ b.Navigation("ClientResponseMedias");
+
+ b.Navigation("TaskMedias");
+
+ b.Navigation("TicketMedias");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.PositionAgg.Position", b =>
+ {
+ b.Navigation("Accounts");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
+ {
+ b.Navigation("Accounts");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle1Agg.SubAccountPermissionSubtitle1", b =>
+ {
+ b.Navigation("Children");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle2Agg.SubAccountPermissionSubtitle2", b =>
+ {
+ b.Navigation("Children");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountPermissionSubtitle3Agg.SubAccountPermissionSubtitle3", b =>
+ {
+ b.Navigation("Children");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRole", b =>
+ {
+ b.Navigation("SubAccounts");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
+ {
+ b.Navigation("Assigns");
+
+ b.Navigation("TaskMedias");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskMessageAgg.TaskMessage", b =>
+ {
+ b.Navigation("TaskMessageItemsList");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TaskScheduleAgg.TaskSchedule", b =>
+ {
+ b.Navigation("TasksList");
+ });
+
+ modelBuilder.Entity("AccountManagement.Domain.TicketAgg.Ticket", b =>
+ {
+ b.Navigation("AdminResponses");
+
+ b.Navigation("ClientResponses");
+
+ b.Navigation("TicketMedias");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/AccountMangement.Infrastructure.EFCore/Migrations/20251213143102_romoveIsProgramManagerUserFromAccount.cs b/AccountMangement.Infrastructure.EFCore/Migrations/20251213143102_romoveIsProgramManagerUserFromAccount.cs
new file mode 100644
index 00000000..2a3a5929
--- /dev/null
+++ b/AccountMangement.Infrastructure.EFCore/Migrations/20251213143102_romoveIsProgramManagerUserFromAccount.cs
@@ -0,0 +1,29 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace AccountMangement.Infrastructure.EFCore.Migrations
+{
+ ///
+ public partial class romoveIsProgramManagerUserFromAccount : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "IsProgramManagerUser",
+ table: "Accounts");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn(
+ name: "IsProgramManagerUser",
+ table: "Accounts",
+ type: "bit",
+ nullable: false,
+ defaultValue: false);
+ }
+ }
+}
diff --git a/AccountMangement.Infrastructure.EFCore/Migrations/AccountContextModelSnapshot.cs b/AccountMangement.Infrastructure.EFCore/Migrations/AccountContextModelSnapshot.cs
index ca6c5c8d..800be041 100644
--- a/AccountMangement.Infrastructure.EFCore/Migrations/AccountContextModelSnapshot.cs
+++ b/AccountMangement.Infrastructure.EFCore/Migrations/AccountContextModelSnapshot.cs
@@ -54,9 +54,6 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
.HasMaxLength(6)
.HasColumnType("nvarchar(6)");
- b.Property("IsProgramManagerUser")
- .HasColumnType("bit");
-
b.Property("Mobile")
.IsRequired()
.HasMaxLength(20)
diff --git a/AccountMangement.Infrastructure.EFCore/Repository/AccountRepository.cs b/AccountMangement.Infrastructure.EFCore/Repository/AccountRepository.cs
index 4e0a4dc4..1947a65b 100644
--- a/AccountMangement.Infrastructure.EFCore/Repository/AccountRepository.cs
+++ b/AccountMangement.Infrastructure.EFCore/Repository/AccountRepository.cs
@@ -46,8 +46,7 @@ public class AccountRepository : RepositoryBase, IAccountReposito
Mobile = x.Mobile,
RoleId = x.RoleId,
Username = x.Username,
- IsActiveString = x.IsActiveString,
- IsProgramManagerUser = x.IsProgramManagerUser,
+ IsActiveString = x.IsActiveString
}).FirstOrDefault(x => x.Id == id);
}
diff --git a/CompanyManagment.EFCore/Services/HolidayQueryService.cs b/CompanyManagment.EFCore/Services/HolidayQueryService.cs
new file mode 100644
index 00000000..4b8aa51c
--- /dev/null
+++ b/CompanyManagment.EFCore/Services/HolidayQueryService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Shared.Contracts.Holidays;
+
+namespace CompanyManagment.EFCore.Services;
+
+public class HolidayQueryService : IHolidayQueryService
+{
+ public Task> GetHolidaysInDates(DateTime startDate, DateTime endDate)
+ {
+ throw new NotImplementedException();
+ }
+}
\ No newline at end of file
diff --git a/PersonalContractingParty.Config/PersonalBootstrapper.cs b/PersonalContractingParty.Config/PersonalBootstrapper.cs
index a9ee5eae..3988ea58 100644
--- a/PersonalContractingParty.Config/PersonalBootstrapper.cs
+++ b/PersonalContractingParty.Config/PersonalBootstrapper.cs
@@ -1,18 +1,44 @@
-using System;
+using _0_Framework.Application.FaceEmbedding;
using _0_Framework.Application.UID;
+using _0_Framework.Infrastructure;
+using _0_Framework.InfraStructure;
using Company.Application.Contracts.AuthorizedBankDetails;
+using Company.Domain._common;
+using Company.Domain.AdminMonthlyOverviewAgg;
+using Company.Domain.AndroidApkVersionAgg;
+using Company.Domain.AuthorizedBankDetailsAgg;
+using Company.Domain.AuthorizedPersonAgg;
+using Company.Domain.BankAgg;
using Company.Domain.BillAgg;
using Company.Domain.Board;
using Company.Domain.ChapterAgg;
using Company.Domain.CheckoutAgg;
using Company.Domain.ClassifiedSalaryAgg;
using Company.Domain.Contact2Agg;
-using Company.Domain.CrossJobAgg;
-using Company.Domain.CrossJobGuildAgg;
+using Company.Domain.ContactUsAgg;
using Company.Domain.ContarctingPartyAgg;
using Company.Domain.ContractAgg;
+using Company.Domain.ContractingPartyBankAccountsAgg;
+using Company.Domain.CrossJobAgg;
+using Company.Domain.CrossJobGuildAgg;
+using Company.Domain.CrossJobItemsAgg;
+using Company.Domain.CustomizeCheckoutAgg;
+using Company.Domain.CustomizeCheckoutTempAgg;
+using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg;
+using Company.Domain.CustomizeWorkshopGroupSettingsAgg;
+using Company.Domain.CustomizeWorkshopSettingsAgg;
+using Company.Domain.DateSalaryAgg;
+using Company.Domain.DateSalaryItemAgg;
using Company.Domain.EmployeeAgg;
+using Company.Domain.EmployeeAuthorizeTempAgg;
+using Company.Domain.EmployeeBankInformationAgg;
using Company.Domain.EmployeeChildrenAgg;
+using Company.Domain.EmployeeClientTempAgg;
+using Company.Domain.EmployeeComputeOptionsAgg;
+using Company.Domain.EmployeeDocumentItemAgg;
+using Company.Domain.EmployeeDocumentsAdminSelectionAgg;
+using Company.Domain.EmployeeDocumentsAgg;
+using Company.Domain.EmployeeFaceEmbeddingAgg;
using Company.Domain.empolyerAgg;
using Company.Domain.Evidence;
using Company.Domain.EvidenceDetail;
@@ -23,38 +49,108 @@ using Company.Domain.FileEmployerAgg;
using Company.Domain.FileState;
using Company.Domain.FileTiming;
using Company.Domain.FileTitle;
+using Company.Domain.FinancialInvoiceAgg;
+using Company.Domain.FinancialStatmentAgg;
+using Company.Domain.FinancialTransactionAgg;
+using Company.Domain.FineAgg;
+using Company.Domain.FineSubjectAgg;
+using Company.Domain.GroupPlanAgg;
+using Company.Domain.GroupPlanJobItemAgg;
using Company.Domain.HolidayAgg;
using Company.Domain.HolidayItemAgg;
+using Company.Domain.InstitutionContractAgg;
+using Company.Domain.InstitutionContractContactInfoAgg;
+using Company.Domain.InstitutionContractExtensionTempAgg;
+using Company.Domain.InstitutionPlanAgg;
+using Company.Domain.InsuranceAgg;
+using Company.Domain.InsuranceEmployeeInfoAgg;
+using Company.Domain.InsuranceJobItemAgg;
+using Company.Domain.InsuranceListAgg;
+using Company.Domain.InsuranceYearlySalaryAgg;
+using Company.Domain.InsurancJobAgg;
+using Company.Domain.InsurancWorkshopInfoAgg;
using Company.Domain.JobAgg;
+using Company.Domain.LawAgg;
using Company.Domain.LeaveAgg;
using Company.Domain.LeftWorkAgg;
+using Company.Domain.LeftWorkInsuranceAgg;
+using Company.Domain.LeftWorkTempAgg;
+using Company.Domain.LoanAgg;
using Company.Domain.MandatoryHoursAgg;
using Company.Domain.MasterPenaltyTitle;
using Company.Domain.MasterPetition;
using Company.Domain.MasterWorkHistory;
using Company.Domain.ModuleAgg;
using Company.Domain.OriginalTitleAgg;
+using Company.Domain.PaymentInstrumentAgg;
+using Company.Domain.PaymentToEmployeeAgg;
+using Company.Domain.PaymentToEmployeeItemAgg;
+using Company.Domain.PaymentTransactionAgg;
using Company.Domain.PenaltyTitle;
+using Company.Domain.PercentageAgg;
+using Company.Domain.PersonnelCodeAgg;
using Company.Domain.Petition;
using Company.Domain.ProceedingSession;
+using Company.Domain.ReportAgg;
+using Company.Domain.ReportClientAgg;
using Company.Domain.RepresentativeAgg;
+using Company.Domain.RewardAgg;
+using Company.Domain.RollCallAgg;
+using Company.Domain.RollCallAgg.DomainService;
+using Company.Domain.RollCallEmployeeAgg;
+using Company.Domain.RollCallEmployeeStatusAgg;
+using Company.Domain.RollCallPlanAgg;
+using Company.Domain.RollCallServiceAgg;
+using Company.Domain.SalaryAidAgg;
+using Company.Domain.SmsResultAgg;
using Company.Domain.SubtitleAgg;
+using Company.Domain.TaxJobCategoryAgg;
+using Company.Domain.TemporaryClientRegistrationAgg;
using Company.Domain.WorkHistory;
using Company.Domain.WorkingHoursAgg;
using Company.Domain.WorkingHoursItemsAgg;
+using Company.Domain.WorkingHoursTempAgg;
+using Company.Domain.WorkingHoursTempItemAgg;
+using Company.Domain.WorkshopAccountAgg;
using Company.Domain.WorkshopAgg;
+using Company.Domain.WorkshopPlanAgg;
+using Company.Domain.WorkshopPlanEmployeeAgg;
+using Company.Domain.WorkshopSubAccountAgg;
using Company.Domain.YearlySalaryAgg;
using Company.Domain.YearlySalaryItemsAgg;
using Company.Domain.YearlysSalaryTitleAgg;
+using Company.Domain.ZoneAgg;
+using CompanyManagement.Infrastructure.Excel.SalaryAid;
+using CompanyManagement.Infrastructure.Mongo.EmployeeFaceEmbeddingRepo;
+using CompanyManagement.Infrastructure.Mongo.InstitutionContractInsertTempRepo;
+using CompanyManagment.App.Contracts.AdminMonthlyOverview;
+using CompanyManagment.App.Contracts.AndroidApkVersion;
+using CompanyManagment.App.Contracts.AuthorizedPerson;
+using CompanyManagment.App.Contracts.Bank;
using CompanyManagment.App.Contracts.Board;
using CompanyManagment.App.Contracts.Chapter;
using CompanyManagment.App.Contracts.Checkout;
+using CompanyManagment.App.Contracts.ClassifiedSalary;
using CompanyManagment.App.Contracts.Contact2;
+using CompanyManagment.App.Contracts.ContactUs;
using CompanyManagment.App.Contracts.Contract;
+using CompanyManagment.App.Contracts.ContractingPartyBankAccounts;
using CompanyManagment.App.Contracts.CrossJob;
using CompanyManagment.App.Contracts.CrossJobGuild;
+using CompanyManagment.App.Contracts.CrossJobItems;
+using CompanyManagment.App.Contracts.CustomizeCheckout;
+using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
+using CompanyManagment.App.Contracts.DateSalary;
+using CompanyManagment.App.Contracts.DateSalaryItem;
using CompanyManagment.App.Contracts.Employee;
+using CompanyManagment.App.Contracts.EmployeeBankInformation;
using CompanyManagment.App.Contracts.EmployeeChildren;
+using CompanyManagment.App.Contracts.EmployeeClientTemp;
+using CompanyManagment.App.Contracts.EmployeeComputeOptions;
+using CompanyManagment.App.Contracts.EmployeeDocuments;
+using CompanyManagment.App.Contracts.EmployeeDocumentsAdminSelection;
+using CompanyManagment.App.Contracts.EmployeeFaceEmbedding;
+using CompanyManagment.App.Contracts.EmployeeInsurancListData;
using CompanyManagment.App.Contracts.Employer;
using CompanyManagment.App.Contracts.Evidence;
using CompanyManagment.App.Contracts.EvidenceDetail;
@@ -65,176 +161,82 @@ using CompanyManagment.App.Contracts.FileEmployer;
using CompanyManagment.App.Contracts.FileState;
using CompanyManagment.App.Contracts.FileTiming;
using CompanyManagment.App.Contracts.FileTitle;
+using CompanyManagment.App.Contracts.FinancialInvoice;
+using CompanyManagment.App.Contracts.FinancialStatment;
+using CompanyManagment.App.Contracts.FinancilTransaction;
+using CompanyManagment.App.Contracts.Fine;
+using CompanyManagment.App.Contracts.FineSubject;
using CompanyManagment.App.Contracts.Holiday;
using CompanyManagment.App.Contracts.HolidayItem;
+using CompanyManagment.App.Contracts.InstitutionContract;
+using CompanyManagment.App.Contracts.InstitutionContractContactinfo;
+using CompanyManagment.App.Contracts.InstitutionPlan;
+using CompanyManagment.App.Contracts.Insurance;
+using CompanyManagment.App.Contracts.InsuranceEmployeeInfo;
+using CompanyManagment.App.Contracts.InsuranceJob;
+using CompanyManagment.App.Contracts.InsuranceList;
+using CompanyManagment.App.Contracts.InsuranceWorkshopInfo;
+using CompanyManagment.App.Contracts.InsuranceYearlySalary;
using CompanyManagment.App.Contracts.Job;
+using CompanyManagment.App.Contracts.Law;
using CompanyManagment.App.Contracts.Leave;
using CompanyManagment.App.Contracts.LeftWork;
+using CompanyManagment.App.Contracts.LeftWorkInsurance;
+using CompanyManagment.App.Contracts.LeftWorkTemp;
+using CompanyManagment.App.Contracts.Loan;
using CompanyManagment.App.Contracts.MandantoryHours;
using CompanyManagment.App.Contracts.MasterPenaltyTitle;
using CompanyManagment.App.Contracts.MasterPetition;
using CompanyManagment.App.Contracts.MasterWorkHistory;
using CompanyManagment.App.Contracts.Module;
using CompanyManagment.App.Contracts.OriginalTitle;
+using CompanyManagment.App.Contracts.PaymentInstrument;
+using CompanyManagment.App.Contracts.PaymentToEmployee;
+using CompanyManagment.App.Contracts.PaymentTransaction;
using CompanyManagment.App.Contracts.PenaltyTitle;
+using CompanyManagment.App.Contracts.Percentage;
using CompanyManagment.App.Contracts.PersonalContractingParty;
+using CompanyManagment.App.Contracts.PersonnleCode;
using CompanyManagment.App.Contracts.Petition;
using CompanyManagment.App.Contracts.ProceedingSession;
+using CompanyManagment.App.Contracts.Report;
+using CompanyManagment.App.Contracts.ReportClient;
using CompanyManagment.App.Contracts.Representative;
+using CompanyManagment.App.Contracts.Reward;
+using CompanyManagment.App.Contracts.RollCall;
+using CompanyManagment.App.Contracts.RollCallEmployee;
+using CompanyManagment.App.Contracts.RollCallEmployeeStatus;
+using CompanyManagment.App.Contracts.RollCallPlan;
+using CompanyManagment.App.Contracts.RollCallService;
+using CompanyManagment.App.Contracts.SalaryAid;
+using CompanyManagment.App.Contracts.SmsResult;
using CompanyManagment.App.Contracts.Subtitle;
+using CompanyManagment.App.Contracts.TaxJobCategory;
+using CompanyManagment.App.Contracts.TemporaryClientRegistration;
using CompanyManagment.App.Contracts.TextManager;
using CompanyManagment.App.Contracts.WorkHistory;
using CompanyManagment.App.Contracts.WorkingHours;
using CompanyManagment.App.Contracts.WorkingHoursItems;
+using CompanyManagment.App.Contracts.WorkingHoursTemp;
+using CompanyManagment.App.Contracts.WorkingHoursTempItem;
using CompanyManagment.App.Contracts.Workshop;
+using CompanyManagment.App.Contracts.WorkshopPlan;
using CompanyManagment.App.Contracts.YearlySalary;
using CompanyManagment.App.Contracts.YearlySalaryItems;
using CompanyManagment.App.Contracts.YearlySalaryTitles;
+using CompanyManagment.App.Contracts.Zone;
using CompanyManagment.Application;
using CompanyManagment.EFCore;
+using CompanyManagment.EFCore._common;
+using CompanyManagment.EFCore.Repository;
using CompanyManagment.EFCore.Repository;
using File.EfCore.Repository;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using P_TextManager.Domin.TextManagerAgg;
-using CompanyManagment.App.Contracts.CrossJobItems;
-using Company.Domain.CrossJobItemsAgg;
-using Company.Domain.DateSalaryAgg;
-using Company.Domain.DateSalaryItemAgg;
-using Company.Domain.FinancialStatmentAgg;
-using Company.Domain.FinancialTransactionAgg;
-using Company.Domain.GroupPlanAgg;
-using Company.Domain.GroupPlanJobItemAgg;
-using Company.Domain.InstitutionContractAgg;
-using Company.Domain.InstitutionContractContactInfoAgg;
-using CompanyManagment.App.Contracts.Insurance;
-using Company.Domain.InsuranceAgg;
-using Company.Domain.InsuranceEmployeeInfoAgg;
-using Company.Domain.InsuranceJobItemAgg;
-using Company.Domain.InsuranceListAgg;
-using Company.Domain.InsurancJobAgg;
-using Company.Domain.InsurancWorkshopInfoAgg;
-using Company.Domain.LeftWorkInsuranceAgg;
-using Company.Domain.PaymentToEmployeeAgg;
-using Company.Domain.PaymentToEmployeeItemAgg;
-using Company.Domain.PercentageAgg;
-using Company.Domain.PersonnelCodeAgg;
-using Company.Domain.SmsResultAgg;
-using Company.Domain.WorkingHoursTempAgg;
-using Company.Domain.WorkingHoursTempItemAgg;
-using Company.Domain.WorkshopPlanAgg;
-using Company.Domain.WorkshopPlanEmployeeAgg;
-using Company.Domain.ZoneAgg;
-using CompanyManagment.App.Contracts.ClassifiedSalary;
-using CompanyManagment.App.Contracts.DateSalary;
-using CompanyManagment.App.Contracts.DateSalaryItem;
-using CompanyManagment.App.Contracts.EmployeeInsurancListData;
-using CompanyManagment.App.Contracts.FinancialStatment;
-using CompanyManagment.App.Contracts.FinancilTransaction;
-using CompanyManagment.App.Contracts.InstitutionContract;
-using CompanyManagment.App.Contracts.InstitutionContractContactinfo;
-using CompanyManagment.App.Contracts.InsuranceEmployeeInfo;
-using CompanyManagment.App.Contracts.InsuranceJob;
-using CompanyManagment.App.Contracts.InsuranceList;
-using CompanyManagment.App.Contracts.InsuranceWorkshopInfo;
-using CompanyManagment.App.Contracts.LeftWorkInsurance;
-using CompanyManagment.App.Contracts.PaymentToEmployee;
-using CompanyManagment.App.Contracts.Percentage;
-using CompanyManagment.App.Contracts.PersonnleCode;
-using CompanyManagment.App.Contracts.SmsResult;
-using CompanyManagment.App.Contracts.WorkingHoursTemp;
-using CompanyManagment.App.Contracts.WorkingHoursTempItem;
-using CompanyManagment.App.Contracts.WorkshopPlan;
-using CompanyManagment.App.Contracts.Zone;
-using CompanyManagment.App.Contracts.EmployeeComputeOptions;
-using Company.Domain.EmployeeComputeOptionsAgg;
-using Company.Domain.InsuranceYearlySalaryAgg;
-using Company.Domain.ReportAgg;
-using Company.Domain.RollCallAgg;
-using Company.Domain.RollCallEmployeeAgg;
-using Company.Domain.RollCallPlanAgg;
-using Company.Domain.RollCallServiceAgg;
-using CompanyManagment.App.Contracts.InsuranceYearlySalary;
-using CompanyManagment.App.Contracts.Report;
-using CompanyManagment.App.Contracts.RollCall;
-using CompanyManagment.App.Contracts.RollCallEmployee;
-using CompanyManagment.App.Contracts.RollCallService;
-using CompanyManagment.App.Contracts.RollCallPlan;
-using Company.Domain.ReportClientAgg;
-using Company.Domain.TaxJobCategoryAgg;
-using Company.Domain.WorkshopAccountAgg;
-using CompanyManagment.App.Contracts.ReportClient;
-using CompanyManagment.App.Contracts.TaxJobCategory;
-using Company.Domain.RollCallEmployeeStatusAgg;
-using CompanyManagment.App.Contracts.RollCallEmployeeStatus;
-using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg;
-using Company.Domain.CustomizeWorkshopGroupSettingsAgg;
-using Company.Domain.CustomizeWorkshopSettingsAgg;
-using Company.Domain.FineAgg;
-using Company.Domain.LoanAgg;
-using Company.Domain.RewardAgg;
-using Company.Domain.SalaryAidAgg;
-using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
-using CompanyManagment.App.Contracts.Fine;
-using CompanyManagment.App.Contracts.Loan;
-using CompanyManagment.App.Contracts.Reward;
-using CompanyManagment.App.Contracts.SalaryAid;
-using Company.Domain.AndroidApkVersionAgg;
-using Company.Domain.BankAgg;
-using CompanyManagment.App.Contracts.AndroidApkVersion;
-using Company.Domain.FineSubjectAgg;
-using CompanyManagment.App.Contracts.FineSubject;
-using Company.Domain.CustomizeCheckoutAgg;
-using CompanyManagment.App.Contracts.CustomizeCheckout;
-using Company.Domain.WorkshopSubAccountAgg;
-using Company.Domain.CustomizeCheckoutTempAgg;
-using Company.Domain.EmployeeBankInformationAgg;
-using Company.Domain.RollCallAgg.DomainService;
-using CompanyManagment.App.Contracts.Bank;
-using CompanyManagment.App.Contracts.EmployeeBankInformation;
-using Company.Domain.EmployeeDocumentItemAgg;
-using Company.Domain.EmployeeDocumentsAdminSelectionAgg;
-using Company.Domain.EmployeeDocumentsAgg;
-using CompanyManagement.Infrastructure.Excel.SalaryAid;
-using CompanyManagment.App.Contracts.EmployeeDocuments;
-using CompanyManagment.App.Contracts.EmployeeDocumentsAdminSelection;
-using Company.Domain.EmployeeClientTempAgg;
-using Company.Domain.InstitutionPlanAgg;
-using Company.Domain.LeftWorkTempAgg;
-using Company.Domain.TemporaryClientRegistrationAgg;
-using CompanyManagment.App.Contracts.EmployeeClientTemp;
-using CompanyManagment.App.Contracts.InstitutionPlan;
-using CompanyManagment.App.Contracts.LeftWorkTemp;
-using CompanyManagment.App.Contracts.TemporaryClientRegistration;
-using Company.Domain.ContactUsAgg;
-using CompanyManagment.App.Contracts.ContactUs;
-using Company.Domain.EmployeeAuthorizeTempAgg;
-using Company.Domain.AdminMonthlyOverviewAgg;
-using Company.Domain.AuthorizedBankDetailsAgg;
-using Company.Domain.ContractingPartyBankAccountsAgg;
-using Company.Domain.PaymentInstrumentAgg;
-using Company.Domain.PaymentTransactionAgg;
-using Company.Domain.FinancialInvoiceAgg;
-using CompanyManagment.App.Contracts.AdminMonthlyOverview;
-using CompanyManagment.App.Contracts.ContractingPartyBankAccounts;
-using CompanyManagment.App.Contracts.PaymentInstrument;
-using CompanyManagment.App.Contracts.PaymentTransaction;
-using CompanyManagment.App.Contracts.AuthorizedPerson;
-using Company.Domain.AuthorizedPersonAgg;
-using Company.Domain.EmployeeFaceEmbeddingAgg;
-using Company.Domain.InstitutionContractExtensionTempAgg;
-using Company.Domain.LawAgg;
-using CompanyManagement.Infrastructure.Mongo.EmployeeFaceEmbeddingRepo;
-using CompanyManagement.Infrastructure.Mongo.InstitutionContractInsertTempRepo;
-using CompanyManagment.App.Contracts.EmployeeFaceEmbedding;
-using CompanyManagment.App.Contracts.Law;
-using CompanyManagment.EFCore.Repository;
-using CompanyManagment.App.Contracts.FinancialInvoice;
-using _0_Framework.Application.FaceEmbedding;
-using _0_Framework.Infrastructure;
-using _0_Framework.InfraStructure;
-using Company.Domain._common;
-using CompanyManagment.EFCore._common;
+using Shared.Contracts.Holidays;
+using System;
+using CompanyManagment.EFCore.Services;
namespace PersonalContractingParty.Config;
@@ -242,6 +244,12 @@ public class PersonalBootstrapper
{
public static void Configure(IServiceCollection services, string connectionString)
{
+
+ #region Services
+
+ services.AddTransient();
+
+ #endregion
//----Task-Manager-Project---------------------------------
//services.AddTransient();
diff --git a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/DependencyInjection.cs b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/DependencyInjection.cs
index 5d73a0b3..ae816e1a 100644
--- a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/DependencyInjection.cs
+++ b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/DependencyInjection.cs
@@ -1,29 +1,31 @@
+using FluentValidation;
using GozareshgirProgramManager.Application._Common.Behaviors;
using GozareshgirProgramManager.Application._Common.Interfaces;
using GozareshgirProgramManager.Domain._Common;
+using GozareshgirProgramManager.Domain.CheckoutAgg.Repositories;
using GozareshgirProgramManager.Domain.CustomerAgg.Repositories;
using GozareshgirProgramManager.Domain.ProjectAgg.Repositories;
using GozareshgirProgramManager.Domain.RoleAgg.Repositories;
+using GozareshgirProgramManager.Domain.RoleAgg.Repositories;
using GozareshgirProgramManager.Domain.SalaryPaymentSettingAgg.Repositories;
+using GozareshgirProgramManager.Domain.SalaryPaymentSettingAgg.Repositories;
+using GozareshgirProgramManager.Domain.SkillAgg.Repositories;
using GozareshgirProgramManager.Domain.SkillAgg.Repositories;
using GozareshgirProgramManager.Domain.UserAgg.Repositories;
using GozareshgirProgramManager.Infrastructure.Persistence;
using GozareshgirProgramManager.Infrastructure.Persistence.Context;
using GozareshgirProgramManager.Infrastructure.Persistence.Repositories;
using GozareshgirProgramManager.Infrastructure.Services.Authentication;
+using GozareshgirProgramManager.Infrastructure.Services.Role;
using MediatR;
-using FluentValidation;
-using GozareshgirProgramManager.Domain.CheckoutAgg.Repositories;
-using GozareshgirProgramManager.Domain.RoleAgg.Repositories;
-using GozareshgirProgramManager.Domain.SalaryPaymentSettingAgg.Repositories;
-using GozareshgirProgramManager.Domain.SkillAgg.Repositories;
-
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Shared.Contracts.PmRole.Commands;
+using Shared.Contracts.PmRole.Queries;
namespace GozareshgirProgramManager.Infrastructure;
@@ -83,9 +85,17 @@ public static class DependencyInjection
// Authentication Services
services.AddScoped();
services.AddScoped();
-
-
-
+
+
+
+ #region ServicesInjection
+
+ services.AddTransient();
+
+ services.AddTransient();
+
+ #endregion
+
// MediatR Validation Behavior
services.AddTransient(typeof(IPipelineBehavior<,>), typeof(ValidationBehavior<,>));
diff --git a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/Role/PmRoleCommandService.cs b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/Role/PmRoleCommandService.cs
new file mode 100644
index 00000000..09d551f4
--- /dev/null
+++ b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/Role/PmRoleCommandService.cs
@@ -0,0 +1,28 @@
+using GozareshgirProgramManager.Application._Common.Models;
+using GozareshgirProgramManager.Application.Modules.Roles.Commands.CreateRole;
+using MediatR;
+using Shared.Contracts.PmRole.Commands;
+
+namespace GozareshgirProgramManager.Infrastructure.Services.Role;
+
+public class PmRoleCommandService: IPmRoleCommandService
+{
+ private readonly IMediator _mediator;
+
+ public PmRoleCommandService(IMediator mediator)
+ {
+ _mediator = mediator;
+ }
+
+
+
+ public async Task<(bool, string)> Create(CreatePmRoleDto command)
+ {
+ var request = new CreateRoleCommand
+ {
+ RoleName = command.RoleName, Permissions = command.Permissions, GozareshgirRoleId = command.GozareshgirRoleId
+ };
+ var res = await _mediator.Send(request);
+ return (res.IsSuccess, res.ErrorMessage);
+ }
+}
\ No newline at end of file
diff --git a/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/Role/PmRoleQueryService.cs b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/Role/PmRoleQueryService.cs
new file mode 100644
index 00000000..1f863f27
--- /dev/null
+++ b/ProgramManager/src/Infrastructure/GozareshgirProgramManager.Infrastructure/Services/Role/PmRoleQueryService.cs
@@ -0,0 +1,34 @@
+using GozareshgirProgramManager.Infrastructure.Persistence.Context;
+using Microsoft.EntityFrameworkCore;
+using Shared.Contracts.PmRole.Queries;
+
+namespace GozareshgirProgramManager.Infrastructure.Services.Role;
+
+public class PmRoleQueryService : IPmRoleQueryService
+{
+ private readonly ProgramManagerDbContext _programManagerDbContext;
+
+ public PmRoleQueryService(ProgramManagerDbContext programManagerDbContext)
+ {
+ _programManagerDbContext = programManagerDbContext;
+ }
+
+ public async Task> GetPmRoleList(long? gozareshgirRoleId)
+ {
+ var query = _programManagerDbContext.Roles.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.Permissions.Select(x => x.Code).ToList()
+
+ })
+ .ToListAsync();
+
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml b/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml
index 23e201b4..4819c826 100644
--- a/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml
+++ b/ServiceHost/Areas/Admin/Pages/Accounts/Account/Create.cshtml
@@ -142,7 +142,7 @@