Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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"));
            }
        }