protected void Page_Load(object sender, EventArgs e)
    {
        SetMeta(new MetaInfo(string.Format("{0} - {1}", SettingsMain.ShopName, Resources.Resource.Client_SubscribeDeactivate_DeleteSubscribe)), null);

        if (!IsPostBack)
        {
            if (Page.Request["ID"] != null)
            {
                try
                {
                    var temp = SubscribeService.SubscribeGetEmailCountByDeactivateCode(Page.Request["ID"]);
                    if (temp != 1)
                    {
                        ShowMessage(Notify.NotifyType.Error, Resources.Resource.Client_SubscribeDeactivate_DamageLink);
                        return;
                    }

                    var email = SubscribeService.SubscribeDeleteEmail(Page.Request["ID"]);
                    if (SettingsMailChimp.MailChimpActive)
                    {
                        MailChimp.UnsubscribeListMember(SettingsMailChimp.MailChimpId,
                                                        SettingsMailChimp.MailChimpRegUsersList, email);
                    }
                    MultiView1.SetActiveView(viewMessage);
                    lblInfo.Text    = Resources.Resource.Client_SubscribeDeactivate_Deactivated;
                    lblInfo.Visible = true;
                }
                catch (Exception ex)
                {
                    AdvantShop.Diagnostics.Debug.LogError(ex);
                    ShowMessage(Notify.NotifyType.Error, ex.Message + " at Subscribe <br/>");
                }
            }
        }
    }
示例#2
0
 protected void btnSend_Click(object sender, EventArgs e)
 {
     if (!IsValidData())
     {
         return;
     }
     if (SettingsMailChimp.MailChimpActive)
     {
         if (rbToAll.Checked)
         {
             MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpRegUsersList, txtTitle.Text,
                                SettingsMail.From, SettingsMain.ShopName, string.Empty, fckMailContent.Text);
             MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpUnRegUsersList,
                                txtTitle.Text, SettingsMail.From, SettingsMain.ShopName, string.Empty,
                                fckMailContent.Text);
         }
         if (rbToReg.Checked)
         {
             MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpRegUsersList, txtTitle.Text,
                                SettingsMail.From, SettingsMain.ShopName, string.Empty, fckMailContent.Text);
         }
         if (rbToUnReg.Checked)
         {
             MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpUnRegUsersList,
                                txtTitle.Text, SettingsMail.From, SettingsMain.ShopName, string.Empty,
                                fckMailContent.Text);
         }
     }
     mvSendingMessages.SetActiveView(vFinishForm);
 }
示例#3
0
        public static void SendNews(TypeRecepient type, string txtTitle, string text)
        {
            if (CustomerSession.CurrentCustomer.IsVirtual)
            {
                return;
            }

            switch (type)
            {
            case TypeRecepient.All:
                if (SettingsMailChimp.MailChimpAllUsersList.IsNotEmpty())
                {
                    MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpRegUsersList, txtTitle, SettingsMail.From, SettingsMain.ShopName, string.Empty, text);
                    MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpUnRegUsersList, txtTitle, SettingsMail.From, SettingsMain.ShopName, string.Empty, text);
                    //MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpAllUsersList, txtTitle, SettingsMail.From, SettingsMain.ShopName, string.Empty, text);
                }
                break;

            case TypeRecepient.Reg:
                if (SettingsMailChimp.MailChimpRegUsersList.IsNotEmpty())
                {
                    MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpRegUsersList, txtTitle, SettingsMail.From, SettingsMain.ShopName, string.Empty, text);
                }
                break;

            case TypeRecepient.Unreg:
                if (SettingsMailChimp.MailChimpUnRegUsersList.IsNotEmpty())
                {
                    MailChimp.SendMail(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpUnRegUsersList, txtTitle, SettingsMail.From, SettingsMain.ShopName, string.Empty, text);
                }
                break;
            }
        }
示例#4
0
    private bool ValidateData()
    {
        var valid = true;

        valid &= !ckbActive.Checked || txtMailChimpId.Text.IsNotEmpty();
        if (valid && ckbActive.Checked)
        {
            valid &= txtMailChimpId.Text.Contains("-") &&
                     txtMailChimpId.Text.LastIndexOf("-") + 1 < txtMailChimpId.Text.Length;
            valid &= MailChimp.GetAccountDetails(txtMailChimpId.Text) != null;
        }
        return(valid);
    }
示例#5
0
        public ActionResult Subscribe()
        {
            var firstName = "";
            var lastName  = "";
            var entryId   = 0;

            if (Web.Session["Player"] != null)
            {
                var player = UserSession.LoadPlayer();
                firstName = player.FirstName;
                lastName  = player.LastName;
                entryId   = player.PlayerID;
            }

            if (MailChimp.Subscribe(Request["email"], firstName, lastName, entryId))
            {
                return(Content("OK"));
            }

            return(Content("ERROR"));
        }
示例#6
0
    private void LoadData()
    {
        txtMailChimpId.Text = SettingsMailChimp.MailChimpId;
        ckbActive.Checked   = SettingsMailChimp.MailChimpActive;
        var lists = MailChimp.GetLists(SettingsMailChimp.MailChimpId);

        if (lists != null && lists.Data != null && lists.Data.Count > 0)
        {
            ddlMailChimpListsReg.DataSource   = lists.Data;
            ddlMailChimpListsUnReg.DataSource = lists.Data;
            //ddlMailChimpListsAll.DataSource = lists.Data;

            ddlMailChimpListsReg.DataBind();
            ddlMailChimpListsUnReg.DataBind();
            //ddlMailChimpListsAll.DataBind();

            ddlMailChimpListsReg.SelectedValue   = SettingsMailChimp.MailChimpRegUsersList.IsNotEmpty() ? SettingsMailChimp.MailChimpRegUsersList : "0";
            ddlMailChimpListsUnReg.SelectedValue = SettingsMailChimp.MailChimpUnRegUsersList.IsNotEmpty() ? SettingsMailChimp.MailChimpUnRegUsersList : "0";
            //ddlMailChimpListsAll.SelectedValue = SettingsMailChimp.MailChimpAllUsersList.IsNotEmpty() ? SettingsMailChimp.MailChimpAllUsersList : "0";
        }
        else
        {
            ddlMailChimpListsReg.Items.Clear();
            ddlMailChimpListsUnReg.Items.Clear();
            ddlMailChimpListsReg.Items.Add(new ListItem
            {
                Text  = Resources.Resource.Admin_MailChimpSettings_NoListLinking,
                Value = @"0"
            });
            ddlMailChimpListsUnReg.Items.Add(new ListItem
            {
                Text  = Resources.Resource.Admin_MailChimpSettings_NoListLinking,
                Value = @"0"
            });
            ddlMailChimpListsReg.DataBind();
            ddlMailChimpListsUnReg.DataBind();
        }
    }
示例#7
0
        // Use a POST to handle the incoming data
        public void ProcessRequest(HttpContext context)
        {
            //
            StreamWriter   writer         = new StreamWriter(context.Response.OutputStream);
            MobileResponse mobileResponse = new MobileResponse();
            MobileRequest  mobileRequest  = null;

            try
            {
                byte[] key = Convert.FromBase64String("Wmf84Y1KsN1tKvxoGohBMLm/qLzq1HpU0/nsmi215xc=");
                byte[] IV  = Convert.FromBase64String("JI24AwSI+EyB/LR2d+1+Lw==");

                // encrypt it
                StreamReader reader = new StreamReader(context.Request.InputStream);
                // string encoded = reader.ReadToEnd();
                // reader.Close();
                // byte[] encrypted = Convert.FromBase64String(encoded);
                // byte[] decrypted = AES.DecryptBytesFromBytes(encrypted, key, IV);

                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(MobileRequest));
                // MemoryStream requestStream = new MemoryStream(decrypted);
                // requestStream.Position = 0;

                mobileRequest = (MobileRequest)serializer.ReadObject(context.Request.InputStream);
                if (mobileRequest == null)
                {
                    mobileResponse.Error = "Request is null";
                }
                else
                {
                    User user = ContentManagementSystem.FindUser(mobileRequest.User.Email, mobileRequest.User.Password);

                    if (user == null && mobileRequest.Command == "Register")
                    {
                        if (ContentManagementSystem.AddUser("", "", mobileRequest.User.Email, mobileRequest.User.Password))
                        {
                            mobileResponse.User = ContentManagementSystem.FindUser(mobileRequest.User.Email, mobileRequest.User.Password);
                            Email.TellAdministratorAboutNewUser("", "", mobileRequest.User.Email);
                            MailChimp.ListSubscribe(mobileRequest.User.Email, "", "");
                        }
                        else
                        {
                            mobileResponse.Error = "Bad password";
                        }
                    }
                    else if (user != null)
                    {
                        if (user.Password != mobileRequest.User.Password)
                        {
                            mobileResponse.Error = "Bad password";
                        }
                        else
                        {
                            mobileResponse.User     = user;
                            mobileResponse.Contacts = Contact.GetAll();
                            string file     = context.Server.MapPath("/data") + "\\BGA.xls";
                            string backFile = context.Server.MapPath("/data") + "\\Orders.xls";
                            mobileResponse.StockItems = StockItems.Read(file, mobileResponse.User.Price);
                            mobileResponse.BackItems  = OrderItems.Read(backFile, mobileResponse.User, false);

                            string       menustring = @"{""Types"": [
 {""Name"": ""Construction Timber"", ""Id"": ""Construction"", ""Categories"" :
     [
        {""Name"": ""Structural Framing"", ""Id"": ""Structural Framing""},
        {""Name"": ""Strapping"", ""Id"": ""Strapping""},
        {""Name"": ""Cavity Batten"", ""Id"": ""Cavity Batten""}
     ]
 },
 {""Name"": ""Outdoor Timber"", ""Id"": ""Outdoor"", ""Categories"":
     [
      {""Id"": ""Decking/ PremiumBalustrades"", ""Name"": ""Decking (Merchant Grade;Premium)""},
      {""Id"": ""Fencing"", ""Name"": ""Fencing (Palings; Rails; Posts)""},
      {""Id"": ""Landscaping"", ""Name"": ""Landscaping""},
      {""Id"": ""Merch/Sawn/D4S"", ""Name"": ""Merchant Sawn D4S""},
      {""Id"": ""Stuctural"", ""Name"": ""Structural""}
     ]
 },
 {""Name"": ""Industrial/Boxing"", ""Id"": ""Industrial/ Boxing/ Misc"", ""Categories"":
     [
      {""Name"": ""Industrial/Boxing"", ""Id"": ""Industrial/ Boxing/ Misc""}
     ]
 }
]}";
                            MemoryStream menuStream = new MemoryStream();
                            byte[]       bytes      = new byte[menustring.Length * sizeof(char)];
                            System.Buffer.BlockCopy(menustring.ToCharArray(), 0, bytes, 0, bytes.Length);
                            menuStream.Write(bytes, 0, bytes.Length);
                            menuStream.Seek(0, SeekOrigin.Begin);
                            DataContractJsonSerializer menuSerializer = new DataContractJsonSerializer(typeof(LayoutMenu));
                            mobileResponse.Menu = (LayoutMenu)menuSerializer.ReadObject(menuStream);
                        }
                    }
                    else if (user == null)
                    {
                        mobileResponse.Error = "Unknown user";
                    }
                    else
                    {
                        mobileResponse.Error = "Invalid command";
                    }
                }
            }
            catch (Exception e)
            {
                mobileResponse = new MobileResponse()
                {
                    Error = e.Message
                };
            }
            finally
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(MobileResponse));
                serializer.WriteObject(context.Response.OutputStream, mobileResponse);
                writer.Close();
            }
        }
示例#8
0
    public bool SaveData()
    {
        if (!ValidateData())
        {
            return(false);
        }

        SettingsMailChimp.MailChimpActive = ckbActive.Checked;
        if (SettingsMailChimp.MailChimpId != txtMailChimpId.Text)
        {
            SettingsMailChimp.MailChimpRegUsersList   = string.Empty;
            SettingsMailChimp.MailChimpUnRegUsersList = string.Empty;
            SettingsMailChimp.MailChimpId             = txtMailChimpId.Text;
        }
        else
        {
            if (!ckbActive.Checked)
            {
                return(true);
            }


            SettingsMailChimp.MailChimpId = txtMailChimpId.Text;
            //if (ddlMailChimpListsAll.SelectedValue == "0")
            //{
            //    MailChimp.UnsubscribeListMembers(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpAllUsersList);
            //}
            //else
            //{
            //    MailChimp.SubscribeListMember(SettingsMailChimp.MailChimpId, ddlMailChimpListsAll.SelectedValue,
            //                                 SubscribeService.SubscribeGetAllCustomerEmails());
            //}

            if (ddlMailChimpListsReg.SelectedValue == "0")
            {
                MailChimp.UnsubscribeListMembers(SettingsMailChimp.MailChimpId, SettingsMailChimp.MailChimpRegUsersList);
            }
            else
            {
                MailChimp.SubscribeListMember(SettingsMailChimp.MailChimpId, ddlMailChimpListsReg.SelectedValue,
                                              SubscribeService.SubscribeGetRegCustomerEmails());
            }

            if (ddlMailChimpListsUnReg.SelectedValue == "0")
            {
                MailChimp.UnsubscribeListMembers(SettingsMailChimp.MailChimpId,
                                                 SettingsMailChimp.MailChimpUnRegUsersList);
            }
            else
            {
                MailChimp.SubscribeListMember(SettingsMailChimp.MailChimpId, ddlMailChimpListsUnReg.SelectedValue,
                                              SubscribeService.SubscribeGetUnRegCustomerEmails());
            }

            SettingsMailChimp.MailChimpRegUsersList   = ddlMailChimpListsReg.SelectedValue;
            SettingsMailChimp.MailChimpUnRegUsersList = ddlMailChimpListsUnReg.SelectedValue;
            //SettingsMailChimp.MailChimpAllUsersList = ddlMailChimpListsAll.SelectedValue;
        }
        LoadData();
        return(true);
    }
示例#9
0
        /// <summary>
        /// Called during startup by each shared project
        /// </summary>
        public static void Initialize(string environment)
        {
            //Initialize all static settings classes based on current environment
            //See "instructions.txt" for details  on the configurations to use per environment.
            //Host application must pass in the current environment name to initialize settings


            Environment.Current = environment;



            //---------------------------------------------------------------------

            //URLs & Email Addresses are initialized first as they are used in copy within other settings

            // Endpoint Settings ---------------
            URLs.Initialize();
            Emails.Initialize();


            //---------------------------------------------------------------------

            // Remaining settings are then initialized...

            // AZURE Services -----------------
            Databases.Initialize();
            DocumentDB.Initialize();
            Redis.Initialize();
            Storage.Initialize();
            Search.Initialize();

            // EXTERNAL Services ---------------
            Stripe.Initialize();
            SendGrid.Initialize();
            MailChimp.Initialize();
            GoogleMaps.Initialize();
            CloudFlare.Initialize();

            Registration.Initialize();
            GarbageCollection.Initialize();
            Custodian.Initialize();
            Worker.Initialize();
            Partitioning.Initialize();
            Payments.Initialize();

            // Platform Settings ---------------
            Application.Initialize();
            Platform.Users.Initialize();
            Accounts.Users.Initialize();
            Commerce.Credits.Initialize();

            //Copy Settings ---------------
            EmailMessages.Initialize();
            NotificationMessages.Initialize();
            PlatformMessages.Initialize();

            //Image Settings ------------
            Imaging.Images.Initialize();


            // Flush ALL Redis caches when we initialize CoreServices
            // This allows new updates to be forced into cached objects
            var redisEndpoints = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.RedisMultiplexer.GetEndPoints(true);
            var redisserver    = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.RedisMultiplexer.GetServer(redisEndpoints[0]);

            try
            {
                redisserver.FlushAllDatabases();
            }
            catch (Exception e)
            {
                string exception = e.Message;
            }


            /*
             * // Flush ALL Redis caches when we initialize CoreServices
             * // This allows new updates to be forced into cached objects
             * var accountsRedisEndpoints = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.AccountManager_Multiplexer.GetEndPoints(true);
             * var accountRedisserver = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.AccountManager_Multiplexer.GetServer(accountsRedisEndpoints[0]);
             * accountRedisserver.FlushAllDatabases();
             *
             * var platformRedisEndpoints = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.PlatformManager_Multiplexer.GetEndPoints(true);
             * var platformRedisserver = Sahara.Core.Settings.Azure.Redis.RedisMultiplexers.PlatformManager_Multiplexer.GetServer(platformRedisEndpoints[0]);
             * platformRedisserver.FlushAllDatabases();
             */
        }