public async Task <User> ExStudentLogin(string username, string password, int tutorId, int subjectId) { var branch = await _context.SchoolBranch.Where(m => m.BranchName == "ONLINE ACADEMY").FirstOrDefaultAsync(); var user = await _context.Users.FirstOrDefaultAsync(x => x.Username.ToLower() == username.ToLower() && x.Active == true && x.SchoolBranchId == branch.Id); if (user == null) { return(null); } if (!Seed.VerifyPasswordHash(password, user.PasswordHash, user.PasswordSalt)) { return(null); } var NotExist = await _context.TutorStudentMappings.AnyAsync(m => m.StudentId == user.Id && m.TutorId == tutorId); if (!NotExist) { var ToAdd = new TutorStudentMapping { StudentId = user.Id, TutorId = tutorId, SubjectId = subjectId, CreatedDatetime = DateTime.UtcNow, Active = true, }; await _context.TutorStudentMappings.AddAsync(ToAdd); await _context.SaveChangesAsync(); } return(user); }
public async Task <ServiceResponse <object> > ExStudentRegister(ExStudentForRegisterDto model) { SchoolBranch branch = await _context.SchoolBranch.Where(m => m.BranchName == "ONLINE ACADEMY").FirstOrDefaultAsync(); var userToCreate = new User { Username = model.Username, FullName = model.Username, UserTypeId = (int)Enumm.UserType.OnlineStudent, Email = model.Email, ContactNumber = model.ContactNumber, SchoolBranchId = branch.Id, //Gender = model.Gender, Active = true, CreatedDateTime = DateTime.UtcNow, Role = _context.UserTypes.Where(m => m.Id == (int)Enumm.UserType.OnlineStudent).FirstOrDefault()?.Name }; byte[] passwordHash, passwordSalt; Seed.CreatePasswordHash(model.Password, out passwordHash, out passwordSalt); userToCreate.PasswordHash = passwordHash; userToCreate.PasswordSalt = passwordSalt; await _context.Users.AddAsync(userToCreate); await _context.SaveChangesAsync(); var ToAdd = new TutorStudentMapping { StudentId = userToCreate.Id, TutorId = model.TutorId, SubjectId = model.SubjectId, CreatedDatetime = DateTime.UtcNow, Active = true, }; await _context.TutorStudentMappings.AddAsync(ToAdd); await _context.SaveChangesAsync(); _serviceResponse.Success = true; _serviceResponse.Message = "Custom message to online student"; return(_serviceResponse); }