public int createUser(RegisterRequestJSON req) { int userId = 0; using (MovieEntities db = new MovieEntities()) { string email_input = !string.IsNullOrWhiteSpace(req.email) ? req.email : null; string hashedpassword_input = !string.IsNullOrWhiteSpace(req.hashedpassword) ? req.hashedpassword : null; string salt_input = !string.IsNullOrWhiteSpace(req.salt) ? req.salt : null; string accesstoken_input = !string.IsNullOrWhiteSpace(req.socialMediaAccessToken) ? req.socialMediaAccessToken : null; string socialmediauserid_input = !string.IsNullOrWhiteSpace(req.socialMediaUserId) ? req.socialMediaUserId : null; string firstname_input = !string.IsNullOrWhiteSpace(req.firstName) ? req.firstName : null; string network_input = !string.IsNullOrWhiteSpace(req.network) ? req.network : null; ObjectParameter output_userId = new ObjectParameter("userId", typeof(Int32)); int userid = db.pr_RegisterUser(email_input, salt_input, hashedpassword_input, network_input, accesstoken_input, socialmediauserid_input, firstname_input, output_userId); if (output_userId.Value != null) { int ouserId = (int)output_userId.Value; if (ouserId != 0) { userId = ouserId; } } } return(userId); }
public HttpResponseMessage Register([FromBody] RegisterRequestJSON ureq) { req = Request; if (ureq == null) { return(Utils.CreateEmptyErrorResponse(req)); } List <string> allowedlogins = new List <string>(); allowedlogins.Add("facebook"); allowedlogins.Add("twitter"); allowedlogins.Add("instagram"); allowedlogins.Add("googleplus"); allowedlogins.Add("linkedin"); ValidationResult results_register = ivalidator.Validate(ureq); if (!results_register.IsValid) { return(Utils.CreateErrorResponse(req, results_register.Errors[0].ErrorMessage)); } if (allowedlogins.Contains(ureq.network.ToLower().Trim())) { if (string.IsNullOrWhiteSpace(ureq.socialMediaAccessToken)) { return(Utils.CreateErrorResponse(req, "Social Media Access Token is required for " + ureq.network)); } if (string.IsNullOrWhiteSpace(ureq.socialMediaUserId)) { return(Utils.CreateErrorResponse(req, "Social Media User Id is required for " + ureq.network)); } } if (ureq.network.ToLower() == "local") { if (string.IsNullOrWhiteSpace(ureq.password)) { return(Utils.CreateErrorResponse(req, "password cannot be blank")); } } if (users.checkDuplicateEmail(ureq.email)) { return(Utils.CreateErrorResponse(req, "email already exists")); } // Calculate salt // Calculate hash of the password based on salt if (!string.IsNullOrWhiteSpace(ureq.password) && ureq.network == "local") { string salt = Utils.ComputeSalt(); string hashedpassword = Utils.ComputeHash(salt, ureq.password); ureq.salt = salt; ureq.hashedpassword = hashedpassword; } int userId = users.createUser(ureq); if (userId != 0) { RegisterResponseJSON respo = new RegisterResponseJSON(); respo.userId = userId.ToString(); return(Utils.CreateSuccessResponse(req, respo)); } else { return(Utils.CreateErrorResponse(req, "Error registering a user. Please try again")); } }