using Microsoft.Extensions.Configuration.UserSecrets; using NPOI.SS.Formula.Functions; using Shentun.Utilities; using Shentun.WebPeis.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp.Domain.Entities; using Volo.Abp; using Volo.Abp.Domain.Repositories; using NPOI.POIFS.FileSystem; using Volo.Abp.Domain.Services; namespace Shentun.WebPeis.AppointScheduleTemplates { public class AppointScheduleTemplateManager : DomainService { private readonly IRepository _appointScheduleTemplateRepository; public AppointScheduleTemplateManager( IRepository appointScheduleTemplateRepository ) { _appointScheduleTemplateRepository = appointScheduleTemplateRepository; } /// /// 创建 /// /// /// public async Task CreateAsync( AppointScheduleTemplate entity ) { DataHelper.CheckEntityIsNull(entity); var isWeekId = await _appointScheduleTemplateRepository.FirstOrDefaultAsync(f => f.MedicalCenterId == entity.MedicalCenterId && f.WeekId == entity.WeekId && f.MedicalCenterId == entity.MedicalCenterId); if (isWeekId != null) throw new UserFriendlyException($"WeekId数据已存在,不能重复"); return new AppointScheduleTemplate { AppointScheduleTemplateId = entity.AppointScheduleTemplateId, DisplayOrder = entity.DisplayOrder, MedicalCenterId = entity.MedicalCenterId, IsWork = entity.IsWork, SingleNumberLimit = entity.SingleNumberLimit, WeekId = entity.WeekId }; } /// /// 更新 /// /// /// /// public async Task UpdateAsync( AppointScheduleTemplate sourceEntity, AppointScheduleTemplate targetEntity ) { DataHelper.CheckEntityIsNull(sourceEntity); DataHelper.CheckEntityIsNull(targetEntity); var isWeekId = await _appointScheduleTemplateRepository.FirstOrDefaultAsync(f => f.MedicalCenterId == sourceEntity.MedicalCenterId && f.WeekId == sourceEntity.WeekId && f.AppointScheduleTemplateId != targetEntity.AppointScheduleTemplateId); if (isWeekId != null) throw new UserFriendlyException($"WeekId数据已存在,不能重复"); targetEntity.AppointScheduleTemplateId = sourceEntity.AppointScheduleTemplateId; targetEntity.DisplayOrder = sourceEntity.DisplayOrder; targetEntity.MedicalCenterId = sourceEntity.MedicalCenterId; targetEntity.IsWork = sourceEntity.IsWork; targetEntity.SingleNumberLimit = sourceEntity.SingleNumberLimit; targetEntity.WeekId = sourceEntity.WeekId; } /// /// 删除 /// /// /// /// public async Task CheckAndDeleteAsync(Guid appointScheduleTemplateId) { await _appointScheduleTemplateRepository.DeleteAsync(d => d.AppointScheduleTemplateId == appointScheduleTemplateId); } /// /// 修改排序 置顶,置底 /// /// 需要修改的ID /// 修改方式:1 置顶 2 置底 /// public async Task UpdateManySortAsync(Guid appointScheduleTemplateId, int SortType) { var entity = await _appointScheduleTemplateRepository.GetAsync(f => f.AppointScheduleTemplateId == appointScheduleTemplateId); await EntityHelper.UpdateSortTopOrBottomAsync(_appointScheduleTemplateRepository, entity, SortType); } /// /// 修改排序 拖拽 /// /// /// /// /// public async Task UpdateSortManyAsync(UpdateSortManyDto input) { var entitylist = await _appointScheduleTemplateRepository.GetListAsync(o => input.ItemList.Select(s => s.Id).Contains(o.AppointScheduleTemplateId)); await EntityHelper.UpdateSortDragAsync(_appointScheduleTemplateRepository, entitylist, input); } } }