public EditSubscriberView(Entities.Subscribers editMe, NewsletterManager.Mapping.SubscriberMap subscriberMap)
 {
     this.editMe = editMe;
     InitializeComponent();
     subscriberMapping = subscriberMap;
     DisplaySubscriber();
 }
    private void SendNewsletters()
    {
        ProcessNewsletter processnewsletter = new ProcessNewsletter();
        NewsletterManager newslettermngr    = new NewsletterManager();

        try
        {
            processnewsletter.Invoke();
            newslettermngr.MessageBody = base.NewsletterBody;
            newslettermngr.UserData    = processnewsletter.ResultSet;
            newslettermngr.SendNewsletter();
        }
        catch
        {
            Response.Redirect("../ErrorPage.aspx");
        }
    }
        public async Task <ActionResult> SubscribeAsync(string SubscriberEmail)
        {
            var success = false;

            try
            {
                var manager       = new NewsletterManager();
                var newSubscriber = await manager.SubscribeEmailToNewsletter(SubscriberEmail);

                if (newSubscriber != null)
                {
                    success = true;
                }
            }
            catch (Exception e)
            {
                success = false;
            }

            return(Json(new { success = success }));
        }
Exemple #4
0
        /// <summary>
        /// Method Name: SignUp.
        /// Method Purpose: This method used to sign up.
        /// Author: Mena Armanyous.
        /// Modification Date: April 27, 2011.
        /// </summary>
        /// <param name="pASPNetUserID"></param>
        /// <param name="pAccount"></param>
        /// <param name="pContact"></param>
        /// <param name="pNewsLetterSubscribe"></param>
        /// <returns></returns>
        public bool SignUp(Guid pASPNetUserID, Account pAccount, Contact pContact, bool pNewsLetterSubscribe)
        {
            try
            {
                //set the newly created user as logged in
                pAccount.IsLoggedIn = true;

                // create new contact with its related account information.
                pContact.Account = pAccount;

                OnlineAccountsManager lOnlineManager = new OnlineAccountsManager();
                lOnlineManager.CreateContact(pContact);

                //set aspnet_users for account
                pContact.Account.aspnet_Users = new AccountAdministrationManager().GetAspNetUser(pASPNetUserID);

                this.SendSignUpConfirmationMail(pContact, HttpContext.Current.Request.IsSecureConnection);

                #region Athenticate user
                // authenticate signed up user.
                string strUserName = (pContact.Account.aspnet_Users.UserName);
                SessionManager.Set <string>(enumSessionKeys.UserName, strUserName);
                FormsAuthentication.SetAuthCookie(strUserName, false);

                #endregion

                // update signed up user related navigation state.
                UpdateNavigationState(pASPNetUserID);

                //updated by Randa Salah Eldin as newsletter will not be connected with the Account anymore
                if (pNewsLetterSubscribe)
                {
                    NewsletterManager lNewsletterManager = new NewsletterManager();

                    if (pNewsLetterSubscribe && lNewsletterManager.IsUserSubscribed(pContact.Email) == false)
                    {
                        lNewsletterManager.AddNewsletterSubscriber(pContact.Email);
                    }
                    else if (pNewsLetterSubscribe == false && lNewsletterManager.IsUserSubscribed(pContact.Email) == true)
                    {
                        lNewsletterManager.UnsubscribeFromNewsLetter(pContact.Email);
                    }
                }

                #region Session Fixation Security Threat - FIX
                // written by rabie @ 15 july 2012
                new AccountAdministrationManager().RegenerateSessionID(false, true);
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                if (!ExceptionHandler.IsUserFriendly(ex))
                {
                    ex.Data.Add("ClassName", "NavBase");
                    ex.Data.Add("MethodName", "SignUp");
                    ExceptionHandler.handle(ex);
                }
                else
                {
                    throw ex;
                }
                return(false);
            }
        }
Exemple #5
0
 public NewsletterController()
 {
     this.NewsletterManager = new NewsletterManager();
 }
Exemple #6
0
        public void ProcessRequest(HttpContext context)
        {
            string email  = context.Request.QueryString["email"];
            string action = context.Request.QueryString["action"];

            if (email != null && email != "")
            {
                email = email.Trim();
            }


            if (action == null)
            {
                action = "";
            }

            NewsletterManager nMgr = new NewsletterManager();

            switch (action)
            {
            case "create":
            case "add":
                if (Validation.IsEmail(email))
                {
                    try
                    {
                        nMgr.AddUser(email, "", 10);
                    }
                    catch (Exception Ex)
                    {
                        context.Response.Write(Ex.Message);
                        context.Response.End();
                    }
                    context.Response.Write("success");
                }
                else
                {
                    context.Response.Write("Incorrect Email Address");
                }
                break;

            case "update":
                string oldEmail = context.Request.QueryString["oldEmail"];
                try
                {
                    nMgr.DeleteUser(oldEmail);
                }
                catch (Exception Ex)
                {
                    context.Response.Write(Ex.Message);
                    context.Response.End();
                }
                if (Validation.IsEmail(email))
                {
                    try
                    {
                        nMgr.AddUser(email, "", 10);
                        context.Response.Write("success");
                    }
                    catch (Exception Ex)
                    {
                        context.Response.Write(Ex.Message);
                        context.Response.End();
                    }
                }
                else
                {
                    context.Response.Write("Incorrect Email Address");
                }
                break;

            case "remove":
            case "delete":
            case "unsubscribe":
                try
                {
                    nMgr.DeleteUser(email);
                    context.Response.Write("success");
                }
                catch
                {
                    context.Response.Write("Error, could not delete your email");
                }
                break;

            default:
                Config cfg = new Config();
                string latestNewsletter = cfg.GetKey(CTE.Settings.LatestNewsletter);
                if (!String.IsNullOrWhiteSpace(latestNewsletter))
                {
                    WebContext.Response.Redirect(latestNewsletter);
                }
                else
                {
                    WebContext.Response.Redirect("~/");
                }
                break;
            }
        }
        /// <summary>
        /// Method Name: SignUp.
        /// Method Purpose: This method used to sign up.
        /// Author: Mena Armanyous.
        /// Modification Date: April 27, 2011.
        /// </summary>
        /// <param name="pASPNetUserID"></param>
        /// <param name="pAccount"></param>
        /// <param name="pContact"></param>
        /// <param name="pNewsLetterSubscribe"></param>
        /// <returns></returns>
        public bool SignUp(Guid pASPNetUserID, Account pAccount, Contact pContact, bool pNewsLetterSubscribe)
        {
            try
            {
                //set the newly created user as logged in
                pAccount.IsLoggedIn = true;

                // create new contact with its related account information.
                pContact.Account = pAccount;

                OnlineAccountsManager lOnlineManager = new OnlineAccountsManager();
                lOnlineManager.CreateContact(pContact);

                //set aspnet_users for account
                pContact.Account.aspnet_Users = new AccountAdministrationManager().GetAspNetUser(pASPNetUserID);

                this.SendSignUpConfirmationMail(pContact, HttpContext.Current.Request.IsSecureConnection);

                #region Athenticate user
                // authenticate signed up user.
                string strUserName = (pContact.Account.aspnet_Users.UserName);
                SessionManager.Set<string>(enumSessionKeys.UserName,strUserName);
                FormsAuthentication.SetAuthCookie(strUserName, false);

                #endregion

                // update signed up user related navigation state.
                UpdateNavigationState(pASPNetUserID);

                //updated by Randa Salah Eldin as newsletter will not be connected with the Account anymore
                if (pNewsLetterSubscribe)
                {
                    NewsletterManager lNewsletterManager = new NewsletterManager();

                    if (pNewsLetterSubscribe && lNewsletterManager.IsUserSubscribed(pContact.Email) == false)
                    {

                        lNewsletterManager.AddNewsletterSubscriber(pContact.Email);
                    }
                    else if (pNewsLetterSubscribe == false && lNewsletterManager.IsUserSubscribed(pContact.Email) == true)
                    {
                        lNewsletterManager.UnsubscribeFromNewsLetter(pContact.Email);
                    }
                }

                #region Session Fixation Security Threat - FIX
                // written by rabie @ 15 july 2012
                new AccountAdministrationManager().RegenerateSessionID(false,true);
                #endregion

                return true;
            }
            catch (Exception ex)
            {
                if (!ExceptionHandler.IsUserFriendly(ex))
                {
                    ex.Data.Add("ClassName", "NavBase");
                    ex.Data.Add("MethodName", "SignUp");
                    ExceptionHandler.handle(ex);
                }
                else
                { throw ex; }
                return false;
            }
        }