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.
|
|
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<AppointScheduleTemplate> _appointScheduleTemplateRepository;
public AppointScheduleTemplateManager( IRepository<AppointScheduleTemplate> appointScheduleTemplateRepository ) { _appointScheduleTemplateRepository = appointScheduleTemplateRepository; }
/// <summary>
/// 创建
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public async Task<AppointScheduleTemplate> 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 }; }
/// <summary>
/// 更新
/// </summary>
/// <param name="sourceEntity"></param>
/// <param name="targetEntity"></param>
/// <returns></returns>
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; }
/// <summary>
/// 删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
public async Task CheckAndDeleteAsync(Guid appointScheduleTemplateId) { await _appointScheduleTemplateRepository.DeleteAsync(d => d.AppointScheduleTemplateId == appointScheduleTemplateId);
}
/// <summary>
/// 修改排序 置顶,置底
/// </summary>
/// <param name="id">需要修改的ID</param>
/// <param name="SortType">修改方式:1 置顶 2 置底</param>
/// <returns></returns>
public async Task UpdateManySortAsync(Guid appointScheduleTemplateId, int SortType) { var entity = await _appointScheduleTemplateRepository.GetAsync(f => f.AppointScheduleTemplateId == appointScheduleTemplateId); await EntityHelper.UpdateSortTopOrBottomAsync(_appointScheduleTemplateRepository, entity, SortType); }
/// <summary>
/// 修改排序 拖拽
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <param name="repository"></param>
/// <param name="input"></param>
/// <returns></returns>
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); }
}}
|