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.
79 lines
2.7 KiB
79 lines
2.7 KiB
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<AppointSchedule> _appointScheduleRepository;
|
|
private readonly IRepository<AppointScheduleTime> _appointScheduleTimeRepository;
|
|
|
|
public AppointScheduleManager(
|
|
IRepository<AppointSchedule> appointScheduleRepository,
|
|
IRepository<AppointScheduleTime> appointScheduleTimeRepository)
|
|
{
|
|
_appointScheduleRepository = appointScheduleRepository;
|
|
_appointScheduleTimeRepository = appointScheduleTimeRepository;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建
|
|
/// </summary>
|
|
/// <param name="entity"></param>
|
|
/// <returns></returns>
|
|
public async Task<AppointSchedule> 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;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 删除
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="UserFriendlyException"></exception>
|
|
public async Task CheckAndDeleteAsync(Guid appointScheduleId)
|
|
{
|
|
//先删除明细
|
|
|
|
await _appointScheduleTimeRepository.DeleteAsync(m => m.AppointScheduleId == appointScheduleId);
|
|
|
|
await _appointScheduleRepository.DeleteAsync(d => d.AppointScheduleId == appointScheduleId);
|
|
|
|
}
|
|
}
|
|
}
|