public async Task <Unit> Handle(CreateCalendarCommand request, CancellationToken cancellationToken) { var teacher = await _dbContext.Teachers.FindAsync(request.TeacherId); var name = Name.Create(request.Name); var calendar = new Calendar(name.Value); var teacherCalendars = new TeacherCalendar(teacher.Id, calendar.Id); calendar.AddTeacher(teacherCalendars); _dbContext.Calendars.Attach(calendar); await _dbContext.SaveChanges(); return(Unit.Value); }
public Task <bool> Handle(CreateCalendarCommand request, CancellationToken cancellationToken) { var teacher = _dbContext.Teachers.FirstOrDefault(t => t.Id == request.TeacherId); var calendar = new Calendar { Name = request.Name, }; var teacherCalendars = new TeacherCalendar { TeacherId = teacher.Id, CalendarId = calendar.Id }; calendar.AddTeacher(teacherCalendars); _dbContext.Calendars.Add(calendar); return(Task.FromResult(_dbContext.SaveChanges())); }