public static Courier <AppUser> PackageChangePassword(AccountChangePasswordVM package)
        {
            IdentityManager mgr = new IdentityManager();

            UpdatePasswordParcel parcel = new UpdatePasswordParcel()
            {
                User        = package.User,
                NewPassword = package.NewPassword
            };

            return(mgr.ChangePassword(parcel));
        }
        public Courier <AppUser> ChangePassword(UpdatePasswordParcel parcel)
        {
            if (parcel.User != null)
            {
                string firstName       = parcel.User.FirstName;
                string lastName        = parcel.User.LastName;
                string email           = parcel.User.Email;
                string userName        = parcel.User.UserName;
                string id              = parcel.User.Id;
                string oldPasswordHash = parcel.User.PasswordHash;

                string newPasswordHash = userMgr.PasswordHasher.HashPassword(parcel.NewPassword);
                parcel.User.PasswordHash = newPasswordHash;

                userMgr.Update(parcel.User);

                Courier <AppUser> courier = new Courier <AppUser>()
                {
                    Package = userMgr.FindById(id)
                };

                if (courier.Package != null &&
                    courier.Package.FirstName == firstName &&
                    courier.Package.LastName == lastName &&
                    courier.Package.Email == email &&
                    courier.Package.UserName == userName &&
                    courier.Package.Id == id &&
                    courier.Package.PasswordHash != oldPasswordHash)
                {
                    courier.Success = true;
                }
                else
                {
                    courier.Success = false;
                    courier.Message = "User password not properly updated";
                }

                return(courier);
            }
            else
            {
                return(new Courier <AppUser>()
                {
                    Success = false, Message = "No user was attached to parcel"
                });
            }
        }