如何在必须大于.Net Core 中已存在的学期的期间内创建学期?

How to create a Semester in a period that must be greater than the Semester that already exists in .Net Core?

我有一个 Semester1,包括 StartDate1EndDate1。我想创建一个新的 Semester2,它必须确保 EndDate1 < StartDate2。我如何比较它们?

我正在使用 .Net Core 5 和存储库模式

如果您有任何指导,请告诉我。如果您需要有关准则的更多信息,请告诉我。

Repo下面的对比是我一个学期内做的

    public SemesterViewModel CreateSemester(Semester semester)
    {
        
        if (Semester.SemesterStartDate <Semester.SemesterClosureDate &&
            Semester.SemesterClosureDate < Semester.SemesterEndDate)
        {
            var newSemester = new Semester
            {
                SemesterName = Semester.SemesterName,
                SemesterStartDate = Semester.SemesterStartDate,
                SemesterClosureDate = Semester.SemesterClosureDate,
                SemesterEndDate = Semester.SemesterEndDate
            };
            _dbContext.Semesters.Add(newSemester);
            _dbContext.SaveChanges();
            return null;
        }

因此,在查看您的回购协议之后。我正在更新我的答案。我可以看到您正在尝试比较第 1 学期和第 2 学期之间的日期。但在这里您只是比较第 2 学期的日期,这是行不通的。

你应该先从 db 中获取 semester1,然后比较日期。

var semester1 = GetSemester(); //get semester 1;  

因此,如果您想与上学期进行比较:

var semester1 = Get().OrderByDescending(a => a.Id).FirstOrDefault();

然后:

if (semester1 == null || (semesterViewModel.Semester.SemesterStartDate > semester1.SemesterEndDate))
{
    //save newSemester 
}