private static DataTable GetPublicDatabases(Guid organizationId, bool includeAdditionalInfo) { DataTable table = new MasterDataSet.DatabaseDataTable(); foreach (MasterDataSet.DatabaseRow row in GetDatabases()) { if (row.Private) { if (organizationId != Guid.Empty) { Organization org = OrganizationProvider.GetOrganization(organizationId); if (org != null) { if (org.DatabaseId == row.DatabaseId) { table.ImportRow(row); } } } } else { table.ImportRow(row); } } if (includeAdditionalInfo) { IncludeAdditionalInfo(ref table); } table.AcceptChanges(); return(table); }
public static DataView GetCustomUrls(Guid organizationId) { using (CustomUrlTableAdapter adapter = new CustomUrlTableAdapter()) { MasterDataSet.CustomUrlDataTable table = adapter.GetCustomUrlsByOrganizationId(organizationId); table.Columns.Add("Name", typeof(string)); Organization org = null; foreach (MasterDataSet.CustomUrlRow row in table) { if (org == null) { org = OrganizationProvider.GetOrganization(organizationId); } string name = string.Empty; if (row.IsInstanceIdNull()) { name = org.Name; } else { Instance inst = InstanceProvider.GetInstance(row.InstanceId); if (inst != null) { name = inst.Name; } } row["Name"] = name; } table.DefaultView.Sort = string.Format(CultureInfo.InvariantCulture, "{0}, Name", table.InstanceIdColumn.ColumnName); return(table.DefaultView); } }
private void EnsureOrganization() { Guid orgId = this.OrganizationId; if (orgId != Guid.Empty) { m_Organization = OrganizationProvider.GetOrganization(orgId); } if (m_Organization == null) { this.RedirectToLoginPage(); } }
public void ProcessRequest(HttpContext context) { IProtocolMessage request = m_Provider.ReadRequest(); UnauthorizedTokenRequest requestToken = null; UserAuthorizationRequest requestAuth = null; AuthorizedTokenRequest requestAccessToken; if ((requestToken = request as UnauthorizedTokenRequest) != null) { UnauthorizedTokenResponse response = m_Provider.PrepareUnauthorizedTokenMessage(requestToken); m_Provider.Channel.Send(response); } else if ((requestAuth = request as UserAuthorizationRequest) != null) { string token = ((ITokenContainingMessage)requestAuth).Token; ((TokenProvider)m_Provider.TokenManager).UpdatePendingUserAuthorizationRequest(token, requestAuth); TokenProvider.SetTokenCookie(token); if (context == null) { throw new ArgumentNullException("context"); } context.Response.Redirect(ActionProvider.FindAction(ActionProvider.OAuthPageActionId).AbsoluteNavigateUrl); } else if ((requestAccessToken = request as AuthorizedTokenRequest) != null) { AuthorizedTokenResponse response = m_Provider.PrepareAccessTokenMessage(requestAccessToken); OAuthDataSet.OAuthTokenRow row = (OAuthDataSet.OAuthTokenRow)m_Provider.TokenManager.GetAccessToken(response.AccessToken); response.ExtraData.Add(new KeyValuePair <string, string>("api_token", LoginProvider.Current.GetToken(row.LoginId))); if (!row.IsOrganizationIdNull()) { response.ExtraData.Add(new KeyValuePair <string, string>("org", OrganizationProvider.GetOrganization(row.OrganizationId).PseudoId)); if (!row.IsInstanceIdNull()) { response.ExtraData.Add(new KeyValuePair <string, string>("dept", InstanceProvider.GetInstance(row.InstanceId, row.OrganizationId).PseudoId)); } } m_Provider.Channel.Send(response); } else { throw new InvalidOperationException(); } }
private void LoadResources() { Organization org = OrganizationProvider.GetOrganization(this.OrganizationId); if (org != null) { if (org.Expired) { DescriptionLabel.Text = string.Format(CultureInfo.InvariantCulture, Resources.SupportControl_OrganizationHasExpiredText, org.Name); int days = org.GraceDaysRemaining; if (days > 0) { DescriptionLabel.Text += "<br />" + string.Format(CultureInfo.InvariantCulture, Resources.SupportControl_GracePeriodText, days); } DescriptionHolder.Visible = true; } } string copyrightCompany = null; if (string.IsNullOrEmpty(FrameworkConfiguration.Current.WebApplication.Copyright.CompanyWebsiteUrl)) { copyrightCompany = FrameworkConfiguration.Current.WebApplication.Copyright.CompanyName; } else { copyrightCompany = Micajah.Common.WebControls.SetupControls.BaseControl.GetHyperlink(FrameworkConfiguration.Current.WebApplication.Copyright.CompanyWebsiteUrl, FrameworkConfiguration.Current.WebApplication.Copyright.CompanyName); } TitleLabel.Text = string.Format(CultureInfo.InvariantCulture, Resources.SupportControl_TitleLabel_Text, copyrightCompany); EmailLabel.Text = Resources.SupportControl_EmailLabel_Text; PhoneLabel.Text = Resources.SupportControl_PhoneLabel_Text; EmailLink.Text = FrameworkConfiguration.Current.WebApplication.Support.Email; EmailLink.NavigateUrl = "mailto:" + EmailLink.Text; PhoneValueLabel.Text = FrameworkConfiguration.Current.WebApplication.Support.Phone; ReturnLink.Text = Resources.SupportControl_ReturnLink_Text; if (Request.UrlReferrer != null) { ReturnLink.NavigateUrl = Request.UrlReferrer.ToString(); ReturnLink.Visible = true; } }
/// <summary> /// Checks if custom url is exists in system /// </summary> /// <param name="partialCustomUrl">Partial Custom Url with out domain</param> /// <returns></returns> public static bool ValidateCustomUrl(string partialCustomUrl) { if (!string.IsNullOrEmpty(partialCustomUrl)) { using (CustomUrlTableAdapter adapter = new CustomUrlTableAdapter()) { using (MasterDataSet.CustomUrlDataTable table = adapter.GetCustomUrls(null, null, partialCustomUrl, partialCustomUrl)) { if (table.Count > 0) { return(false); } else { Organization org = null; string segment = RemoveSchemeFormUri(partialCustomUrl); if (segment.Contains("-")) { org = OrganizationProvider.GetOrganizationByPseudoId(segment.Split('-')[0]); } else { org = OrganizationProvider.GetOrganizationByPseudoId(segment); } if (org == null) { MasterDataSet.CustomUrlRow row = GetCustomUrl(segment); if (row != null) { org = OrganizationProvider.GetOrganization(row.OrganizationId); } } return(org == null); } } } } return(false); }
/// <summary> /// Renders the logo of the specified instance or organization and the logo of the copyright holder company. /// </summary> /// <param name="writer">The System.Web.UI.HtmlTextWriter to render content to.</param> /// <param name="organizationId">The identifier of the organization to render logo of.</param> /// <param name="organizationId">The identifier of the instance to render logo of.</param> public static void RenderHeader(HtmlTextWriter writer, Guid organizationId, Guid instanceId) { if (FrameworkConfiguration.Current.WebApplication.MasterPage.Theme == Pages.MasterPageTheme.Modern) { return; } if (organizationId != Guid.Empty) { Organization org = OrganizationProvider.GetOrganization(organizationId); if (org != null) { Instance inst = null; if (FrameworkConfiguration.Current.WebApplication.EnableMultipleInstances) { if (instanceId != Guid.Empty) { inst = InstanceProvider.GetInstance(instanceId, organizationId); } } HyperLink link = null; CreateLogo(org, inst, ref link); if (link != null) { RenderHeader(writer, link); } } else { RenderHeader(writer); } } else { RenderHeader(writer); } }
private object DeleteOrganization(string id) { Micajah.Common.Bll.Organization org = null; Guid orgid = Guid.Empty; if (Guid.TryParseExact(id, "N", out orgid)) { org = OrganizationProvider.GetOrganization(orgid); } else { org = OrganizationProvider.GetOrganizationByPseudoId(id); } if (org == null) { return(new HttpResult("Organization not found", HttpStatusCode.NotFound)); } if (org.Deleted) { return(new HttpResult("Organization already inactive", HttpStatusCode.NotModified)); } OrganizationProvider.DeleteOrganization(org.OrganizationId); return(new HttpResult("Organization " + org.Name + " deleted", HttpStatusCode.OK)); }
public void ImportLdapGroups(Guid organizationId) { Organization organization = null; DataView dvDomains = null; DataView dvGroups = null; DataRow drDomain = null; DataRow drGroup = null; try { this.ThreadState = ThreadStateType.Running; if (FrameworkConfiguration.Current.WebApplication.Integration.Ldap.Enabled) { organization = OrganizationProvider.GetOrganization(organizationId); if (organization != null) { if (String.IsNullOrEmpty(organization.LdapServerAddress) == true || String.IsNullOrEmpty(organization.LdapServerPort) == true || String.IsNullOrEmpty(organization.LdapUserName) == true || String.IsNullOrEmpty(organization.LdapPassword) == true || String.IsNullOrEmpty(organization.LdapDomain) == true || !organization.Beta) { return; } dvDomains = LdapInfoProvider.GetDomains(organization.OrganizationId); if (dvDomains.Table.Rows.Count > 0) { using (OrganizationsLdapGroupsTableAdapter adapter = new OrganizationsLdapGroupsTableAdapter()) { for (int i = 0; i < dvDomains.Table.Rows.Count; i++) { drDomain = dvDomains.Table.Rows[i]; dvGroups = LdapInfoProvider.GetGroupsByDomainDistinguishedName(organization.OrganizationId, drDomain["DistinguishedName"].ToString()); if (dvGroups.Table.Rows.Count > 0) { adapter.Delete(organization.OrganizationId, drDomain["DomainName"].ToString()); for (int j = 0; j < dvGroups.Table.Rows.Count; j++) { drGroup = dvGroups.Table.Rows[j]; adapter.Insert(Guid.NewGuid(), organization.OrganizationId, (Guid)drDomain["Id"], drDomain["DomainName"].ToString(), (Guid)drGroup["Id"], drGroup["GroupName"].ToString(), drGroup["DistinguishedName"].ToString(), DateTime.UtcNow); } } } } } } } this.ThreadState = ThreadStateType.Finished; } catch (Exception ex) { this.ThreadState = ThreadStateType.Failed; this.ErrorException = ex; LdapInfoProvider.InsertLdapLog(organizationId, true, ex.Message); } finally { organization = null; drDomain = null; if (dvDomains != null) { dvDomains.Dispose(); } if (dvGroups != null) { dvGroups.Dispose(); } } }
/// <summary> /// Occurs when the login button is clicked. /// </summary> /// <param name="sender">The sourceRow of the event.</param> /// <param name="e">An EventArgs that contains no event data.</param> protected void LogOnButton_Click(object sender, EventArgs e) { string loginName = LoginTextBox.Text; try { if (LoginProvider.Current.Authenticate(loginName, PasswordTextBox.Text, true, true, this.OrganizationId, this.InstanceId)) { if (!string.IsNullOrEmpty(m_EmailToLink)) { if (!EmailProvider.IsEmailExists(m_EmailToLink)) { LinkEmailLabel.Text = string.Format(CultureInfo.InvariantCulture, Resources.LogOnControl_LinkEmailLabel_Text, loginName, m_EmailToLink); LinkEmailPanel.Visible = true; FormTable.Visible = false; if (LogoImagePanel != null) { LogoImagePanel.Visible = false; } m_MainContainerHeight = 150; } else { this.RedirectAfterLogOn(); } } else { this.RedirectAfterLogOn(); } } } catch (AuthenticationException ex) { string message = ex.Message; if (FrameworkConfiguration.Current.WebApplication.Integration.Google.Enabled) { IList domains = null; if (string.Compare(ex.Message, FrameworkConfiguration.Current.WebApplication.Login.FailureText, StringComparison.OrdinalIgnoreCase) == 0) { Organization org = OrganizationProvider.GetOrganization(this.OrganizationId); if (org == null) { OrganizationCollection orgs = LoginProvider.Current.GetOrganizationsByLoginName(loginName); if ((orgs != null) && (orgs.Count > 0)) { org = orgs[0]; } } if (org != null) { if (SettingProvider.OrganizationProviderIsGoogle(org.OrganizationId)) { domains = EmailSuffixProvider.GetEmailSuffixesList(org.OrganizationId); } } } if (domains == null) { domains = FrameworkConfiguration.Current.WebApplication.Integration.Google.MailDomains; } if (domains != null) { foreach (string domain in domains) { if (loginName.IndexOf(domain, StringComparison.OrdinalIgnoreCase) != -1) { message = Resources.LoginElement_GoogleFailureText; break; } } } } this.ShowErrorMessage(message); } }
private void CheckSignupUser() { if ((this.OrganizationId == Guid.Empty) || (this.InstanceId == Guid.Empty)) { Guid orgId = Guid.Empty; Guid insId = Guid.Empty; if (FrameworkConfiguration.Current.WebApplication.CustomUrl.Enabled && m_Organization == null) { if (!CustomUrlProvider.IsDefaultVanityUrl(Request.Url.Host)) { CustomUrlProvider.ParseHost(Request.Url.Host, ref orgId, ref insId); } } this.OrganizationId = orgId; this.InstanceId = insId; if ((this.OrganizationId == Guid.Empty) || (this.InstanceId == Guid.Empty)) { return; } } Organization organization = OrganizationProvider.GetOrganization(this.OrganizationId); if (organization != null) { if (organization.Deleted) { ShowErrorMessage(Resources.LogOnControl_OrganizationIsDeleted); return; } else if (!organization.Active) { ShowErrorMessage(Resources.LogOnControl_OrganizationIsInactive); return; } } else { ShowErrorMessage(Resources.LogOnControl_OrganizationIsNotFound); return; } Instance instance = InstanceProvider.GetInstance(this.InstanceId, this.OrganizationId); if (instance == null) { return; } if (!instance.Active) { ShowErrorMessage(Resources.LogOnControl_InstanceIsInactive); return; } this.OrganizationId = instance.OrganizationId; m_Organization = organization; m_Instance = instance; if (!instance.EnableSignupUser) { return; } Guid groupId = GroupProvider.GetGroupIdOfLowestRoleInInstance(instance.OrganizationId, instance.InstanceId); if (groupId != Guid.Empty) { m_MainContainerHeight = 300; SignupUserTable.Visible = true; } else { SignupUserButton.CommandArgument = string.Empty; } }
public ContactViewModel(string organizationId, Friend.Contact contact) { Organization = OrganizationProvider.GetOrganization(organizationId, TokenProvider.GetToken()); Contact = contact; }