Add insurance Job and workshop details

This commit is contained in:
2025-09-30 12:23:37 +03:30
parent 0e360836f7
commit 2d0365bc6e
10 changed files with 86 additions and 4 deletions

View File

@@ -25,5 +25,6 @@ public interface IInsuranceJobRepositpry:IRepository<long, InsuranceJob>
OperationResult EditInsuranceJob(EditInsuranceJob command);
Task<List<InsuranceJobSelectListViewModel>> GetSelectList();
}

View File

@@ -216,6 +216,12 @@ public interface IInstitutionContractApplication
Task<GetInstitutionVerificationDetailsViewModel> GetVerificationDetails(Guid id);
Task<OperationResult<OtpResultViewModel>> SendVerifyOtp(Guid id);
Task<OperationResult> VerifyOtp(Guid publicId, string code);
Task<InstitutionContractWorkshopDetailViewModel> GetWorkshopInitialDetails(long workshopDetailsId);
}
public class InstitutionContractWorkshopDetailViewModel
{
public WorkshopServicesViewModel ServicesViewModel { get; set; }
}
public class GetInstitutionVerificationDetailsViewModel

View File

@@ -21,4 +21,12 @@ public interface IInsuranceJobApplication
List<InsuranceJobViewModel> Search(InsuranceJobSearchModel searchModel);
OperationResult Remove(long id);
Task<List<InsuranceJobSelectListViewModel>> GetSelectList();
}
public class InsuranceJobSelectListViewModel
{
public long Id { get; set; }
public string InsuranceJobTitle { get; set; }
public string EconomicCode { get; set; }
}

View File

@@ -1187,6 +1187,27 @@ public class InstitutionContractApplication : IInstitutionContractApplication
return op.Succcedded();
}
public async Task<InstitutionContractWorkshopDetailViewModel> 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<OperationResult<PersonalContractingParty>> CreateLegalContractingPartyEntity(
CreateInstitutionContractLegalPartyRequest request, long representativeId)
{

View File

@@ -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<List<InsuranceJobSelectListViewModel>> GetSelectList()
{
return await _insuranceJobRepositpry.GetSelectList();
}
}

View File

@@ -1793,9 +1793,12 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
return await _context.InstitutionContractSet.FirstOrDefaultAsync(x => x.PublicId == id);
}
#endregion
#region CustomViewModels
public class WorkshopsAndEmployeeViewModel

View File

@@ -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<long, InsuranceJob>, IInsur
}
return result;
}
public async Task<List<InsuranceJobSelectListViewModel>> GetSelectList()
{
return await _context.InsuranceJobs.Select(x => new InsuranceJobSelectListViewModel()
{
EconomicCode = x.EconomicCode,
Id = x.id,
InsuranceJobTitle = x.InsuranceJobTitle
}).ToListAsync();
}
}

View File

@@ -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<ActionResult<List<InsuranceJobSelectListViewModel>>> GetInsuranceSelectList()
{
var res =await _insuranceJobApplication.GetSelectList();
return res;
}
}

View File

@@ -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<ActionResult<InstitutionContractWorkshopDetailViewModel>> GetWorkshopDetails(long workshopDetailsId)
{
var res =await _institutionContractApplication.GetWorkshopInitialDetails(workshopDetailsId);
return res;
}
[HttpPost("create-workshop")]
public async Task<ActionResult<OperationResult>> CreateWorkshop(
[FromBody]CreateWorkshopWorkflowRegistration command)

View File

@@ -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);