Exemplo n.º 1
0
        protected void btnUnsubscribe_Click(Object sender, EventArgs e)
        {
            if (inputEmail.Value.HasNoText())
            {
                message.MessageText  = "Email is required.";
                message.MessageClass = Admin.Controls.MessageClassesEnum.System;
            }

            if (message.MessageText.HasNoText())
            {
                var subBLL = new SubscribeBLL();

                Helper.InsertEmailInSpamList(inputEmail.Value.Trim());

                if (subBLL.UnsubscribeByEmail(inputEmail.Value.Trim()))
                {
                    message.MessageText  = "You have been successfully unsubscribed. Please allow 48 hours for this to take effect. Thank you.";
                    message.MessageClass = Admin.Controls.MessageClassesEnum.Ok;
                }
                else
                {
                    message.MessageText  = "Your address has been removed from our mailing list.";
                    message.MessageClass = Admin.Controls.MessageClassesEnum.Ok;
                }
            }

            if (message.MessageClass == Admin.Controls.MessageClassesEnum.Ok)
            {
                message.RedirectToShowMessage();
            }
            else
            {
                message.ShowMessage();
            }
        }
Exemplo n.º 2
0
        protected void Page_Load(Object sender, EventArgs e)
        {
            var verificationCode = Request["vcode"];
            var message          = "Email verification failed. Please check to ensure that you have copied the entire URL to the locaton bar in your browser. If you continue to have problems, please <a href=" + ResolveUrl("~/contacts.aspx") + " >contact us</a> for assistance.";
            var result           = false;

            if (!String.IsNullOrEmpty(verificationCode) && verificationCode.Length >= 10)
            {
                var subscriberId = verificationCode.Substring(9);

                if (subscriberId.Length > 0 && Helper.IsNumeric(subscriberId))
                {
                    var subscriberBLL = new SubscribeBLL();

                    if (subscriberBLL.Subscribe(Convert.ToInt32(subscriberId)))
                    {
                        TryRemoveFromSpamList(subscriberId);

                        message = "Your email has been verified successfully. You will soon start receiving our email flyer campaigns. Thank you being part of " + clsUtility.SiteBrandName + " community.";
                        result  = true;
                    }
                }

                if (result)
                {
                    divSummary.Attributes["class"] += " saved";
                    ltlMessage.Text = message;
                }
                else
                {
                    divSummary.Attributes["class"] += " error";
                    ltlMessage.Text = message;
                }
            }
            else
            {
                divSummary.Attributes["class"] += " error";
                ltlMessage.Text = message;
            }
        }
Exemplo n.º 3
0
        protected void lbUnsubscribeByIdAndSecret_Command(Object sender, CommandEventArgs e)
        {
            var subscriberIdStr = Request["s"];
            var key             = Request["k"];

            Int64 @int64;
            Int64 subscriberId = 0L;

            if (!Int64.TryParse(subscriberIdStr, out @int64))
            {
                message.MessageText  = "Subscriber ID should be an integral number.";
                message.MessageClass = Admin.Controls.MessageClassesEnum.System;
            }
            else
            {
                subscriberId = @int64;
            }

            if (message.MessageText.HasNoText())
            {
                try
                {
                    var subBLL = new SubscribeBLL();
                    var subscribersDataTable = subBLL.GetSubscriberById(subscriberId);

                    if (subscribersDataTable.Rows.Count > 0)
                    {
                        var lastName     = subscribersDataTable.Rows[0]["last_name"] as String;
                        var lastNameHash = SecurityHelper.GetHashOfString(lastName).Substring(0, 5);

                        if (String.Compare(key, lastNameHash, true) != 0)
                        {
                            message.MessageText  = String.Format("k parameter is not valid. Ensure that you opened this page from link in your e-mail box. Also you can unsubscribe <a href='{0}'>here</a>. You can <a href='{1}'>contact us</a> for assistance.", ResolveUrl("~/unsubscribe.aspx"), ResolveUrl("~/contacts.aspx"));
                            message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                        }

                        if (message.MessageText.HasNoText())
                        {
                            if (subBLL.Unsubscribe(subscriberId))
                            {
                                message.MessageClass = Admin.Controls.MessageClassesEnum.Ok;

                                try
                                {
                                    using (var obj = new clsData())
                                    {
                                        obj.strSql = @"insert into tblUnsubscribers(Subscriber_ID, LastName, UnsubscribeDateTime, IPAddress)
        values(" + subscriberId + ", '" + lastName.Replace("'", "''") + "', '" + DateTime.Now.ToString() + "', '" + Request.UserHostAddress + "')";

                                        obj.ExecuteSql();
                                    }
                                }
                                catch
                                {
                                }
                            }
                            else
                            {
                                message.MessageText  = String.Format("System encountered a problem. Please try again later or <a href='{0}'>contact us</a> for assistance.", ResolveUrl("~/contacts.aspx"));
                                message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                            }
                        }
                    }
                    else
                    {
                        message.MessageText  = String.Format("Subscriber ID {0} doesn't exist.", subscriberIdStr);
                        message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                    }
                }
                catch (Exception ex)
                {
                    message.MessageText  = String.Format("Unhandled error occured. Please try again later or <a href='{0}'>contact us</a> for assistance. Message: {1}", ResolveUrl("~/contacts.aspx"), ex.Message);
                    message.MessageClass = Admin.Controls.MessageClassesEnum.Error;
                }
            }

            if (message.MessageClass != Admin.Controls.MessageClassesEnum.Ok)
            {
                message.ShowMessage();
            }
            else
            {
                message.HideMessage();
                divUnsubscibeByIdAndSecretPreview.Visible = false;
                divSubscibeByIdAndSecret.Visible          = true;
            }
        }
Exemplo n.º 4
0
        protected void lbSubscribeByIdAndSecret_Command(Object sender, CommandEventArgs e)
        {
            if (CanSubscribeByIdAndKey())
            {
                var subscriberIdStr = Request["s"];
                var key             = Request["k"];

                Int64 @int64;
                Int64 subscriberId = 0L;

                if (!Int64.TryParse(subscriberIdStr, out @int64))
                {
                    message.MessageText  = "Subscriber ID should be an integral number.";
                    message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                }
                else
                {
                    subscriberId = @int64;
                }

                if (message.MessageText.HasNoText())
                {
                    try
                    {
                        var subBLL = new SubscribeBLL();
                        var subscribersDataTable = subBLL.GetSubscriberById(subscriberId);

                        if (subscribersDataTable.Rows.Count > 0)
                        {
                            var lastName     = subscribersDataTable.Rows[0]["last_name"] as String;
                            var lastNameHash = SecurityHelper.GetHashOfString(lastName).Substring(0, 5);

                            if (String.Compare(key, lastNameHash, true) != 0)
                            {
                                message.MessageText  = String.Format("k parameter is not valid. Ensure that you opened this page from link in your e-mail box. Also you can subscribe <a href='{0}'>here</a>.", ResolveUrl("~/subscribe.aspx"), ResolveUrl("~/contacts.aspx"));
                                message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                            }

                            if (subBLL.Subscribe(subscriberId))
                            {
                                message.MessageClass = Admin.Controls.MessageClassesEnum.Ok;
                                message.MessageText  = "Subscription has been successfully recovered.";

                                try
                                {
                                    using (var obj = new clsData())
                                    {
                                        obj.strSql = @"delete from tblUnsubscribers where Subscriber_ID=" + subscriberId.ToString();
                                        obj.ExecuteSql();
                                    }
                                }
                                catch
                                {
                                }
                            }
                            else
                            {
                                message.MessageText  = String.Format("System encountered a problem. Please try again later or <a href='{0}'>contact us</a> for assistance.", ResolveUrl("~/contacts.aspx"));
                                message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                            }
                        }
                        else
                        {
                            message.MessageText  = String.Format("Subscriber ID {0} doesn't exist.", subscriberIdStr);
                            message.MessageClass = Admin.Controls.MessageClassesEnum.System;
                        }
                    }
                    catch (Exception ex)
                    {
                        message.MessageText  = String.Format("Unhandled error occured. Please try again later or <a href='{0}'>contact us</a> for assistance. Message: {1}", ResolveUrl("~/contacts.aspx"), ex.Message);
                        message.MessageClass = Admin.Controls.MessageClassesEnum.Error;
                    }
                }
            }
            else
            {
                message.MessageText  = String.Format("Not applicable. Subscription recovery is only available for those who have unsubscribed from email link. You can subscribe <a href='{0}'>here</a>.", ResolveUrl("~/subscribe.aspx"));
                message.MessageClass = Admin.Controls.MessageClassesEnum.System;
            }

            if (message.MessageClass != Admin.Controls.MessageClassesEnum.Ok)
            {
                message.ShowMessage();
            }
            else
            {
                message.ShowMessage();
                divUnsubscibeByIdAndSecretPreview.Visible = true;
                divSubscibeByIdAndSecret.Visible          = false;
            }
        }