Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }