public ServiceResponse <Core.Domain.Users> RegisterUser([FromBody] JObject jObject) { var response = new ServiceResponse <Core.Domain.Users>(); try { var user = jObject.ToObject <Core.Domain.Users>(); String salt = _webHelper.RandomString(_webHelper.RandomStringSize) + "="; String password = _webHelper.ComputeHash(user.Password, salt, HashName.MD5); user.Password = password; user.PasswordSalt = salt; var userId = _userService.RegisterUser(user); if (userId > 0) { user.Id = userId; _emailService.SendEmail("New Registration", "Welcome to Q2 " + user.FullName + ".<br/> This email is sent to confirm your registration with Q2. You can invite your friends and colleagues by sharing this code <b>" + user.MyCode + "</b>. This code must be inserted in the designated field in the registration form. <br/>Again, thank you for joining Q2!<br/> Cheers! <br/>Q2", user.Email, null, null); } response.Model = user; response.Success = true; } catch (Exception ex) { response.Success = false; response.Message = GetErrorMessageDetail(ex); } return(response); }
public Core.Domain.Users VerifyUser(string email, string password, string deviceNumber) { if (string.IsNullOrEmpty(email)) { throw new ArgumentNullException(nameof(email)); } if (string.IsNullOrEmpty(password)) { throw new ArgumentNullException(nameof(password)); } if (string.IsNullOrEmpty(deviceNumber)) { throw new ArgumentNullException(nameof(deviceNumber)); } var user = this._userRepository.Table.Where(u => u.Email.ToLower().Trim().Equals(email) && u.IsDeleted == false).FirstOrDefault(); if (user != null) { if (user.IsActive == true) { var salt = user.PasswordSalt; password = _webHelper.ComputeHash(password, salt); if (!user.Password.Equals(password)) { throw new Exception("Oops! Invalid Username or Password"); } else if (user.DeviceNumber.Equals(deviceNumber)) { user.DeviceNumber = deviceNumber; _userRepository.Update(user); } } else { throw new Exception("Oops! Your account is not activated. Please contact organization Administrator to activate your account."); } } else { throw new Exception("Oops! Invalid Username or Password."); } return(user); }