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)); }
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)); }
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)); }
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)); }