예제 #1
0
            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);
            }
예제 #4
0
            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);
            }
예제 #7
0
            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);
            }