public string Register(string email, string password) { if (Request != null) { if (Request.RequestType.Equals("OPTIONS", StringComparison.InvariantCultureIgnoreCase)) { return null; } } try { CommunicationManager communicationManager = new CommunicationManager(); string userName = email.Substring(0, email.IndexOf('@')); userName = userName.Replace("+", ""); RegisterModel model = new RegisterModel { Email = email, UserName = userName, Password = password, ConfirmPassword = password }; if (ValidationEngine.ValidateEmail(model.Email) != ValidationEngine.Success) { return AddErrorHeader("Invalid Email"); } if (!userManager.CheckDuplicateEmail(model.Email)) { return AddErrorHeader("A user with that email already exists in our database"); } if (ValidationEngine.ValidateUsername(model.UserName) != ValidationEngine.Success) { return AddErrorHeader(ValidationEngine.ValidateUsername(model.UserName)); } if (!userManager.CheckDuplicateUsername(model.UserName)) { return AddErrorHeader("A user with that username already exists in our database"); } if (ValidationEngine.ValidatePassword(model.Password) != ValidationEngine.Success) { return AddErrorHeader(ValidationEngine.ValidateUsername(model.Password)); } if (model.Password != model.ConfirmPassword) { return AddErrorHeader("Password fields do not match"); } if (ModelState.IsValid) { User newUser = model.toUser(); newUser.profileURL = newUser.userName; newUser = userManager.CreateUser(newUser, model.Password); userManager.ActivateUser(newUser, true); //communicationManager.SendVerificationMail(userManager.GetProviderUserKey(newUser), newUser.userName, newUser.email); AuthenticaitonEngine authEngine = new AuthenticaitonEngine(); string token = authEngine.logIn(newUser.id, newUser.userName); JsonModels.RegisterResponse rr = new JsonModels.RegisterResponse(); rr.userId = newUser.id; rr.token = token; return AddSuccessHeader(Serialize(rr)); } else { return AddErrorHeader("User Model Not Valid"); } } catch (Exception ex) { logAccessor.CreateLog(DateTime.Now, this.GetType().ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), ex.ToString()); return AddErrorHeader("Something went wrong while creating this user"); } }