using Shentun.WebPeis.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Services; namespace Shentun.WebPeis.AppointSchedules { public class AppointScheduleManager : DomainService { private readonly IRepository _appointScheduleRepository; private readonly IRepository _appointScheduleTimeRepository; public AppointScheduleManager( IRepository appointScheduleRepository, IRepository appointScheduleTimeRepository) { _appointScheduleRepository = appointScheduleRepository; _appointScheduleTimeRepository = appointScheduleTimeRepository; } /// /// 创建 /// /// /// public async Task CreateAsync( AppointSchedule entity ) { DataHelper.CheckEntityIsNull(entity); var isAppointDate = await _appointScheduleRepository.FirstOrDefaultAsync(f => f.AppointDate == entity.AppointDate); if (isAppointDate == null) { return new AppointSchedule { AmNumberLimit = entity.AmNumberLimit, AppointDate = entity.AppointDate, AppointScheduleId = entity.AppointScheduleId, AppointScheduleTimes = entity.AppointScheduleTimes, PmNumberLimit = entity.PmNumberLimit, SingleNumberLimit = entity.SingleNumberLimit }; } else { isAppointDate.AmNumberLimit = entity.AmNumberLimit; isAppointDate.AppointDate = entity.AppointDate; isAppointDate.AppointScheduleTimes = entity.AppointScheduleTimes; isAppointDate.PmNumberLimit = entity.PmNumberLimit; isAppointDate.SingleNumberLimit = entity.SingleNumberLimit; return isAppointDate; } } /// /// 删除 /// /// /// /// public async Task CheckAndDeleteAsync(Guid appointScheduleId) { //先删除明细 await _appointScheduleTimeRepository.DeleteAsync(m => m.AppointScheduleId == appointScheduleId); await _appointScheduleRepository.DeleteAsync(d => d.AppointScheduleId == appointScheduleId); } } }