diff --git a/Company.Domain/ClassificationSchemeAgg/IClassificationGroupRepository.cs b/Company.Domain/ClassificationSchemeAgg/IClassificationGroupRepository.cs index c68e31f4..ffbe0e32 100644 --- a/Company.Domain/ClassificationSchemeAgg/IClassificationGroupRepository.cs +++ b/Company.Domain/ClassificationSchemeAgg/IClassificationGroupRepository.cs @@ -7,7 +7,12 @@ namespace Company.Domain.ClassificationSchemeAgg; public interface IClassificationGroupRepository : IRepository { - Task GetGroups(long schemeId); + /// + /// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل + /// + /// + /// + Task> GetGroupAndJobs(long schemeId); /// /// ایجاد گروه های بیست گانه diff --git a/Company.Domain/ClassificationSchemeAgg/IClassificationSchemeRepository.cs b/Company.Domain/ClassificationSchemeAgg/IClassificationSchemeRepository.cs index 5862352d..0b996745 100644 --- a/Company.Domain/ClassificationSchemeAgg/IClassificationSchemeRepository.cs +++ b/Company.Domain/ClassificationSchemeAgg/IClassificationSchemeRepository.cs @@ -1,6 +1,7 @@ using _0_Framework.Application; using _0_Framework.Domain; using CompanyManagment.App.Contracts.ClassificationScheme; +using System.Collections.Generic; using System.Threading.Tasks; namespace Company.Domain.ClassificationSchemeAgg; @@ -23,4 +24,5 @@ public interface IClassificationSchemeRepository : IRepository GetClassificationScheme(long id); + } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/ClassificationScheme/ClassificationGroupAndJobModel.cs b/CompanyManagment.App.Contracts/ClassificationScheme/ClassificationGroupAndJobModel.cs index f96bad66..7a2a0aa0 100644 --- a/CompanyManagment.App.Contracts/ClassificationScheme/ClassificationGroupAndJobModel.cs +++ b/CompanyManagment.App.Contracts/ClassificationScheme/ClassificationGroupAndJobModel.cs @@ -7,11 +7,19 @@ namespace CompanyManagment.App.Contracts.ClassificationScheme; /// public class ClassificationGroupAndJobModel { + + /// /// شماره گروه + /// استرینگ /// public string GroupNo { get; set; } + /// + /// شماره گروه نوع عددی + /// + public int GroupNoInt { get; set; } + /// /// آی دی کارگاه /// @@ -24,7 +32,7 @@ public class ClassificationGroupAndJobModel /// /// لیست مشاغل /// - public List CreateClassificationGroupJobs { get; set; } + public List EditClassificationGroupJob { get; set; } } /// @@ -56,4 +64,15 @@ public class CreateClassificationGroupJob /// شماره گروه /// public string GroupNo { get; set; } +} + +/// +/// ویرایش مشاغل گروه +/// +public class EditClassificationGroupJob : CreateClassificationGroupJob +{ + /// + /// ای دی شغل + /// + public long Id { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/ClassificationScheme/IClassificationSchemeApplication.cs b/CompanyManagment.App.Contracts/ClassificationScheme/IClassificationSchemeApplication.cs index 2454a813..e0415eba 100644 --- a/CompanyManagment.App.Contracts/ClassificationScheme/IClassificationSchemeApplication.cs +++ b/CompanyManagment.App.Contracts/ClassificationScheme/IClassificationSchemeApplication.cs @@ -1,5 +1,6 @@ using _0_Framework.Application; using CompanyManagment.App.Contracts.TemporaryClientRegistration; +using System.Collections.Generic; using System.Threading.Tasks; namespace CompanyManagment.App.Contracts.ClassificationScheme; @@ -36,7 +37,17 @@ public interface IClassificationSchemeApplication /// /// Task EditClassificationScheme(EditClassificationScheme command); - + + + + /// + /// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل + /// + /// + /// + Task> GetGroupAndJobs(long schemeId); + + /// /// ایجاد مشاغل گروه /// diff --git a/CompanyManagment.Application/ClassificationSchemeApplication.cs b/CompanyManagment.Application/ClassificationSchemeApplication.cs index cfef7cc2..64f5f27e 100644 --- a/CompanyManagment.Application/ClassificationSchemeApplication.cs +++ b/CompanyManagment.Application/ClassificationSchemeApplication.cs @@ -110,6 +110,11 @@ public class ClassificationSchemeApplication : IClassificationSchemeApplication return op.Succcedded(); } + public async Task> GetGroupAndJobs(long schemeId) + { + return await _classificationGroupRepository.GetGroupAndJobs(schemeId); + } + public Task CreateGroupJobs(ClassificationGroupAndJobModel command) { throw new System.NotImplementedException(); diff --git a/CompanyManagment.EFCore/Repository/ClassificationGroupRepository.cs b/CompanyManagment.EFCore/Repository/ClassificationGroupRepository.cs index 3fdfa565..90e93376 100644 --- a/CompanyManagment.EFCore/Repository/ClassificationGroupRepository.cs +++ b/CompanyManagment.EFCore/Repository/ClassificationGroupRepository.cs @@ -1,4 +1,6 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using _0_Framework.InfraStructure; using Company.Domain.ClassificationSchemeAgg; @@ -15,9 +17,32 @@ public class ClassificationGroupRepository : RepositoryBase GetGroups(long schemeId) + /// + /// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل + /// + /// + /// + public async Task> GetGroupAndJobs(long schemeId) { - throw new System.NotImplementedException(); + return await _context.ClassificationGroups.Where(x => x.ClassificationSchemeId == schemeId) + .Include(x => x.ClassificationGroupJobs).Select(x => new ClassificationGroupAndJobModel + { + GroupNo = x.GroupNo, + GroupNoInt = Convert.ToInt32(x.GroupNo), + WorkshopId = x.WorkshopId, + ClassificationSchemeId = x.ClassificationSchemeId, + EditClassificationGroupJob = x.ClassificationGroupJobs.Select(jobs => new EditClassificationGroupJob() + { + Id = jobs.id, + JobId = jobs.JobId, + JobName = jobs.JobName, + JobCode = jobs.JobCode, + ClassificationGroupId = jobs.ClassificationGroupId, + GroupNo = jobs.GroupNo, + + }).ToList(), + + }).OrderBy(x=>x.GroupNoInt).ToListAsync(); } /// diff --git a/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs b/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs index ba0ee0ed..64944f07 100644 --- a/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs +++ b/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs @@ -1,4 +1,6 @@ -using System.Linq; +using System; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using _0_Framework.Application; using _0_Framework.InfraStructure; @@ -76,8 +78,5 @@ public class ClassificationSchemeRepository :RepositoryBase x.Id == id); } - public Task CreateClassificationScheme(CreateClassificationScheme command) - { - throw new System.NotImplementedException(); - } + } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml index 0bb085c2..63a85da4 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml @@ -43,7 +43,7 @@ لیست طرح -
  • +
  • public long WorkshopId { get; set; } + /// + /// آیا طرح ایجاد شده + /// public bool HasScheme { get; set; } + + /// + /// آی دی طرح + /// + public long SchemeId { get; set; } public void OnGet(long workshopId) { WorkshopId = workshopId; var scheme = _classificationSchemeApplication.ClassificationSchemePartialModel(workshopId).GetAwaiter().GetResult(); HasScheme = scheme.HasScheme; + SchemeId = scheme.HasScheme ? scheme.ClassificationSchemesList.FirstOrDefault()!.Id : 0; } /// @@ -39,6 +48,7 @@ public class ClassificationSchemeModel : PageModel //دریافت طرح var scheme = _classificationSchemeApplication.ClassificationSchemePartialModel(workshopId).GetAwaiter().GetResult(); scheme.WorkshopId = workshopId; + return Partial("_ClassificationPartials/ClassificationSchemeTab", scheme); } @@ -84,9 +94,16 @@ public class ClassificationSchemeModel : PageModel var result = _classificationSchemeApplication.EditClassificationScheme(command).GetAwaiter().GetResult(); return new JsonResult(result); } - public IActionResult OnGetCreateJobs() + + /// + /// تب تعیین مشاغل گروه + /// + /// + /// + public IActionResult OnGetGroupJobsTab(long schemeId) { - return Partial("_ClassificationPartials/CreateClassificationGroupJobs"); + var groupAndJobs = _classificationSchemeApplication.GetGroupAndJobs(schemeId).GetAwaiter().GetResult(); + return Partial("_ClassificationPartials/ClassificationGroupJobsTab", groupAndJobs); } public IActionResult OnGetCreateSalaries() diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/_ClassificationPartials/ClassificationGroupJobsTab.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Workshops/_ClassificationPartials/ClassificationGroupJobsTab.cshtml new file mode 100644 index 00000000..48ea5241 --- /dev/null +++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/_ClassificationPartials/ClassificationGroupJobsTab.cshtml @@ -0,0 +1,12 @@ +@model List +@{ +} +
    + + @foreach (var item in Model) + { +
    @item.GroupNo
    + + } +
    + diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/_ClassificationPartials/CreateClassificationGroupJobs.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Workshops/_ClassificationPartials/CreateClassificationGroupJobs.cshtml deleted file mode 100644 index 90cd8816..00000000 --- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/_ClassificationPartials/CreateClassificationGroupJobs.cshtml +++ /dev/null @@ -1,8 +0,0 @@ -@* - For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 -*@ -@{ -} -
    - -
    \ No newline at end of file