59 lines
2.1 KiB
C#
59 lines
2.1 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Threading.Tasks;
|
||
using _0_Framework.InfraStructure;
|
||
using Company.Domain.ClassificationSchemeAgg;
|
||
using CompanyManagment.App.Contracts.ClassificationScheme;
|
||
using Microsoft.EntityFrameworkCore;
|
||
|
||
namespace CompanyManagment.EFCore.Repository;
|
||
|
||
public class ClassificationGroupRepository : RepositoryBase<long, ClassificationGroup>, IClassificationGroupRepository
|
||
{
|
||
private readonly CompanyContext _context;
|
||
public ClassificationGroupRepository(CompanyContext context) : base(context)
|
||
{
|
||
_context = context;
|
||
}
|
||
|
||
/// <summary>
|
||
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
|
||
/// </summary>
|
||
/// <param name="schemeId"></param>
|
||
/// <returns></returns>
|
||
public async Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId)
|
||
{
|
||
return await _context.ClassificationGroups.Where(x => x.ClassificationSchemeId == schemeId)
|
||
.Include(x => x.ClassificationGroupJobs).Select(x => new ClassificationGroupAndJobModel
|
||
{
|
||
GroupId = x.id,
|
||
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();
|
||
}
|
||
|
||
/// <summary>
|
||
/// ایجاد گروه های بیست گانه
|
||
/// </summary>
|
||
/// <param name="groupList"></param>
|
||
/// <returns></returns>
|
||
public async Task CreateGroups(List<ClassificationGroup> groupList)
|
||
{
|
||
await _context.AddRangeAsync(groupList);
|
||
await _context.SaveChangesAsync();
|
||
}
|
||
} |