コード例 #1
0
        public HttpResponseMessage ManageUser(DTO.UserDetails user)
        {
            var apiResponse = new DTO.ApiResponse <string>();

            try
            {
                var userController = new DotNetNuke.Entities.Users.UserController();

                var dnnUser = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, user.Id);
                if (dnnUser != null)
                {
                    var objModules = new DotNetNuke.Entities.Modules.ModuleController();
                    var objModule  = objModules.GetModuleByDefinition(PortalSettings.PortalId, "User Accounts");
                    if (objModule != null)
                    {
                        apiResponse.CustomObject = DotNetNuke.Common.Globals.NavigateURL(objModule.TabID, false, PortalSettings, "Edit", new string[] { "UserId=" + dnnUser.UserID.ToString(), "mid=" + objModule.ModuleID.ToString() });
                        apiResponse.Success      = true;
                    }
                }
            }
            catch (Exception err)
            {
                apiResponse.Success = false;
                apiResponse.Message = err.Message;

                Exceptions.LogException(err);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, apiResponse));
        }
コード例 #2
0
        public HttpResponseMessage UnlockUser(DTO.UserDetails user)
        {
            var apiResponse = new DTO.ApiResponse <bool>();

            try
            {
                var userController = new DotNetNuke.Entities.Users.UserController();

                var dnnUser = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, user.Id);
                if (dnnUser != null)
                {
                    DotNetNuke.Entities.Users.UserController.UnLockUser(dnnUser);
                    DotNetNuke.Common.Utilities.DataCache.RemoveCache("MembershipUser_" + dnnUser.Username);
                    DotNetNuke.Common.Utilities.DataCache.ClearUserCache(PortalSettings.PortalId, dnnUser.Username);

                    apiResponse.Success = true;
                }
            }
            catch (Exception err)
            {
                apiResponse.Success = false;
                apiResponse.Message = err.Message;

                Exceptions.LogException(err);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, apiResponse));
        }
コード例 #3
0
        public HttpResponseMessage ViewUser(DTO.UserDetails user)
        {
            var apiResponse = new DTO.ApiResponse <string>();

            try
            {
                var userController = new DotNetNuke.Entities.Users.UserController();

                var dnnUser = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, user.Id);
                if (dnnUser != null)
                {
                    apiResponse.CustomObject = DotNetNuke.Common.Globals.UserProfileURL(dnnUser.UserID);
                    apiResponse.Success      = true;
                }
            }
            catch (Exception err)
            {
                apiResponse.Success = false;
                apiResponse.Message = err.Message;

                Exceptions.LogException(err);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, apiResponse));
        }
コード例 #4
0
        public HttpResponseMessage SendPasswordReset(DTO.UserDetails user)
        {
            var apiResponse = new DTO.ApiResponse <bool>();

            try
            {
                var userController = new DotNetNuke.Entities.Users.UserController();

                var dnnUser = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, user.Id);
                if (dnnUser != null)
                {
                    DotNetNuke.Entities.Users.UserController.ResetPasswordToken(dnnUser, DotNetNuke.Entities.Host.Host.AdminMembershipResetLinkValidity);

                    bool canSend = DotNetNuke.Services.Mail.Mail.SendMail(dnnUser, DotNetNuke.Services.Mail.MessageType.PasswordReminder, PortalSettings) == string.Empty;
                    var  message = String.Empty;

                    if (canSend)
                    {
                        apiResponse.Success = true;

                        // message = Localization.GetString("PasswordSent", LocalResourceFile);
                        // LogSuccess();
                    }
                    else
                    {
                        apiResponse.Success = false;
                        //message = Localization.GetString("OptionUnavailable", LocalResourceFile);
                        //moduleMessageType = ModuleMessage.ModuleMessageType.RedError;
                        //LogFailure(message);
                    }
                }
            }
            catch (Exception err)
            {
                apiResponse.Success = false;
                apiResponse.Message = err.Message;

                Exceptions.LogException(err);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, apiResponse));
        }
        public HttpResponseMessage SaveUser(DTO.UserDetails user)
        {
            var apiResponse = new DTO.ApiResponse <bool>();

            try
            {
                var userController = new DotNetNuke.Entities.Users.UserController();

                if (user.Id == -1)
                {
                    if (!DotNetNuke.Entities.Users.UserController.ValidatePassword(user.Password))
                    {
                        apiResponse.Success = false;
                        apiResponse.Message = "Invalid Password";

                        return(Request.CreateResponse(HttpStatusCode.OK, apiResponse));
                    }

                    //new user
                    var dnnUser = new DotNetNuke.Entities.Users.UserInfo();
                    dnnUser.Username    = user.UserName;
                    dnnUser.FirstName   = user.FirstName;
                    dnnUser.LastName    = user.LastName;
                    dnnUser.DisplayName = user.DisplayName;
                    dnnUser.Email       = user.EmailAddress;

                    dnnUser.PortalID = PortalSettings.PortalId;

                    dnnUser.Membership.Password = user.Password;
                    dnnUser.Membership.Approved = true;

                    DotNetNuke.Entities.Users.UserController.CreateUser(ref dnnUser);
                    apiResponse.Success = true;
                }
                else
                {
                    //existing user
                    var dnnUser = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, user.Id);
                    if (dnnUser != null)
                    {
                        //dnnUser.Username = user.UserName;
                        dnnUser.FirstName   = user.FirstName;
                        dnnUser.LastName    = user.LastName;
                        dnnUser.DisplayName = user.DisplayName;
                        dnnUser.Email       = user.EmailAddress;
                        //dnnUser.Membership.Password = user.Password;

                        DotNetNuke.Entities.Users.UserController.UpdateUser(PortalSettings.PortalId, dnnUser);
                        apiResponse.Success = true;
                    }
                }
            }
            catch (Exception err)
            {
                apiResponse.Success = false;
                apiResponse.Message = err.Message;

                Exceptions.LogException(err);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, apiResponse));
        }