/// <summary> /// Creates where condition according to values selected in filter. /// </summary> private WhereCondition GenerateWhereCondition() { var where = new WhereCondition(); where.And().Where(fltTaskTitle.GetCondition()); TaskTypeEnum taskType = (TaskTypeEnum)taskTypeSelector.Value.ToInteger(0); if (taskType != TaskTypeEnum.All) { where.WhereStartsWith("TaskType", TaskHelper.GetTaskTypeString(taskType)); } fltTimeBetween.Column = "TaskTime"; where.Where(fltTimeBetween.GetCondition()); var selected = ValidationHelper.GetInteger(userSelector.Value, -1); GetStagingTasksByUser(where, selected); var taskGroupSelected = ValidationHelper.GetInteger(stagingTaskGroupSelector.Value, -1); GetStagingTasksByTaskGroup(where, taskGroupSelected); return(where); }
protected void Page_Load(object sender, EventArgs e) { PageTitle.TitleText = GetString("newsletter_issue_subscribersclicks.title"); linkId = QueryHelper.GetInteger("linkid", 0); if (linkId == 0) { RequestHelper.EndResponse(); } LinkInfo link = LinkInfoProvider.GetLinkInfo(linkId); EditedObject = link; IssueInfo issue = IssueInfoProvider.GetIssueInfo(link.LinkIssueID); EditedObject = issue; // Prevent accessing issues from sites other than current site if (issue.IssueSiteID != SiteContext.CurrentSiteID) { RedirectToResourceNotAvailableOnSite("Issue with ID " + link.LinkIssueID); } var where = new WhereCondition().Where("LinkID", QueryOperator.Equals, linkId); // Link's issue is the main A/B test issue if (issue.IssueIsABTest && !issue.IssueIsVariant) { // Get A/B test and its winner issue ID ABTestInfo test = ABTestInfoProvider.GetABTestInfoForIssue(issue.IssueID); if (test != null) { // Get ID of the same link from winner issue var winnerLink = LinkInfoProvider.GetLinks() .WhereEquals("LinkIssueID", test.TestWinnerIssueID) .WhereEquals("LinkTarget", link.LinkTarget) .WhereEquals("LinkDescription", link.LinkDescription) .TopN(1) .Column("LinkID") .FirstOrDefault(); if (winnerLink != null) { if (winnerLink.LinkID > 0) { // Add link ID of winner issue link where.Or(new WhereCondition().Where("LinkID", QueryOperator.Equals, winnerLink.LinkID)); } } } } where.And(new WhereCondition(fltOpenedBy.WhereCondition)); UniGrid.WhereCondition = where.WhereCondition; UniGrid.QueryParameters = where.Parameters; UniGrid.Pager.DefaultPageSize = PAGESIZE; UniGrid.Pager.ShowPageSize = false; UniGrid.FilterLimit = 1; UniGrid.OnExternalDataBound += UniGrid_OnExternalDataBound; }
protected void Page_Load(object sender, EventArgs e) { PageTitle.TitleText = GetString("newsletter_issue_openedby.title"); var issue = (IssueInfo)EditedObject; issueID = issue.IssueID; // Do not show page if reports are not available if (issue.IssueSentEmails <= 0) { ShowInformation(GetString("newsletter.issue.overviewnotsentyet")); UniGrid.Visible = false; fltOpenedBy.Visible = false; return; } // Prevent accessing issues from sites other than current site if (issue.IssueSiteID != SiteContext.CurrentSiteID) { RedirectToResourceNotAvailableOnSite("Issue with ID " + issueID); } // Issue is the main A/B test issue isMainABTestIssue = issue.IssueIsABTest && !issue.IssueIsVariant; if (isMainABTestIssue) { // Initialize variant selector in the filter fltOpenedBy.IssueId = issue.IssueID; if (RequestHelper.IsPostBack()) { // Get issue ID from variant selector issueID = fltOpenedBy.IssueId; } // Reset ID for main issue, grid will show data from main and winner variant issues if (issueID == issue.IssueID) { issueID = 0; } } var whereCondition = new WhereCondition(fltOpenedBy.WhereCondition); if (issueID > 0) { whereCondition.And(w => w.WhereEquals("OpenedEmailIssueID", issueID)); } UniGrid.WhereCondition = whereCondition.ToString(true); UniGrid.Pager.DefaultPageSize = PAGESIZE; UniGrid.Pager.ShowPageSize = false; UniGrid.FilterLimit = 1; UniGrid.OnExternalDataBound += UniGrid_OnExternalDataBound; UniGrid.OnBeforeDataReload += UniGrid_OnBeforeDataReload; UniGrid.ZeroRowsText = GetString("newsletter.issue.noopenmails"); }
protected void Page_Load(object sender, EventArgs e) { PageTitle.TitleText = GetString("newsletter_issue_openedby.title"); issueId = QueryHelper.GetInteger("objectid", 0); if (issueId == 0) { RequestHelper.EndResponse(); } IssueInfo issue = IssueInfoProvider.GetIssueInfo(issueId); EditedObject = issue; // Prevent accessing issues from sites other than current site if (issue.IssueSiteID != SiteContext.CurrentSiteID) { RedirectToResourceNotAvailableOnSite("Issue with ID " + issueId); } // Issue is the main A/B test issue isMainABTestIssue = issue.IssueIsABTest && !issue.IssueIsVariant; if (isMainABTestIssue) { // Initialize variant selector in the filter fltOpenedBy.IssueId = issue.IssueID; if (RequestHelper.IsPostBack()) { // Get issue ID from variant selector issueId = fltOpenedBy.IssueId; } // Reset ID for main issue, grid will show data from main and winner variant issues if (issueId == issue.IssueID) { issueId = 0; } } var where = new WhereCondition(); if (issueId > 0) { where.Where("IssueID", QueryOperator.Equals, issueId); } where.And(new WhereCondition(fltOpenedBy.WhereCondition)); UniGrid.QueryParameters = where.Parameters; UniGrid.WhereCondition = where.WhereCondition; UniGrid.Pager.DefaultPageSize = PAGESIZE; UniGrid.Pager.ShowPageSize = false; UniGrid.FilterLimit = 1; UniGrid.OnExternalDataBound += UniGrid_OnExternalDataBound; UniGrid.OnBeforeDataReload += UniGrid_OnBeforeDataReload; }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); PageTitle.TitleText = GetString("newsletter_issue_openedby.title"); issueID = Issue.IssueID; // Do not show page if reports are not available if (Issue.IssueSentEmails <= 0) { ShowInformation(GetString("newsletter.issue.overviewnotsentyet")); UniGrid.Visible = false; fltOpenedBy.Visible = false; return; } // Issue is the main A/B test issue isMainABTestIssue = Issue.IssueIsABTest && !Issue.IssueIsVariant; if (isMainABTestIssue) { // Initialize variant selector in the filter fltOpenedBy.IssueId = Issue.IssueID; if (RequestHelper.IsPostBack()) { // Get issue ID from variant selector issueID = fltOpenedBy.IssueId; } // Reset ID for main issue, grid will show data from main and winner variant issues if (issueID == Issue.IssueID) { issueID = 0; } } var whereCondition = new WhereCondition(fltOpenedBy.WhereCondition); if (issueID > 0) { whereCondition.And(w => w.WhereEquals("OpenedEmailIssueID", issueID)); } UniGrid.WhereCondition = whereCondition.ToString(true); UniGrid.Pager.DefaultPageSize = PAGESIZE; UniGrid.Pager.ShowPageSize = false; UniGrid.FilterLimit = 1; UniGrid.OnExternalDataBound += UniGrid_OnExternalDataBound; UniGrid.OnBeforeDataReload += UniGrid_OnBeforeDataReload; UniGrid.ZeroRowsText = GetString("newsletter.issue.noopenmails"); }
protected void Page_Load(object sender, EventArgs e) { PageTitle.TitleText = GetString("newsletter_issue_subscribersclicks.title"); linkId = QueryHelper.GetInteger("linkid", 0); if (linkId == 0) { RequestHelper.EndResponse(); } LinkInfo link = LinkInfoProvider.GetLinkInfo(linkId); EditedObject = link; IssueInfo issue = IssueInfoProvider.GetIssueInfo(link.LinkIssueID); EditedObject = issue; // Prevent accessing issues from sites other than current site if (issue.IssueSiteID != SiteContext.CurrentSiteID) { RedirectToResourceNotAvailableOnSite("Issue with ID " + link.LinkIssueID); } var listingWhereCondition = new WhereCondition().Where("LinkID", QueryOperator.Equals, linkId); // Link's issue is the main A/B test issue if (issue.IssueIsABTest && !issue.IssueIsVariant) { // Get A/B test and its winner issue ID ABTestInfo test = ABTestInfoProvider.GetABTestInfoForIssue(issue.IssueID); if (test != null) { // Get ID of the same link from winner issue var winnerLink = LinkInfoProvider.GetLinks() .WhereEquals("LinkIssueID", test.TestWinnerIssueID) .WhereEquals("LinkTarget", link.LinkTarget) .WhereEquals("LinkDescription", link.LinkDescription) .TopN(1) .Column("LinkID") .FirstOrDefault(); if (winnerLink != null) { if (winnerLink.LinkID > 0) { // Add link ID of winner issue link listingWhereCondition.Or(new WhereCondition().Where("LinkID", QueryOperator.Equals, winnerLink.LinkID)); } } } } var filterCondition = new WhereCondition(fltOpenedBy.WhereCondition) { // True ensures that where condition will be placed into brackets when combining with different WHERE condition WhereIsComplex = true }; listingWhereCondition.And(filterCondition); UniGrid.WhereCondition = listingWhereCondition.WhereCondition; UniGrid.QueryParameters = listingWhereCondition.Parameters; UniGrid.Pager.DefaultPageSize = PAGESIZE; UniGrid.Pager.ShowPageSize = false; UniGrid.FilterLimit = 1; UniGrid.OnExternalDataBound += UniGrid_OnExternalDataBound; }
protected void SetupControls() { // If current control context is widget or livesite hide site selector if (ControlsHelper.CheckControlContext(this, ControlContext.WIDGET_PROPERTIES) || ControlsHelper.CheckControlContext(this, ControlContext.LIVE_SITE)) { ShowSiteFilter = false; } // Set prefix if not set if (ResourcePrefix == String.Empty) { // Set resource prefix based on mode if ((SelectionMode == SelectionModeEnum.Multiple) || (SelectionMode == SelectionModeEnum.MultipleButton) || (SelectionMode == SelectionModeEnum.MultipleTextBox)) { usUsers.ResourcePrefix = "selectusers"; } } // Add sites filter if (ShowSiteFilter) { usUsers.FilterControl = "~/CMSFormControls/Filters/SiteFilter.ascx"; usUsers.SetValue("DefaultFilterValue", (SiteID > 0) ? SiteID : SiteContext.CurrentSiteID); usUsers.SetValue("FilterMode", "user"); } // Generate WhereCondtion based on SelectUser's properties var usersWhereCondition = new WhereCondition(); var userTypeInfo = ObjectTypeManager.GetTypeInfo(UserInfo.OBJECT_TYPE); // Hide hidden users if (HideHiddenUsers) { var apparentUsersCondition = new WhereCondition().WhereEqualsOrNull("UserIsHidden", 0); usersWhereCondition.And(apparentUsersCondition); } // Hide disabled users if (HideDisabledUsers) { var enabledUsersCondition = new WhereCondition(UserInfoProvider.USER_ENABLED_WHERE_CONDITION); usersWhereCondition.And(enabledUsersCondition); } // Hide non-approved users if (HideNonApprovedUsers) { var approvedUserIDs = UserSettingsInfoProvider .GetUserSettings() .WhereEqualsOrNull("UserWaitingForApproval", 0) .Column("UserSettingsUserID"); var approvedUsersCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, approvedUserIDs); usersWhereCondition.And(approvedUsersCondition); } // Select group users if (GroupID > 0) { var groupUserIDs = new ObjectQuery(PredefinedObjectType.GROUPMEMBER) .WhereEquals("MemberGroupID", GroupID) .Column("MemberUserID"); // Hide non-approved group users if (HideNonApprovedUsers) { groupUserIDs.WhereNull("MemberRejectedWhen"); } var usersInGroupCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, groupUserIDs); usersWhereCondition.And(usersInGroupCondition); } // Select users in role if (RoleID > 0) { var usersInRoleIDs = UserRoleInfoProvider .GetUserRoles() .WhereEquals("RoleID", RoleID) .Column("UserID"); var usersInRoleCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, usersInRoleIDs); usersWhereCondition.And(usersInRoleCondition); } // Select users depending on site; if filter enabled, where condition is added from filter itself if (!ShowSiteFilter && (SiteID >= 0) && !DisplayUsersFromAllSites) { int siteID = (SiteID == 0) ? SiteContext.CurrentSiteID : SiteID; var siteUserIDs = UserSiteInfoProvider .GetUserSites() .WhereEquals("SiteID", siteID) .Column("UserID"); var siteUsersCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, siteUserIDs); if (TreatGlobalAdminsAsSiteUsers) { siteUsersCondition.Or(GetPrivilegeLevelCondition()); } usersWhereCondition.And(siteUsersCondition); } if (AlwaysShowGlobalAdministrators) { // New instance has to be created in order to produce brackets usersWhereCondition = new WhereCondition(usersWhereCondition).Or(GetPrivilegeLevelCondition()); } // Add additional users if ((AdditionalUsers != null) && (AdditionalUsers.Length > 0)) { var additionalUsersCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, AdditionalUsers); new WhereCondition(usersWhereCondition).Or(additionalUsersCondition); } // Control where condition if (!String.IsNullOrEmpty(WhereCondition)) { usersWhereCondition = new WhereCondition(usersWhereCondition).And(new WhereCondition(WhereCondition)); } // Append generated where condition usUsers.WhereCondition = SqlHelper.AddWhereCondition(usUsers.WhereCondition, usersWhereCondition.ToString(expand: true)); pnlUpdate.ShowProgress = (SelectionMode == SelectionModeEnum.Multiple); }
/// <summary> /// Action button handler. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { if (!String.IsNullOrEmpty(drpAction.SelectedValue)) { List <string> items = null; if (drpWhat.SelectedValue == "all") { // Get only the appropriate set of items var whereCondition = new WhereCondition(siteWhere); switch (drpAction.SelectedValue) { case "deleteindatabase": case "copytofilesystem": // Only process those where binary is available in DB whereCondition.And().WhereNotNull("AttachmentBinary"); break; case "copytodatabase": // Only copy those where the binary is missing whereCondition.And().WhereNull("AttachmentBinary"); break; } // Get all, build the list of items DataSet ds = AttachmentInfoProvider.GetAttachments() .Where(whereCondition) .OrderBy(gridFiles.SortDirect) .BinaryData(false) .Columns("AttachmentID"); if (!DataHelper.DataSourceIsEmpty(ds)) { items = new List <string>(); // Process all rows foreach (DataRow dr in ds.Tables[0].Rows) { int attachmentId = ValidationHelper.GetInteger(dr["AttachmentID"], 0); items.Add(attachmentId.ToString()); } } } else { // Take selected items items = gridFiles.SelectedItems; } if ((items != null) && (items.Count > 0)) { // Setup the async log pnlLog.Visible = true; pnlContent.Visible = false; ctlAsyncLog.TitleText = drpAction.SelectedItem.Text; CurrentError = string.Empty; // Process the file asynchronously var parameter = new object[] { items, drpAction.SelectedValue }; ctlAsyncLog.RunAsync(p => ProcessFiles(parameter), WindowsIdentity.GetCurrent()); } } }
/// <summary> /// Creates where condition according to values selected in filter. /// </summary> private WhereCondition GenerateWhereCondition() { var where = new WhereCondition(); where.And().Where(fltTaskTitle.GetCondition()); TaskTypeEnum taskType = (TaskTypeEnum)taskTypeSelector.Value.ToInteger(0); if (taskType != TaskTypeEnum.All) { where.WhereStartsWith("TaskType", TaskHelper.GetTaskTypeString(taskType)); } fltTimeBetween.Column = "TaskTime"; where.Where(fltTimeBetween.GetCondition()); var selected = ValidationHelper.GetInteger(userSelector.Value, -1); GetStagingTasksByUser(where, selected); var taskGroupSelected = ValidationHelper.GetInteger(stagingTaskGroupSelector.Value, -1); GetStagingTasksByTaskGroup(where, taskGroupSelected); return where; }