Files
Backend-Api/AccountMangement.Infrastructure.EFCore/Repository/AssignRepository.cs

37 lines
1.3 KiB
C#

using System.Collections.Generic;
using System.Linq;
using _0_Framework.InfraStructure;
using AccountManagement.Application.Contracts.Assign;
using AccountManagement.Domain.AssignAgg;
using AccountMangement.Infrastructure.EFCore;
namespace AccountMangement.Infrastructure.EFCore.Repository;
public class AssignRepository :RepositoryBase<long,Assign>,IAssignRepository
{
private readonly AccountContext _taskManagerContext;
public AssignRepository(AccountContext taskManagerContext) : base(taskManagerContext)
{
_taskManagerContext = taskManagerContext;
}
public List<AssignViewModel> GetAssignsByTaskId(long id)
{
return _taskManagerContext.Assigns.Where(x=>x.TaskId==id).Select(x => new AssignViewModel()
{
AssignedId = _taskManagerContext.Assigns.Where(e=>e.TaskId==id&&e.AssignerId==x.AssignerId).Select(a=>a.AssignedId).ToList(),
AssignerId = x.AssignerId,
AssignerPositionValue = x.AssignerPositionValue,
Id = x.id,
TaskId = x.TaskId,
AssignedName = x.AssignedName
}).ToList();
}
public void RemoveRangeAssigns( long taskId)
{
var assigns= _taskManagerContext.Assigns.Where(x => x.TaskId == taskId);
_taskManagerContext.RemoveRange(assigns);
_taskManagerContext.SaveChanges();
}
}