Beispiel #1
0
        public static ResetPasswordResult Success(User User,
                                                  EventTracking_Id EventTrackingId,
                                                  PasswordReset PasswordReset = null)

        => new ResetPasswordResult(User,
                                   EventTrackingId,
                                   true,
                                   null,
                                   null,
                                   PasswordReset);
Beispiel #2
0
        public static ResetPasswordResult Success(IEnumerable <User> Users,
                                                  EventTracking_Id EventTrackingId,
                                                  PasswordReset PasswordReset = null)

        => new ResetPasswordResult(Users,
                                   EventTrackingId,
                                   true,
                                   null,
                                   null,
                                   PasswordReset);
Beispiel #3
0
        public static ResetPasswordResult Failed(IEnumerable <User> Users,
                                                 EventTracking_Id EventTrackingId,
                                                 I18NString Description,
                                                 PasswordReset PasswordReset = null)

        => new ResetPasswordResult(Users,
                                   EventTrackingId,
                                   false,
                                   null,
                                   Description,
                                   PasswordReset);
Beispiel #4
0
        public static ResetPasswordResult Failed(IEnumerable <User> Users,
                                                 EventTracking_Id EventTrackingId,
                                                 Exception Exception,
                                                 PasswordReset PasswordReset = null)

        => new ResetPasswordResult(Users,
                                   EventTrackingId,
                                   false,
                                   null,
                                   I18NString.Create(Languages.en,
                                                     Exception.Message),
                                   PasswordReset);
Beispiel #5
0
        public static ResetPasswordResult Failed(User User,
                                                 EventTracking_Id EventTrackingId,
                                                 String Description,
                                                 PasswordReset PasswordReset = null)

        => new ResetPasswordResult(User,
                                   EventTrackingId,
                                   false,
                                   null,
                                   I18NString.Create(Languages.en,
                                                     Description),
                                   PasswordReset);
Beispiel #6
0
        public ResetPasswordResult(IEnumerable <User> Users,
                                   EventTracking_Id EventTrackingId,
                                   Boolean IsSuccess,
                                   String Argument             = null,
                                   I18NString ErrorDescription = null,
                                   PasswordReset PasswordReset = null)

            : base(Users,
                   EventTrackingId,
                   IsSuccess,
                   Argument,
                   ErrorDescription)

        {
            this.PasswordReset = PasswordReset;
        }
Beispiel #7
0
        public ResetPasswordResult(User User,
                                   EventTracking_Id EventTrackingId,
                                   Boolean IsSuccess,
                                   String Argument             = null,
                                   I18NString ErrorDescription = null,
                                   PasswordReset PasswordReset = null)

            : base(new User[] { User },
                   EventTrackingId,
                   IsSuccess,
                   Argument,
                   ErrorDescription)

        {
            this.PasswordReset = PasswordReset;
        }
Beispiel #8
0
        public static Boolean TryParseJSON(JObject JSONObject,
                                           UserProviderDelegate UserProvider,
                                           out PasswordReset PasswordReset,
                                           out String ErrorResponse,
                                           Boolean IgnoreContextMismatches = true)

        {
            try
            {
                PasswordReset = null;

                if (JSONObject == null)
                {
                    ErrorResponse = "The given JSON object must not be null!";
                    return(false);
                }

                #region Parse Context            [mandatory]

                if (!IgnoreContextMismatches)
                {
                    if (!JSONObject.ParseMandatoryText("@context",
                                                       "JSON-LD context",
                                                       out String Context,
                                                       out ErrorResponse))
                    {
                        ErrorResponse = @"The JSON-LD ""@context"" information is missing!";
                        return(false);
                    }

                    if (Context != JSONLDContext)
                    {
                        ErrorResponse = @"The given JSON-LD ""@context"" information '" + Context + "' is not supported!";
                        return(false);
                    }
                }

                #endregion

                #region Parse Timestamp          [mandatory]

                if (!JSONObject.ParseMandatory("timestamp",
                                               "timestamp",
                                               out DateTime Timestamp,
                                               out ErrorResponse))
                {
                    return(false);
                }

                #endregion

                #region Parse Users              [mandatory]

                if (!JSONObject.ParseMandatory("userIds",
                                               "user identifications",
                                               out JArray UserIdArray,
                                               out ErrorResponse))
                {
                    return(false);
                }

                HashSet <User_Id> userIds = null;

                try
                {
                    userIds = UserIdArray.
                              Where(jsonvalue => jsonvalue != null).
                              Select(jsonvalue => User_Id.Parse(jsonvalue.Value <String>())).
                              ToHashSet();
                }
                catch
                {
                    ErrorResponse = "The given array of users '" + UserIdArray + "' is invalid!";
                    return(false);
                }

                if (!userIds.Any())
                {
                    ErrorResponse = "The given array of users '" + UserIdArray + "' must not be empty!";
                    return(false);
                }

                HashSet <User> Users = new HashSet <User>();

                foreach (var userId in userIds)
                {
                    if (!UserProvider(userId, out User user))
                    {
                        ErrorResponse = "The given user '" + userId + "' is unknown or invalid!";
                        return(false);
                    }

                    Users.Add(user);
                }

                #endregion

                #region Parse SecurityToken1     [mandatory]

                if (!JSONObject.ParseMandatory("securityToken1",
                                               "security token #1",
                                               SecurityToken_Id.TryParse,
                                               out SecurityToken_Id SecurityToken1,
                                               out ErrorResponse))
                {
                    return(false);
                }

                #endregion

                #region Parse SecurityToken2     [optional]

                if (JSONObject.ParseOptionalStruct("securityToken2",
                                                   "security token #2",
                                                   SecurityToken_Id.TryParse,
                                                   out SecurityToken_Id? SecurityToken2,
                                                   out ErrorResponse))
                {
                    if (ErrorResponse != null)
                    {
                        return(false);
                    }
                }

                #endregion

                #region Parse EventTrackingId    [optional]

                if (JSONObject.ParseOptional("eventTrackingId",
                                             "event tracking identification",
                                             EventTracking_Id.TryParse,
                                             out EventTracking_Id EventTrackingId,
                                             out ErrorResponse))
                {
                    if (ErrorResponse != null)
                    {
                        return(false);
                    }
                }

                #endregion


                PasswordReset = new PasswordReset(Timestamp,
                                                  Users,
                                                  SecurityToken1,
                                                  SecurityToken2,
                                                  EventTrackingId);

                return(true);
            }
            catch (Exception e)
            {
                ErrorResponse = e.Message;
                PasswordReset = null;
                return(false);
            }
        }