Inheritance: API.Request
Example #1
0
 public void Signup(String firstname, String lastname, String username, String password, String email, String location, bool supporter)
 {
     var request = new SignupRq
     {
         firstname = firstname.Trim(),
         lastname = lastname.Trim(),
         username = username.Trim(),
         password = password,
         email = email.Trim(),
         location = location.Trim(),
         supporter = supporter
     };
     OnSigningUp();
     try
     {
         _appContext.ConnectionManager.Connection.Request<SignupRq, SignupRs>(request);
         // we might be logged in as a guest
         if (IsLoggedIn)
         {
             Logout();
         }
         Login(request.username, request.password);
     }
     catch (MessageException<SignupRs> ex)
     {
         var errors = new DataSubmitErrorArgs();
         Logger.Warn("Failed to signup : " + ex.Message);
         if (ex.Response.signupErrors != null)
         {
             if (ex.Response.signupErrors.Contains(SignupRs.SignupErrorEmailAddressInUse))
             {
                 errors.SubmitErrors.Add(new DataSubmitError()
                 {
                     FieldName = "email",
                     ErrorCode = DataSubmitErrorCode.InUse
                 });
             }
             if (ex.Response.signupErrors.Contains(SignupRs.SignupErrorEmailAddressInvalid))
             {
                 errors.SubmitErrors.Add(new DataSubmitError()
                 {
                     FieldName = "email",
                     ErrorCode = DataSubmitErrorCode.EmailInvalid
                 });
             }
             if (ex.Response.signupErrors.Contains(SignupRs.SignupErrorUserExists))
             {
                 errors.SubmitErrors.Add(new DataSubmitError()
                 {
                     FieldName = "username",
                     ErrorCode = DataSubmitErrorCode.InUse
                 });
             }
             if (ex.Response.signupErrors.Contains(SignupRs.SignupErrorPasswordComplexity))
             {
                 errors.SubmitErrors.Add(new DataSubmitError()
                 {
                     FieldName = "password",
                     ErrorCode = DataSubmitErrorCode.NotComplexEnough
                 });
             }
         }
         OnSignupFailed(errors);
     }
     catch (Exception ex)
     {
         Logger.Warn("Failed to signup : " + ex.Message);
         OnSignupFailed(new DataSubmitErrorArgs());
     }
 }