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

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);
}
}
}