diff --git a/Company.Domain/InsurancJobAgg/IInsuranceJobRepositpry.cs b/Company.Domain/InsurancJobAgg/IInsuranceJobRepositpry.cs index 27a906a7..fc889ab0 100644 --- a/Company.Domain/InsurancJobAgg/IInsuranceJobRepositpry.cs +++ b/Company.Domain/InsurancJobAgg/IInsuranceJobRepositpry.cs @@ -25,5 +25,6 @@ public interface IInsuranceJobRepositpry:IRepository OperationResult EditInsuranceJob(EditInsuranceJob command); + Task> GetSelectList(); } diff --git a/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs b/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs index 634fc62c..aa4d4df8 100644 --- a/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs +++ b/CompanyManagment.App.Contracts/InstitutionContract/IInstitutionContractApplication.cs @@ -216,6 +216,12 @@ public interface IInstitutionContractApplication Task GetVerificationDetails(Guid id); Task> SendVerifyOtp(Guid id); Task VerifyOtp(Guid publicId, string code); + Task GetWorkshopInitialDetails(long workshopDetailsId); +} + +public class InstitutionContractWorkshopDetailViewModel +{ + public WorkshopServicesViewModel ServicesViewModel { get; set; } } public class GetInstitutionVerificationDetailsViewModel diff --git a/CompanyManagment.App.Contracts/InsuranceJob/IInsuranceJobApplication.cs b/CompanyManagment.App.Contracts/InsuranceJob/IInsuranceJobApplication.cs index 5f1132d7..e1934372 100644 --- a/CompanyManagment.App.Contracts/InsuranceJob/IInsuranceJobApplication.cs +++ b/CompanyManagment.App.Contracts/InsuranceJob/IInsuranceJobApplication.cs @@ -21,4 +21,12 @@ public interface IInsuranceJobApplication List Search(InsuranceJobSearchModel searchModel); OperationResult Remove(long id); + Task> GetSelectList(); +} + +public class InsuranceJobSelectListViewModel +{ + public long Id { get; set; } + public string InsuranceJobTitle { get; set; } + public string EconomicCode { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs index 1da3a645..47ffa5ac 100644 --- a/CompanyManagment.Application/InstitutionContractApplication.cs +++ b/CompanyManagment.Application/InstitutionContractApplication.cs @@ -1187,6 +1187,27 @@ public class InstitutionContractApplication : IInstitutionContractApplication return op.Succcedded(); } + public async Task GetWorkshopInitialDetails(long workshopDetailsId) + { + var details =await _institutionContractRepository.GetInstitutionWorkshopInitialDetails(workshopDetailsId); + var services = details.Services; + + var res = new InstitutionContractWorkshopDetailViewModel() + { + ServicesViewModel = new WorkshopServicesViewModel() + { + Contract = services.Contract, + ContractInPerson = services.ContractInPerson, + CustomizeCheckout = services.CustomizeCheckout, + Insurance = services.Insurance, + InsuranceInPerson = services.InsuranceInPerson, + RollCall = services.RollCall, + RollCallInPerson = services.RollCallInPerson + } + }; + return res; + } + private async Task> CreateLegalContractingPartyEntity( CreateInstitutionContractLegalPartyRequest request, long representativeId) { diff --git a/CompanyManagment.Application/InsuranceJobApplication.cs b/CompanyManagment.Application/InsuranceJobApplication.cs index 6bbbbadb..8bd08474 100644 --- a/CompanyManagment.Application/InsuranceJobApplication.cs +++ b/CompanyManagment.Application/InsuranceJobApplication.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading.Tasks; using _0_Framework.Application; using Company.Domain.InsuranceJobItemAgg; using Company.Domain.InsurancJobAgg; @@ -155,4 +156,9 @@ public class InsuranceJobApplication: IInsuranceJobApplication { return _insuranceJobRepositpry.Remove(id); } + + public async Task> GetSelectList() + { + return await _insuranceJobRepositpry.GetSelectList(); + } } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index ecda6d58..16291319 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -1793,9 +1793,12 @@ public class InstitutionContractRepository : RepositoryBase x.PublicId == id); } + + #endregion + #region CustomViewModels public class WorkshopsAndEmployeeViewModel diff --git a/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs b/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs index d9834a1f..ea32c588 100644 --- a/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs +++ b/CompanyManagment.EFCore/Repository/InsuranceJobRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; using _0_Framework.Application; using _0_Framework.InfraStructure; using Company.Domain.DateSalaryAgg; @@ -568,4 +569,14 @@ public class InsuranceJobRepository : RepositoryBase, IInsur } return result; } + + public async Task> GetSelectList() + { + return await _context.InsuranceJobs.Select(x => new InsuranceJobSelectListViewModel() + { + EconomicCode = x.EconomicCode, + Id = x.id, + InsuranceJobTitle = x.InsuranceJobTitle + }).ToListAsync(); + } } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Controllers/InsuranceJobsController.cs b/ServiceHost/Areas/Admin/Controllers/InsuranceJobsController.cs new file mode 100644 index 00000000..3393cd1c --- /dev/null +++ b/ServiceHost/Areas/Admin/Controllers/InsuranceJobsController.cs @@ -0,0 +1,21 @@ +using CompanyManagment.App.Contracts.InsuranceJob; +using Microsoft.AspNetCore.Mvc; +using ServiceHost.BaseControllers; + +namespace ServiceHost.Areas.Admin.Controllers; + +public class InsuranceJobsController:AdminBaseController +{ + private readonly IInsuranceJobApplication _insuranceJobApplication; + + public InsuranceJobsController(IInsuranceJobApplication insuranceJobApplication) + { + _insuranceJobApplication = insuranceJobApplication; + } + + public async Task>> GetInsuranceSelectList() + { + var res =await _insuranceJobApplication.GetSelectList(); + return res; + } +} \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Controllers/RegistrationWorkflowController.cs b/ServiceHost/Areas/Admin/Controllers/RegistrationWorkflowController.cs index f6bdfe49..21d2b4b0 100644 --- a/ServiceHost/Areas/Admin/Controllers/RegistrationWorkflowController.cs +++ b/ServiceHost/Areas/Admin/Controllers/RegistrationWorkflowController.cs @@ -1,4 +1,5 @@ using _0_Framework.Application; +using Company.Domain.InstitutionContractAgg; using CompanyManagment.App.Contracts.AdminMonthlyOverview; using CompanyManagment.App.Contracts.Employer; using CompanyManagment.App.Contracts.InstitutionContract; @@ -51,6 +52,13 @@ namespace ServiceHost.Areas.Admin.Controllers return result; } + [HttpGet("create-workshop")] + public async Task> GetWorkshopDetails(long workshopDetailsId) + { + var res =await _institutionContractApplication.GetWorkshopInitialDetails(workshopDetailsId); + return res; + } + [HttpPost("create-workshop")] public async Task> CreateWorkshop( [FromBody]CreateWorkshopWorkflowRegistration command) diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml.cs index fe05abd9..67227824 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/EditWorkshop.cshtml.cs @@ -82,10 +82,7 @@ namespace ServiceHost.Areas.Admin.Pages.Company.Workshops workshop.JuniorContractAccountsList = adminAccounts.Where(x => x.RoleId == 5).ToList(); workshop.SeniorInsuranceAccountList = adminAccounts.Where(x => x.RoleId == 7).ToList(); workshop.JuniorInsuranceAccountsList = adminAccounts.Where(x => x.RoleId == 8).ToList(); - - - - + workshop.EmployerIdList = _workshopRepository.GetRelation(id); workshop.AccountIdsList = _workshopRepository.GetWorkshopAccountRelation(id);