public object logoutstudent(int id) { var student = _context.Students.Include(i => i.User).Where(w => w.ID == id).FirstOrDefault(); if (student == null) { return(CreatedAtAction(nameof(logoutstudent), new { result = ResultCode.DataHasNotFound, message = ResultMessage.DataHasNotFound })); } var tokens = _context.LoginTokens.Where(w => w.StudentID == id); if (tokens.Count() > 0) { _context.LoginTokens.RemoveRange(tokens); } var log = new LoginStudentHistory(); log.StudentID = student.ID; log.UserID = student.UserID; log.AuthType = AuthType.Logout; log.Create_On = DateUtil.Now(); log.Create_By = student.User.UserName; log.Update_On = DateUtil.Now(); log.Update_By = student.User.UserName; _context.LoginStudentHistorys.Add(log); _context.SaveChanges(); return(CreatedAtAction(nameof(loginstudent), new { result = ResultCode.Success, message = ResultMessage.Success })); }
public object loginstudent(string username, string password) { var user = _context.Users.Where(w => w.UserName == username).FirstOrDefault(); if (user == null) { return(CreatedAtAction(nameof(login), new { result = ResultCode.WrongAccountorPassword, message = ResultMessage.WrongAccountorPassword })); } var dpassword = DataEncryptor.Decrypt(user.Password); if (password == dpassword) { var token = CreateToken(user); var student = _context.Students.Where(w => w.UserID == user.ID & w.Status == StatusType.Active).Select(s => new { username = s.User.UserName, id = s.UserID, studentid = s.ID, studentcode = s.StudentCode, course = s.Course, prefix = s.Prefix.toPrefixName(), firstname = s.FirstName, lastname = s.LastName, idcard = s.IDCard, profileImg = "", }).FirstOrDefault(); if (student == null) { return(CreatedAtAction(nameof(loginstudent), new { result = ResultCode.DataHasNotFound, message = ResultMessage.DataHasNotFound })); } var log = new LoginStudentHistory(); log.StudentID = student.studentid; log.UserID = student.id; log.AuthType = AuthType.Login; log.Create_On = DateUtil.Now(); log.Create_By = student.username; log.Update_On = DateUtil.Now(); log.Update_By = student.username; _context.LoginStudentHistorys.Add(log); var tokens = _context.LoginTokens.Where(w => w.StudentID == student.studentid); if (tokens.Count() > 0) { _context.LoginTokens.RemoveRange(tokens); } var tok = new LoginToken(); tok.StudentID = student.studentid; tok.UserID = student.id; tok.Token = token; tok.Create_On = DateUtil.Now(); tok.Create_By = student.username; tok.Update_On = DateUtil.Now(); tok.Update_By = student.username; tok.ExpiryDate = DateUtil.Now().AddHours(8); _context.LoginTokens.Add(tok); _context.SaveChanges(); return(CreatedAtAction(nameof(loginstudent), new { result = ResultCode.Success, message = ResultMessage.Success, token = token, user = student })); } return(CreatedAtAction(nameof(loginstudent), new { result = ResultCode.WrongAccountorPassword, message = ResultMessage.WrongAccountorPassword })); }