private void ExportSubscriptions(bool all, bool perUser) { List <int> selectedSubscriptions = new List <int>(); if (all) { int subscriptionPlanId = AlwaysConvert.ToInt(SubscriptionPlan.SelectedValue); IList <Subscription> subscriptions = SubscriptionDataSource.Search(subscriptionPlanId, OrderNumber.Text, string.Empty, FirstName.Text, LastName.Text, Email.Text, ExpirationStart.SelectedDate, ExpirationEnd.SelectedDate, BitFieldState.Any); foreach (Subscription subscription in subscriptions) { selectedSubscriptions.Add(subscription.Id); } } else { List <DataKey> selectedItems = GetSelectedItems(); foreach (DataKey item in selectedItems) { selectedSubscriptions.Add((int)item.Value); } } if (selectedSubscriptions.Count <= 0) { return; } Session["Subscriptions_To_Export"] = selectedSubscriptions; StringBuilder exportJS = new StringBuilder(); exportJS.AppendLine("var iframe = document.createElement(\"iframe\");"); exportJS.AppendLine("iframe.src = \"ExportSubscriptions.ashx?PerUser="******"\";"); exportJS.AppendLine("iframe.style.display = \"none\";"); exportJS.AppendLine("document.body.appendChild(iframe);"); ScriptManager.RegisterClientScriptBlock(SubscriptionsAjax, typeof(UpdatePanel), "downloadexportfile", exportJS.ToString(), true); }
private void SendEmail(bool all, bool perUser) { List <int> selectedIds = new List <int>(); if (all) { if (perUser) { int subscriptionPlanId = AlwaysConvert.ToInt(SubscriptionPlan.SelectedValue); IList <Subscription> subscriptions = SubscriptionDataSource.Search(subscriptionPlanId, OrderNumber.Text, string.Empty, FirstName.Text, LastName.Text, Email.Text, ExpirationStart.SelectedDate, ExpirationEnd.SelectedDate, (BitFieldState)Enum.Parse(typeof(BitFieldState), ActiveOnly.SelectedValue)); foreach (Subscription subscription in subscriptions) { int userId = subscription.User.Id; if (!selectedIds.Contains(userId)) { selectedIds.Add(userId); } } } else { int subscriptionPlanId = AlwaysConvert.ToInt(SubscriptionPlan.SelectedValue); IList <Subscription> subscriptions = SubscriptionDataSource.Search(subscriptionPlanId, OrderNumber.Text, string.Empty, FirstName.Text, LastName.Text, Email.Text, ExpirationStart.SelectedDate, ExpirationEnd.SelectedDate, (BitFieldState)Enum.Parse(typeof(BitFieldState), ActiveOnly.SelectedValue)); foreach (Subscription subscription in subscriptions) { selectedIds.Add(subscription.Id); } } } else { if (perUser) { List <DataKey> selectedItems = GetSelectedItems(); foreach (DataKey item in selectedItems) { if (item.Values.Count > 1) { int userId = AlwaysConvert.ToInt(item.Values[1].ToString()); if (!selectedIds.Contains(userId)) { selectedIds.Add(userId); } } } } else { List <DataKey> selectedItems = GetSelectedItems(); foreach (DataKey item in selectedItems) { int subscriptionId = AlwaysConvert.ToInt(item.Value.ToString()); selectedIds.Add(subscriptionId); } } } if (selectedIds.Count < 1) { return; } Session["SendMail_IdList"] = (perUser ? "UserId:" : "SubscriptionId:") + AlwaysConvert.ToList(",", selectedIds); Response.Redirect("../Users/SendMail.aspx?ReturnUrl=" + Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("~/Admin/People/Subscriptions/Default.aspx"))); }