diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml
index 85bed152..507e4b50 100644
--- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml
+++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml
@@ -136,6 +136,9 @@
قرارداد های مالی
+
+
+
@@ -192,6 +195,7 @@
}
diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs
index 36f95859..563f3f99 100644
--- a/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs
+++ b/ServiceHost/Areas/AdminNew/Pages/Company/WorkFlow/Index.cshtml.cs
@@ -1,5 +1,6 @@
using _0_Framework.Application;
using Company.Domain.WorkshopAccountAgg;
+using CompanyManagment.App.Contracts.InstitutionContract;
using CompanyManagment.App.Contracts.RollCallService;
using CompanyManagment.App.Contracts.Workshop;
using Microsoft.AspNetCore.Mvc;
@@ -18,13 +19,15 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.WorkFlow
private readonly IAuthHelper _authHelper;
private readonly IWorkshopAccountRepository _workshopAccountRepository;
public int EmployeeDocumentsAwaitingSubmitCount;
+ private readonly IInstitutionContractApplication _institutionContractApplication;
private readonly long _roleId;
- public IndexModel(IAdminWorkFlowApplication adminWorkFlowApplication, IAuthHelper authHelper, IWorkshopAccountRepository workshopAccountRepository)
+ public IndexModel(IAdminWorkFlowApplication adminWorkFlowApplication, IAuthHelper authHelper, IWorkshopAccountRepository workshopAccountRepository, IInstitutionContractApplication institutionContractApplication)
{
_adminWorkFlowApplication = adminWorkFlowApplication;
_authHelper = authHelper;
_workshopAccountRepository = workshopAccountRepository;
+ _institutionContractApplication = institutionContractApplication;
_roleId = authHelper.CurrentAccountInfo().RoleId;
}
@@ -49,5 +52,27 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.WorkFlow
dataLeftWorkCount = resultLeftWorkCount,
});
}
+
+ public async Task OnGetInstitutionContractCount()
+ {
+ try
+ {
+ var institutionContractCount = (await _institutionContractApplication.RegistrationWorkflowMainList()).Count;
+
+ return new JsonResult(new
+ {
+ success = true,
+ dataInstitutionContractCount = institutionContractCount
+ });
+ }
+ catch (Exception ex)
+ {
+ return new JsonResult(new
+ {
+ success = false,
+ message = ex.Message
+ });
+ }
+ }
}
}
diff --git a/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs
index 7939e132..6038fd16 100644
--- a/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs
+++ b/ServiceHost/Areas/AdminNew/Pages/Index.cshtml.cs
@@ -99,7 +99,9 @@ namespace ServiceHost.Areas.AdminNew.Pages
{
var currentAccountId = _authHelper.CurrentAccountId();
var accountWorkshops = _workshopAccountRepository.GetList(currentAccountId).Select(x => x.WorkshopId).ToList();
- int workFlowCount = await _adminWorkFlowApplication.GetWorkFlowCountsForAdmin(accountWorkshops,currentAccountId, _roleId);
+ var permissions = _authHelper.GetPermissions();
+
+ int workFlowCount = await _adminWorkFlowApplication.GetWorkFlowCountsForAdmin(accountWorkshops,currentAccountId, _roleId,permissions);
return new JsonResult(new
diff --git a/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs b/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs
index 2100f396..7852dad8 100644
--- a/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs
+++ b/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs
@@ -67,7 +67,7 @@ public interface IAdminWorkFlowApplication
#endregion
Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds, long roleId);
- Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId, long roleId);
+ Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId, long roleId, List permissions);
Task GetWorkFlowCountForChecker();
@@ -93,7 +93,7 @@ public interface IAdminWorkFlowApplication
#endregion
-
+ Task GetInstitutionContractWorkflowCount();
}
///
diff --git a/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs b/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs
index 088551fc..1f37aaf9 100644
--- a/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs
+++ b/WorkFlow/Application/WorkFlow.Application/AdminWorkFlowApplication.cs
@@ -3,6 +3,7 @@ using CompanyManagment.App.Contracts.Employee;
using WorkFlow.Application.Contracts.AdminWorkFlow;
using WorkFlow.Infrastructure.ACL.Employee;
using WorkFlow.Infrastructure.ACL.EmployeeDocuments;
+using WorkFlow.Infrastructure.ACL.InstitutionContract;
using WorkFlow.Infrastructure.ACL.Workshop;
namespace WorkFlow.Application
@@ -12,65 +13,76 @@ namespace WorkFlow.Application
private readonly IWorkFlowEmployeeDocumentsACL _workFlowEmployeeDocumentsACL;
private readonly IWorkFlowWorkshopACL _workFlowWorkshopACL;
private readonly IWorkFlowEmployeeACL _workFlowEmployeeACL;
+ private readonly IWorkFlowInstitutionContractACL _workFlowInstitutionContractACL;
- public AdminWorkFlowApplication(IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL, IWorkFlowWorkshopACL workFlowWorkshopACL, IWorkFlowEmployeeACL workFlowEmployeeACL)
+ public AdminWorkFlowApplication(IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL,
+ IWorkFlowWorkshopACL workFlowWorkshopACL, IWorkFlowEmployeeACL workFlowEmployeeACL,
+ IWorkFlowInstitutionContractACL workFlowInstitutionContractACL)
{
_workFlowEmployeeDocumentsACL = workFlowEmployeeDocumentsACL;
_workFlowWorkshopACL = workFlowWorkshopACL;
_workFlowEmployeeACL = workFlowEmployeeACL;
+ _workFlowInstitutionContractACL = workFlowInstitutionContractACL;
}
#region Pooya
- public List GetWorkshopDocumentsAwaitingReviewForChecker(List workshops)
+ public List GetWorkshopDocumentsAwaitingReviewForChecker(
+ List workshops)
{
return _workFlowEmployeeDocumentsACL.GetWorkshopDocumentsAwaitingReviewForChecker(workshops);
}
-
- public async Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds,long roleId)
+ public async Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds, long roleId)
{
var count = 0;
- count += await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentRejectedForAdmin(workshopIds,roleId);
+ count += await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentRejectedForAdmin(workshopIds, roleId);
- count+= await _workFlowEmployeeDocumentsACL.GetCreatedEmployeesWorkshopDocumentForAdmin(workshopIds,roleId);
+ count += await _workFlowEmployeeDocumentsACL.GetCreatedEmployeesWorkshopDocumentForAdmin(workshopIds,
+ roleId);
//count+= await _workFlowEmployeeDocumentsACL.GetClientRejectedDocumentWorkshopsForAdmin(workshopIds, roleId);
return count;
}
- public async Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId,long roleId)
+ public async Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId, long roleId,
+ List permissions)
{
var employeeDocumentWorkFlowCounts = await GetEmployeeDocumentWorkFlowCountsForAdmin(workshopIds, roleId);
var startWork = await GetWorkshopsForEmployeeStartWorkCount(accountId);
var leftWork = await GetWorkshopsForLeftWorkTempCount(accountId);
+ int institutionContract = 0;
+ if (permissions.Any(x => x == 1004))
+ {
+ institutionContract = await GetInstitutionContractWorkflowCount();
+ }
- return employeeDocumentWorkFlowCounts + startWork + leftWork;
+ return employeeDocumentWorkFlowCounts + startWork + leftWork +institutionContract;
}
public async Task GetWorkFlowCountForChecker()
{
return await _workFlowEmployeeDocumentsACL.GetCheckerWorkFlowCount();
-
}
-
- public List GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List workshops)
+ public List GetWorkshopsWithDocumentsAwaitingUploadForAdmin(
+ List workshops)
{
return _workFlowEmployeeDocumentsACL.GetWorkshopsWithDocumentsAwaitingUploadForAdmin(workshops);
}
-
#endregion
#region Mahan
#region شروع به کار پرسنل افزوده شده
- public async Task> GetWorkshopsForEmployeeStartWork(long accountId)
+
+ public async Task> GetWorkshopsForEmployeeStartWork(
+ long accountId)
{
return await _workFlowWorkshopACL.GetWorkshopsForEmployeeStartWork(accountId);
}
@@ -81,14 +93,14 @@ namespace WorkFlow.Application
}
-
-
- public async Task> GetClientEmployeesStartWork(long workshopId)
+ public async Task> GetClientEmployeesStartWork(
+ long workshopId)
{
return await _workFlowEmployeeACL.GetClientEmployeesStartWork(workshopId);
}
- public async Task GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, long workshopId)
+ public async Task GetEmployeeEditInEmployeeDocumentWorkFlow(
+ long employeeId, long workshopId)
{
return await _workFlowEmployeeACL.GetEmployeeEditInEmployeeDocumentWorkFlow(employeeId, workshopId);
}
@@ -103,16 +115,24 @@ namespace WorkFlow.Application
#region ترک کار موقت
- public async Task> GetWorkshopsForLeftWorkTemp(long accountId)
+ public async Task> GetWorkshopsForLeftWorkTemp(
+ long accountId)
{
return await _workFlowWorkshopACL.GetWorkshopsForLeftWorkTemp(accountId);
}
+
public async Task GetWorkshopsForLeftWorkTempCount(long accountId)
{
return await _workFlowWorkshopACL.GetWorkshopsForLeftWorkTempCount(accountId);
}
- public async Task> GetEmployeesForLeftWorkTemp(long workshopId)
+ public async Task GetInstitutionContractWorkflowCount()
+ {
+ return await _workFlowInstitutionContractACL.GetInstitutionContractWorkflowCount();
+ }
+
+ public async Task> GetEmployeesForLeftWorkTemp(
+ long workshopId)
{
return await _workFlowEmployeeACL.GetEmployeesForLeftWorkTemp(workshopId);
}
@@ -121,7 +141,8 @@ namespace WorkFlow.Application
#region آپلود مدارک پرسنل
- public async Task> GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId)
+ public async Task>
+ GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId)
{
return await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentCreatedEmployeeForAdmin(workshops, roleId);
}
@@ -130,6 +151,4 @@ namespace WorkFlow.Application
#endregion
}
-
-
-}
+}
\ No newline at end of file
diff --git a/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/Employee/IWorkFlowEmployeeACL.cs b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/Employee/IWorkFlowEmployeeACL.cs
index 1d6f702f..8bee0968 100644
--- a/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/Employee/IWorkFlowEmployeeACL.cs
+++ b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/Employee/IWorkFlowEmployeeACL.cs
@@ -58,4 +58,5 @@ public class WorkFlowEmployeeACL : IWorkFlowEmployeeACL
{
return await _employeeApplication.EditEmployeeInEmployeeDocumentWorkFlow(command);
}
+
}
\ No newline at end of file
diff --git a/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/InstitutionContract/IWorkFlowInstitutionContractACL.cs b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/InstitutionContract/IWorkFlowInstitutionContractACL.cs
new file mode 100644
index 00000000..4bce1846
--- /dev/null
+++ b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.ACL/InstitutionContract/IWorkFlowInstitutionContractACL.cs
@@ -0,0 +1,23 @@
+using CompanyManagment.App.Contracts.InstitutionContract;
+
+namespace WorkFlow.Infrastructure.ACL.InstitutionContract;
+
+public interface IWorkFlowInstitutionContractACL
+{
+ Task GetInstitutionContractWorkflowCount();
+}
+
+public class WorkFlowInstitutionContractACL : IWorkFlowInstitutionContractACL
+{
+ private readonly IInstitutionContractApplication _institutionContractApplication;
+ public WorkFlowInstitutionContractACL(IInstitutionContractApplication institutionContractApplication)
+ {
+ _institutionContractApplication = institutionContractApplication;
+ }
+
+ public async Task GetInstitutionContractWorkflowCount()
+ {
+ var list = await _institutionContractApplication.RegistrationWorkflowMainList();
+ return list.Count;
+ }
+}
diff --git a/WorkFlow/Infrastructure/WorkFlow.Infrastructure.Config/WorkFlowBootstrapper.cs b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.Config/WorkFlowBootstrapper.cs
index 04da26d7..4f95dac8 100644
--- a/WorkFlow/Infrastructure/WorkFlow.Infrastructure.Config/WorkFlowBootstrapper.cs
+++ b/WorkFlow/Infrastructure/WorkFlow.Infrastructure.Config/WorkFlowBootstrapper.cs
@@ -9,6 +9,7 @@ using WorkFlow.Infrastructure.ACL.Checkout;
using WorkFlow.Infrastructure.ACL.CustomizedWorkshopSettings;
using WorkFlow.Infrastructure.ACL.Employee;
using WorkFlow.Infrastructure.ACL.EmployeeDocuments;
+using WorkFlow.Infrastructure.ACL.InstitutionContract;
using WorkFlow.Infrastructure.ACL.RollCall;
using WorkFlow.Infrastructure.ACL.Workshop;
using WorkFlow.Infrastructure.EfCore;
@@ -33,8 +34,7 @@ namespace WorkFlow.Infrastructure.Config
services.AddTransient();
services.AddTransient();
services.AddTransient();
-
-
+ services.AddTransient();
services.AddTransient();