// user registration from airbnb
        public BasicResponse AirbnbRegister(AirbnbRegisterRequest request)
        {
            try
            {
                Logs.LogsInsertAction("User airbnb register attempted");
                var validResponse = Users.AirbnbRegister.airbnbRegisterImplementation(request);
                if (validResponse.success == true)
                {
                    Logs.LogsInsertAction("User airbnb register success: " + validResponse.message);
                }
                else
                {
                    Logs.LogsInsertAction("User airbnb register failure: " + validResponse.message);
                }

                return(validResponse);
            }
            catch (Exception exception)
            {
                Logs.LogsInsertError(exception);
                return(new BasicResponse {
                    message = "An error occured. The Pedal team has been notified.", success = false
                });
            }
        }
Пример #2
0
        public static BasicResponse airbnbRegisterImplementation(AirbnbRegisterRequest request)
        {
            if (String.IsNullOrWhiteSpace(request.email))
            {
                return(new BasicResponse
                {
                    message = "Please enter an email.",
                    status = 404,
                    success = false,
                });
            }

            if (String.IsNullOrWhiteSpace(request.firstName))
            {
                return(new BasicResponse
                {
                    message = "Please enter a first name.",
                    status = 404,
                    success = false,
                });
            }

            if (String.IsNullOrWhiteSpace(request.lastName))
            {
                return(new BasicResponse
                {
                    message = "Please enter a last name.",
                    status = 404,
                    success = false,
                });
            }


            if (MembershipHelper.emailAlreadyExists(request.email, Constants.UserRole))
            {
                return(new BasicResponse {
                    message = "Email is already taken", status = 10, success = false
                });
            }
            else if (String.IsNullOrWhiteSpace(request.password) || request.password.Length < 6)
            {
                return(new BasicResponse {
                    message = "Please enter a password at least 6 characters long", status = 10, success = false
                });
            }



            if (!request.password.Equals(request.confirmPassword))
            {
                return(new BasicResponse
                {
                    message = "Passwords do not match",
                    status = 404,
                    success = false,
                });
            }

            var newUserGuid = MembershipHelper.createMembership(request.email, request.password, Constants.UserRole);
            var userId      = 0;

            using (var db = new UniversalGymEntities())
            {
                var newCode = UserCode.GenerateDistinctCode(db);
                var user    = new User
                {
                    FirstName             = request.firstName,
                    LastName              = request.lastName,
                    ReferalUrl            = newCode,
                    UserGuid              = newUserGuid,
                    Email                 = request.email.ToLower(),
                    hasActiveSubscription = true,
                    hasCreditCard         = false,
                    joinDate              = DateTime.Now,
                    Credits               = 0,
                };
                db.Users.Add(user);
                db.SaveChanges();
                userId = user.UserId;



                var newuserbody = "User Signup"
                                  + Environment.NewLine
                                  + "Email: "
                                  + user.Email
                                  + Environment.NewLine
                                  + "Name: "
                                  + user.FirstName
                                  + user.LastName
                                  + Environment.NewLine
                                  + "Airbnb Host: https://www.airbnb.com/users/show/"
                                  + request.airbnbHostId;



                SlackHelper.sendUserSignupChannel(newuserbody);
            }

            EmailTemplateHelper.SendEmail("Welcome to Pedal", request.email, "http://pedal.com", request.firstName, "user_signup.html");

            return(new BasicResponse
            {
                message = "Account created! Just download the Pedal Fitness app and login!",
                status = 200,
                success = true,
            });
        }