You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

123 lines
4.0 KiB

using Shentun.Utilities;
using Shentun.WebPeis.Models;
using Shentun.WebPeis.Questions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
namespace Shentun.WebPeis.DiseaseRisks
{
public class DiseaseRiskManager
{
private readonly IRepository<DiseaseRisk> _diseaseRiskRepository;
public DiseaseRiskManager(
IRepository<DiseaseRisk> diseaseRiskRepository
)
{
_diseaseRiskRepository = diseaseRiskRepository;
}
/// <summary>
/// 创建
/// </summary>
/// <returns></returns>
public async Task<DiseaseRisk> CreateAsync(DiseaseRisk entity)
{
DataHelper.CheckEntityIsNull(entity);
//DataHelper.CheckStringIsNull(entity.QuestionTypeName, "名称");
return new DiseaseRisk
{
DiseaseRiskId = entity.DiseaseRiskId,
DiseaseRiskName = entity.DiseaseRiskName,
SimpleCode = LanguageConverter.GetPYSimpleCode(entity.DiseaseRiskName),
DisplayOrder = await EntityHelper.CreateMaxDisplayOrder<DiseaseRisk>(_diseaseRiskRepository)
};
}
/// <summary>
/// 更新
/// </summary>
/// <param name="sourceEntity"></param>
/// <param name="targetEntity"></param>
/// <returns></returns>
public void UpdateAsync(
DiseaseRisk sourceEntity,
DiseaseRisk targetEntity
)
{
DataHelper.CheckEntityIsNull(sourceEntity);
DataHelper.CheckEntityIsNull(targetEntity);
//DataHelper.CheckStringIsNull(sourceEntity.QuestionTypeName, "名称");
targetEntity.DiseaseRiskName = sourceEntity.DiseaseRiskName;
targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(sourceEntity.DiseaseRiskName);
}
/// <summary>
/// 删除
/// </summary>
/// <param name="DiseaseRiskId"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteAsync(Guid DiseaseRiskId)
{
//var questionEnt = await _questionRepository.FirstOrDefaultAsync(m => m.QuestionTypeId == QuestionTypeId);
//if (questionEnt != null)
//{
// throw new UserFriendlyException($"问卷类别已被使用,不能删除");
//}
await _diseaseRiskRepository.DeleteAsync(d => d.DiseaseRiskId == DiseaseRiskId);
}
/// <summary>
/// 修改排序 置顶,置底
/// </summary>
/// <param name="id">需要修改的ID</param>
/// <param name="SortType">修改方式:1 置顶 2 置底</param>
/// <returns></returns>
public async Task UpdateSortTopOrBottomAsync(Guid DiseaseRiskId, int SortType)
{
var entity = await _diseaseRiskRepository.GetAsync(f => f.DiseaseRiskId == DiseaseRiskId);
await EntityHelper.UpdateSortTopOrBottomAsync(_diseaseRiskRepository, entity, SortType);
}
/// <summary>
/// 修改排序 拖拽
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <param name="repository"></param>
/// <param name="input"></param>
/// <returns></returns>
public async Task UpdateSortDragAsync(UpdateDiseaseRiskSortDragDto input)
{
var entitylist = await _diseaseRiskRepository.GetListAsync(o => input.ItemList.Select(s => s.DiseaseRiskId).Contains(o.DiseaseRiskId));
foreach (var entity in entitylist)
{
foreach (var item in input.ItemList)
{
if (item.DiseaseRiskId == entity.DiseaseRiskId)
entity.DisplayOrder = item.DisplayOrder;
}
}
await _diseaseRiskRepository.UpdateManyAsync(entitylist);
}
}
}