public async Task <DateTime> Handle(TimeOutStudentIDCommand request, CancellationToken cancellationToken) { var _dateNow = DateTime.Now.Date; DateTime _timeOut = Convert.ToDateTime("0001-01-01 00:00:00.0000000"); ////DateTime from = Convert.ToDateTime("00:00:01"); ////DateTime to = Convert.ToDateTime("11:59:59"); //var _checkTimeInToday = dbContext.StudentsTimeIn.Select(a => a.StudentBasicInfoID == request.studID && a.StudentTimeInRecord.Date == _dateNow).ToList(); var _checkStudentID = dbContext.StudentBasicInfos.Find(request.studID); if (_checkStudentID == null) { throw new Exception("Student ID does not exist!"); } var _checkTimeOutToday = dbContext.StudentDailyTimeRecords.Select(a => a.StudentBasicInfoID == request.studID && a.StudentTimeOut == _timeOut).ToList(); if (_checkTimeOutToday.Count() > 1) { throw new Exception("Student ID has already timed out!"); } var _getStudentTimeInRecord = dbContext.StudentDailyTimeRecords.Where(a => a.StudentBasicInfoID == request.studID && a.StudentTimeIn == _dateNow).SingleOrDefault(); var _getStudentIDTimeIn = _getStudentTimeInRecord.StudentBasicInfoID; var _getStudentTimeIn = _getStudentTimeInRecord.StudentTimeIn; var _deleteStudentTimeIn = dbContext.StudentDailyTimeRecords.Find(_getStudentIDTimeIn); dbContext.StudentDailyTimeRecords.Remove(_deleteStudentTimeIn); await dbContext.SaveChangesAsync(); StudentDailyTimeRecord _studentNewRecord = new StudentDailyTimeRecord { StudentBasicInfoID = request.studID, StudentTimeIn = _getStudentTimeIn, StudentTimeOut = DateTime.Now }; dbContext.StudentDailyTimeRecords.Add(_studentNewRecord); await dbContext.SaveChangesAsync(); return(_getStudentTimeIn); }
public async Task <bool> Handle(TimeInStudentIDCommand request, CancellationToken cancellationToken) { var _dateNow = DateTime.Now.Date; //DateTime from = Convert.ToDateTime("00:00:01"); //DateTime to = Convert.ToDateTime("11:59:59"); StudentBasicInfo _checkStudentID = dbContext.StudentBasicInfos.Find(request.studID); if (_checkStudentID == null) { throw new Exception("Student ID does not exist!"); } var _checkTimeInToday = dbContext.StudentDailyTimeRecords.Select(a => a.StudentBasicInfoID == request.studID && a.StudentTimeIn.Date == _dateNow).ToList(); if (_checkTimeInToday.Count() > 0) { throw new Exception("Student ID has already timed in!"); } StudentDailyTimeRecord _studentTimeIn = new StudentDailyTimeRecord { StudentBasicInfoID = request.studID, StudentTimeIn = DateTime.Now }; dbContext.StudentDailyTimeRecords.Add(_studentTimeIn); await dbContext.SaveChangesAsync(); return(true); }
public async Task <bool> Handle(DeleteStudentSubjectCommand request, CancellationToken cancellationToken) { var _deleteStudentSubject = dbContext.StudentSubjectLists.Find(request.myStudentSubjectList.ID); dbContext.StudentSubjectLists.Remove(_deleteStudentSubject); await dbContext.SaveChangesAsync(); return(true); }
public async Task <bool> Handle(AddSubjectDetailsCommand request, CancellationToken cancellationToken) { StudentSubjectList _studentSubjectList = new StudentSubjectList { StudentBasicInfoID = request.studentBasicInfo, StudentSubjectsID = request.subjectID, StudentProfessorID = request.professorID, EnrollmentDetailsID = request.enrollmentDetailsID }; dbContext.StudentSubjectLists.Add(_studentSubjectList); await dbContext.SaveChangesAsync(); return(true); }
public async Task <bool> Handle(UpdateStudentInfoCommand request, CancellationToken cancellationToken) { var _updated = dbContext.StudentBasicInfos.Find(request.myStudentBasicInfo.ID); _updated.StudentLastName = request.myStudentBasicInfo.StudentLastName; _updated.StudentFirstName = request.myStudentBasicInfo.StudentFirstName; _updated.StudentMiddleName = request.myStudentBasicInfo.StudentMiddleName; _updated.StudentAge = request.myStudentBasicInfo.StudentAge; _updated.StudentGender = request.myStudentBasicInfo.StudentGender; _updated.StudentAddress = request.myStudentBasicInfo.StudentAddress; _updated.StudentEmailAddress = request.myStudentBasicInfo.StudentEmailAddress; _updated.StudentContactNumber = request.myStudentBasicInfo.StudentContactNumber; await dbContext.SaveChangesAsync(); return(true); }
public async Task <bool> Handle(DeleteStudentInfoCommand request, CancellationToken cancellationToken) { var _deleteStudentInfo = dbContext.StudentSubjectLists.Find(request.deleteSearchedID); if (_deleteStudentInfo != null) { dbContext.StudentSubjectLists.Remove(_deleteStudentInfo); } else { throw new Exception("Student ID does not exist!"); } await dbContext.SaveChangesAsync(); return(true); }
public async Task <bool> Handle(CreateStudentInfoCommand request, CancellationToken cancellationToken) { StudentBasicInfo _studentBasicInfo = new StudentBasicInfo { StudentLastName = request.myStudentBasicInfo.StudentLastName, StudentMiddleName = request.myStudentBasicInfo.StudentMiddleName, StudentFirstName = request.myStudentBasicInfo.StudentFirstName, StudentAge = request.myStudentBasicInfo.StudentAge, StudentGender = request.myStudentBasicInfo.StudentGender, StudentAddress = request.myStudentBasicInfo.StudentAddress, StudentContactNumber = request.myStudentBasicInfo.StudentContactNumber, StudentEmailAddress = request.myStudentBasicInfo.StudentEmailAddress }; dbContext.StudentBasicInfos.Add(_studentBasicInfo); await dbContext.SaveChangesAsync(); return(true); }
public async Task <bool> Handle(StudentTimeOutCommand request, CancellationToken cancellationToken) { var _dateNow = DateTime.Now.Date; //DateTime from = Convert.ToDateTime("00:00:01"); //DateTime to = Convert.ToDateTime("11:59:59"); StudentBasicInfo _checkStudentID = dbContext.StudentBasicInfos.Find(request.studID); if (_checkStudentID == null) { throw new Exception("Student ID does not exist!"); } var _checkStudentTimeIn = dbContext.StudentsTimeIn.Where(a => a.StudentBasicInfoID == request.studID && a.StudentTimeInRecord != _dateNow).SingleOrDefault(); if (_checkStudentTimeIn == null) { throw new Exception("Student ID does not timed in yet!"); } var _checkTimeOutToday = dbContext.StudentsTimeOut.Select(a => a.StudentBasicInfoID == request.studID && a.StudentTimeOutRecord.Date == _dateNow).ToList(); if (_checkTimeOutToday.Count() > 0) { throw new Exception("Student ID has already timed out!"); } StudentTimeOut _studentTimeOut = new StudentTimeOut { StudentBasicInfoID = request.studID, StudentTimeOutRecord = DateTime.Now }; dbContext.StudentsTimeOut.Add(_studentTimeOut); await dbContext.SaveChangesAsync(); return(true); }