public static T GetInstanceSettingsValueAs <T>(string key, T def) { var value = GetInstanceSettingsValue(key, null); if (value == null) { return(def); } try { return(SysUtil.ChangeType <T>(value)); } catch (Exception e) { _log.WarnExceptionFormat(e, "Unable to convert configuration setting '{0}' to type '{1}'", key, typeof(T)); return(def); } }
public static UserBE CreateNewUser(UserBE newUser) { if (newUser == null) { return(null); } //throw exception if licensing does not allow creation of another user DekiContext.Current.LicenseManager.IsUserCreationAllowed(true); if (newUser.RoleId == 0) { RoleBE defaultRole = PermissionsBL.RetrieveDefaultRoleForNewAccounts(); if (defaultRole != null) { newUser.RoleId = defaultRole.ID; } } ValidateUser(newUser); newUser.CreateTimestamp = DateTime.UtcNow; uint userId = DbUtils.CurrentSession.Users_Insert(newUser); if (userId == 0) { return(null); } newUser.ID = userId; PageBE userHomepage = null; try { // User homepages are created upon user creation (an attempt to create user homepages may also be done upon login) userHomepage = PageBL.CreateUserHomePage(newUser); } catch (Exception e) { _log.WarnExceptionFormat(e, "Error creating user page for {0}", newUser); } if (userHomepage != null) { var rcUser = UserBL.GetUserById(userHomepage.UserID) ?? DekiContext.Current.User ?? newUser; RecentChangeBL.AddUserCreatedRecentChange(DekiContext.Current.Now, userHomepage, rcUser, DekiResources.USER_ADDED(newUser.Name)); } DekiContext.Current.Instance.EventSink.UserCreate(DekiContext.Current.Now, newUser); return(newUser); }
//--- Methods --- public void Startup() { _log.InfoMethodCall("Startup", _uri); // create listener and make it listen to the uri _listener = new HttpListener(); _listener.IgnoreWriteExceptions = true; _listener.AuthenticationSchemes = _authenticationSheme; _listener.Prefixes.Add(_uri.ToString()); try { _listener.Start(); } catch (Exception x) { _log.WarnExceptionFormat(x, "Unable to start listening on '{0}'", _uri); throw; } _listener.BeginGetContext(RequestHandler, _listener); // register plug factory for this uri Plug.AddEndpoint(this); }