コード例 #1
0
        private void RecalculateBalance()
        {
            AspSettings settings = AspSettings.Load();

            if (settings.UseTariffs)
            {
                Tariff.RecalculateBalance();
            }
        }
コード例 #2
0
        private void SendOperatorEmails()
        {
            AspSettings   settings = AspSettings.Load();
            IConfigurator config   = Configurator.Create();

            // Trial - One day before end
            foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.OneDayBeforeEnd, settings.OneDayBeforePeriod, true))
            {
                try
                {
                    if (!CManage.NotificationGet(cid, EmailType.TrialOneDayBefore))
                    {
                        if (string.IsNullOrEmpty(settings.OperatorEmail))
                        {
                            CManage.NotificationUpdate(cid, EmailType.TrialOneDayBefore, true);

                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            CManage.SendEmail(settings.OperatorEmail, EmailType.TrialOneDayBefore, vars);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Log.WriteError(ex.ToString());
                }
            }

            if (settings.UseTariffs)
            {
                // Billable - One day before end
                foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.BillableNdaysBefore, 1, false))
                {
                    // ensure that we send emails only once for a day
                    DateTime lastSpamDate = CManage.GetNotificationOperatorSpamDate(cid);
                    if (lastSpamDate > DateTime.Now.AddDays(-1))
                    {
                        continue;
                    }

                    try
                    {
                        if (string.IsNullOrEmpty(settings.OperatorEmail))
                        {
                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            CManage.SendEmail(settings.OperatorEmail, EmailType.OperatorCompanyDeactivatedDayBefore, vars);
                            CManage.UpdateNotificationOperatorSpamDate(cid, DateTime.Now);
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.WriteError(ex.ToString());
                    }
                }
            }
        }
コード例 #3
0
        private void DeactivateExpiredCompanies()
        {
            AspSettings settings = AspSettings.Load();

            if (settings.AutoDeactivateExpired)
            {
                foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.Expired, 0, false))
                {
                    try
                    {
                        CManage.DeactivateCompany(cid);

                        // Send e-mail to operator
                        if (!string.IsNullOrEmpty(settings.OperatorEmail))
                        {
                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            CManage.SendEmail(settings.OperatorEmail, EmailType.TrialDeactivated, vars);
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.WriteError(ex.ToString());
                    }
                }
            }

            if (settings.AutoDeactivateUnpaid && settings.UseTariffs)
            {
                foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.BillableForDeactivate, 0, false))
                {
                    try
                    {
                        CManage.DeactivateCompany(cid);

                        // Send e-mail to operator
                        if (!string.IsNullOrEmpty(settings.OperatorEmail))
                        {
                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            CManage.SendEmail(settings.OperatorEmail, EmailType.OperatorCompanyDeactivated, vars);
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.WriteError(ex.ToString());
                    }
                }
            }
        }
コード例 #4
0
        private void DeleteOutdatedCompanies()
        {
            AspSettings settings = AspSettings.Load();

            if (settings.AutoDeleteOutdated)
            {
                foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.Outdated, settings.OutdatePeriod, false))
                {
                    try
                    {
                        CManage.DeleteCompany(cid);
                    }
                    catch (Exception ex)
                    {
                        Log.WriteError(ex.ToString());
                    }
                }
            }
        }
コード例 #5
0
        private void SendUserEmails()
        {
            AspSettings   settings = AspSettings.Load();
            IConfigurator config   = Configurator.Create();

            #region trial spam
            if (settings.SendSpam)
            {
                // One day after start
                if (settings.SendSpamOneDayAfter)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.OneDayNoIM, settings.OneDayAfterPeriod, true))
                    {
                        try
                        {
                            string dbName = config.GetCompanyInfo(cid.ToString()).Database;
                            if (!CManage.NotificationGet(cid, EmailType.UserAfterOneDayIM))
                            {
                                CManage.NotificationUpdate(cid, EmailType.UserAfterOneDayIM, true);

                                if (!CManage.CheckImSessions(dbName))
                                {
                                    // Send e-mails to every active user
                                    TemplateVariables vars = CManage.CompanyGetVariables(cid);
                                    foreach (UserInfo ui in CManage.GetPortalUsers(dbName))
                                    {
                                        vars["Login"] = ui.Login;
                                        vars["Name"]  = ui.Name;
                                        try
                                        {
                                            CManage.SendEmail(ui.Email, EmailType.UserAfterOneDayIM, vars);
                                        }
                                        catch { }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }

                // One week after start
                if (settings.SendSpamOneWeekAfter)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.OneWeekAfterStart, settings.OneWeekAfterPeriod, true))
                    {
                        try
                        {
                            if (!CManage.NotificationGet(cid, EmailType.UserAfterOneWeek))
                            {
                                CManage.NotificationUpdate(cid, EmailType.UserAfterOneWeek, true);

                                // Send e-mail
                                TemplateVariables vars = CManage.CompanyGetVariables(cid);
                                if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                                {
                                    CManage.SendEmail(vars["ContactEmail"], EmailType.UserAfterOneWeek, vars);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }

                // One week before end
                if (settings.SendSpamOneWeekBefore)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.OneWeekBeforeEnd, settings.OneWeekBeforePeriod, true))
                    {
                        try
                        {
                            if (!CManage.NotificationGet(cid, EmailType.UserOneWeekBefore))
                            {
                                CManage.NotificationUpdate(cid, EmailType.UserOneWeekBefore, true);

                                // Send e-mail
                                TemplateVariables vars = CManage.CompanyGetVariables(cid);
                                if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                                {
                                    CManage.SendEmail(vars["ContactEmail"], EmailType.UserOneWeekBefore, vars);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }

                // One day before end
                if (settings.SendSpamOneDayBefore)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.OneDayBeforeEnd, settings.OneDayBeforePeriod, true))
                    {
                        try
                        {
                            if (!CManage.NotificationGet(cid, EmailType.UserOneDayBefore))
                            {
                                CManage.NotificationUpdate(cid, EmailType.UserOneDayBefore, true);

                                // Send e-mail
                                TemplateVariables vars = CManage.CompanyGetVariables(cid);
                                if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                                {
                                    CManage.SendEmail(vars["ContactEmail"], EmailType.UserOneDayBefore, vars);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }
            }
            #endregion

            #region billable spam
            if (settings.SendBillableSpam && settings.UseTariffs)
            {
                // 7 days before
                if (settings.SendBillableSpam7day)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.BillableNdaysBefore, 7, true))
                    {
                        // ensure that we send emails only once for a day
                        DateTime lastSpamDate = CManage.GetNotificationClientSpamDate(cid);
                        if (lastSpamDate > DateTime.Now.AddDays(-1))
                        {
                            continue;
                        }

                        // Send e-mail
                        try
                        {
                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                            {
                                CManage.SendEmail(vars["ContactEmail"], EmailType.Client7DayZeroBalance, vars);
                                CManage.UpdateNotificationClientSpamDate(cid, DateTime.Now);
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }

                // 3 days before
                if (settings.SendBillableSpam3day)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.BillableNdaysBefore, 3, true))
                    {
                        // ensure that we send emails only once for a day
                        DateTime lastSpamDate = CManage.GetNotificationClientSpamDate(cid);
                        if (lastSpamDate > DateTime.Now.AddDays(-1))
                        {
                            continue;
                        }

                        // Send e-mail
                        try
                        {
                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                            {
                                CManage.SendEmail(vars["ContactEmail"], EmailType.Client3DayZeroBalance, vars);
                                CManage.UpdateNotificationClientSpamDate(cid, DateTime.Now);
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }

                // 1 day before
                if (settings.SendBillableSpam1day)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.BillableNdaysBefore, 1, true))
                    {
                        // ensure that we send emails only once for a day
                        DateTime lastSpamDate = CManage.GetNotificationClientSpamDate(cid);
                        if (lastSpamDate > DateTime.Now.AddDays(-1))
                        {
                            continue;
                        }

                        // Send e-mail
                        try
                        {
                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                            {
                                CManage.SendEmail(vars["ContactEmail"], EmailType.Client1DayZeroBalance, vars);
                                CManage.UpdateNotificationClientSpamDate(cid, DateTime.Now);
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }

                // Negative balance
                if (settings.SendBillableSpamNegativeBalance)
                {
                    foreach (Guid cid in CManage.GetCompaniesByCategory(CompanyCategory.BillableNegativeBalance, 0, true))
                    {
                        // ensure that we send emails only once for a day
                        DateTime lastSpamDate = CManage.GetNotificationClientSpamDate(cid);
                        if (lastSpamDate > DateTime.Now.AddDays(-1))
                        {
                            continue;
                        }

                        // Send e-mail
                        try
                        {
                            TemplateVariables vars = CManage.CompanyGetVariables(cid);
                            if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                            {
                                CManage.SendEmail(vars["ContactEmail"], EmailType.ClientZeroBalance, vars);
                                CManage.UpdateNotificationClientSpamDate(cid, DateTime.Now);
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteError(ex.ToString());
                        }
                    }
                }
            }
            #endregion
        }
コード例 #6
0
ファイル: Trial.asmx.cs プロジェクト: alex765022/IBN
        public string GetParentDomain()
        {
            AspSettings settings = AspSettings.Load();

            return(settings.DnsParentDomain);
        }
コード例 #7
0
ファイル: Trial.asmx.cs プロジェクト: alex765022/IBN
        private TrialResult RequestTrial(
            string companyName
            , string sizeOfGroup
            , string description
            , string domain
            , string firstName
            , string lastName
            , string email
            , string phone
            , string country
            , string login
            , string password
            , string resellerGuid
            , string xml
            , string locale
            , string referrer
            , out int requestId
            , out string requestGuid
            )
        {
            TrialResult retVal = TrialResult.Failed;

            requestId   = -1;
            requestGuid = string.Empty;

            AspSettings settings = AspSettings.Load();

            domain += "." + settings.DnsParentDomain;
            try
            {
                //if (CManage.IsUserRegistered(settings, email))
                //    retVal = TrialResult.UserRegistered;
                //else
                if (CManage.CompanyExists(domain))
                {
                    retVal = TrialResult.DomainExists;
                }
                else
                {
                    requestId = DBTrialRequest.Create(
                        companyName,
                        sizeOfGroup,
                        description,
                        domain,
                        firstName,
                        lastName,
                        email,
                        phone,
                        country,
                        login,
                        password,
                        new Guid(resellerGuid),
                        xml,
                        locale
                        , referrer
                        );

                    TemplateVariables vars = DBTrialRequest.GetVariables(requestId);
                    requestGuid = vars["RequestGUID"];
                    retVal      = TrialResult.WaitingForActivation;

//					if (!string.IsNullOrEmpty(settings.OperatorEmail))
//						CManage.SendEmail(settings.OperatorEmail, EmailType.TrialNewRequest, vars);
                }
            }
            finally
            {
                if (retVal != TrialResult.Success && retVal != TrialResult.WaitingForActivation && retVal != TrialResult.RequestPending)
                {
                    object obj = null;
                    try
                    {
                        obj = new Guid(resellerGuid);
                    }
                    catch (ArgumentNullException)
                    {
                    }
                    catch (FormatException)
                    {
                    }

                    DBTrialRequestFailed.Create(
                        companyName,
                        sizeOfGroup,
                        description,
                        domain,
                        firstName,
                        lastName,
                        email,
                        phone,
                        login,
                        login,
                        password,
                        obj
                        , locale
                        , referrer
                        , (int)retVal
                        );
                }
            }
            return(retVal);
        }
コード例 #8
0
ファイル: Trial.asmx.cs プロジェクト: alex765022/IBN
        public TrialResult ActivateTrialCompany2(
            int requestId
            , string requestGuid
            , out string portalUrl
            , out string login
            , out string password
            , out string companyId
            )
        {
            portalUrl = "";
            login     = "";
            password  = "";
            companyId = "";

            TrialResult ret  = TrialResult.InvalidRequest;
            Guid        guid = new Guid(requestGuid);

            if (DBTrialRequest.CheckGuid(requestId, guid))
            {
                bool isActive = false;
                using (IDataReader reader = DBTrialRequest.Get(requestId, true, false))
                {
                    if (reader.Read())
                    {
                        isActive = (bool)reader["IsActive"];
                        if (reader["Company_uid"] != DBNull.Value)
                        {
                            companyId = (string)reader["Company_uid"];
                        }
                    }
                }

                if (isActive)
                {
                    ret = TrialResult.AlreadyActivated;
                }
                else
                {
                    Guid companyUid = CManage.ASPCreateTrialCompany(requestId);
                    ret       = TrialResult.Success;
                    companyId = companyUid.ToString();

                    AspSettings       settings = AspSettings.Load();
                    TemplateVariables vars     = CManage.CompanyGetVariables(companyUid);
                    TemplateVariables varsR    = DBTrialRequest.GetVariables(requestId);
                    vars["Login"]          = varsR["Login"];
                    vars["Password"]       = varsR["Password"];
                    vars["TrialUsers"]     = settings.MaxUsers.ToString();
                    vars["TrialDiskSpace"] = settings.MaxHDD.ToString();
                    vars["TrialPeriod"]    = settings.TrialPeriod.ToString();

                    portalUrl = vars["PortalLink"];

                    if (!string.IsNullOrEmpty(vars["ContactEmail"]))
                    {
                        CManage.SendEmail(vars["ContactEmail"], EmailType.UserActivated, vars);
                    }
                    if (!string.IsNullOrEmpty(settings.OperatorEmail))
                    {
                        CManage.SendEmail(settings.OperatorEmail, EmailType.TrialActivated, vars);
                    }

                    login    = varsR["Login"];
                    password = varsR["Password"];
                }
            }
            return(ret);
        }
コード例 #9
0
ファイル: Trial.asmx.cs プロジェクト: alex765022/IBN
        public int GetTrialPeriod()
        {
            AspSettings settings = AspSettings.Load();

            return(settings.TrialPeriod);
        }
コード例 #10
0
ファイル: SiteEdit.ascx.cs プロジェクト: alex765022/IBN
        private void BindData()
        {
            ListItem li;

            AspSettings settings = AspSettings.Load();

            string        companyId = CompanyUid.ToString();
            IConfigurator config    = Configurator.Create();
            ICompanyInfo  info      = config.GetCompanyInfo(companyId);

            txtOccupiedDiskSpace.Text = info.DatabaseSize.ToString(CultureInfo.CurrentUICulture);
            MaxDiskSpaceValue.Text    = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyDatabaseSize);

            txtActiveInternalUsers.Text = info.InternalUsersCount.ToString(CultureInfo.CurrentUICulture);
            MaxUsersValue.Text          = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyMaxUsers);

            txtActiveExternalUsers.Text = info.ExternalUsersCount.ToString(CultureInfo.CurrentUICulture);
            MaxExternalUsersValue.Text  = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyMaxExternalUsers);

            txtDomain.Text   = info.Host;
            IsActive.Checked = info.IsActive;

            li = SchemeList.Items.FindByValue(info.Scheme);
            if (li != null)
            {
                li.Selected = true;
            }

            PortValue.Text = info.Port;

            using (IDataReader reader = CManage.GetCompany(CompanyUid))
            {
                if (reader.Read())
                {
                    txtCompanyName.Text = reader["company_name"].ToString();
                    if (reader["contact_name"] != DBNull.Value)
                    {
                        txtContactName.Text = reader["contact_name"].ToString();
                    }
                    if (reader["contact_phone"] != DBNull.Value)
                    {
                        txtContactPhone.Text = reader["contact_phone"].ToString();
                    }
                    if (reader["contact_email"] != DBNull.Value)
                    {
                        txtContactEmail.Text = reader["contact_email"].ToString();
                    }

                    bool showTariffInfo = true;
                    if (config.GetCompanyPropertyValue(companyId, CManage.keyCompanyType) == ((byte)CompanyType.Trial).ToString())
                    {
                        TypeList.Items.FindByValue(((byte)CompanyType.Trial).ToString()).Selected = true;
                        txtDateFrom.Text = ((DateTime)reader["start_date"]).ToShortDateString();

                        string endDateString = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyEndDate);
                        if (!String.IsNullOrEmpty(endDateString))
                        {
                            txtDateTo.Text = DateTime.Parse(endDateString, CultureInfo.InvariantCulture).ToShortDateString();
                        }

                        TariffRow.Visible = false;
                        showTariffInfo    = false;
                    }
                    else
                    {
                        TypeList.Items.FindByValue(((byte)CompanyType.Billable).ToString()).Selected = true;
                        txtDateFrom.Text = DateTime.Now.Date.ToShortDateString();
                        txtDateTo.Text   = DateTime.Now.Date.AddDays(settings.TrialPeriod).ToShortDateString();

                        DateFromRow.Visible = false;
                        DateToRow.Visible   = false;
                    }

                    SendSpamCheckBox.Checked = (bool)reader["send_spam"];

                    if (reader["tariffId"] != DBNull.Value)
                    {
                        li = TariffList.Items.FindByValue(reader["tariffId"].ToString());
                        if (li != null)
                        {
                            li.Selected = true;
                        }
                    }
                    else
                    {
                        showTariffInfo = false;
                    }

                    BalanceValue.Text        = ((decimal)reader["Balance"]).ToString("f");
                    DiscountValue.Text       = reader["Discount"].ToString();
                    CreditLimitValue.Text    = ((decimal)reader["CreditLimit"]).ToString("f");
                    AlertThresholdValue.Text = ((decimal)reader["AlertThreshold"]).ToString("f");

                    if (!showTariffInfo)
                    {
                        BalanceRow.Visible        = false;
                        DiscountRow.Visible       = false;
                        CreditLimitRow.Visible    = false;
                        AlertThresholdRow.Visible = false;
                    }
                }
            }
        }
コード例 #11
0
ファイル: SettingsEdit.ascx.cs プロジェクト: alex765022/IBN
        private void BindInfo()
        {
            ListItem li;

            SmtpSecureConnectionList.Items.Add(new ListItem(SecureConnectionType.None.ToString(), ((int)SecureConnectionType.None).ToString()));
            SmtpSecureConnectionList.Items.Add(new ListItem(SecureConnectionType.Ssl.ToString(), ((int)SecureConnectionType.Ssl).ToString()));
            SmtpSecureConnectionList.Items.Add(new ListItem(SecureConnectionType.Tls.ToString(), ((int)SecureConnectionType.Tls).ToString()));

            DefaultTrialPoolList.Items.Add(new ListItem(LocRM.GetString("NewPool"), ""));
            DefaultBillablePoolList.Items.Add(new ListItem(LocRM.GetString("NewPool"), ""));
            foreach (string poolName in Configurator.Create().ListApplicationPools())
            {
                DefaultTrialPoolList.Items.Add(poolName);
                DefaultBillablePoolList.Items.Add(poolName);
            }

            // DefaultTariff
            DefaultTariff.DataTextField  = "tariffName";
            DefaultTariff.DataValueField = "tariffId";
            DefaultTariff.DataSource     = Tariff.GetTariff(0, 0);
            DefaultTariff.DataBind();
            //

            AspSettings settings = AspSettings.Load();

            txtDnsParentDomain.Text = settings.DnsParentDomain;

            txtIisIpAddress.Text = settings.IisIpAddress;
            txtIisPort.Text      = settings.IisPort.ToString();

            txtMaxHDD.Text                   = settings.MaxHDD.ToString();
            txtPeriod.Text                   = settings.TrialPeriod.ToString();
            txtMaxUsers.Text                 = settings.MaxUsers.ToString();
            txtEMailFrom.Text                = settings.EmailFrom;
            txtOperatorEmail.Text            = settings.OperatorEmail;
            tbExternalUsers.Text             = settings.MaxExternalUsers.ToString();
            chkAutoDeactivateExpired.Checked = settings.AutoDeactivateExpired;
            chkAutoDeleteOutdated.Checked    = settings.AutoDeleteOutdated;
            txtOutdatePeriod.Text            = settings.OutdatePeriod.ToString();

            chkSendSpam.Checked = settings.SendSpam;

            chkSendSpamOneDayAfter.Checked = settings.SendSpamOneDayAfter;
            txtOneDayAfterPeriod.Text      = settings.OneDayAfterPeriod.ToString();

            chkSendSpamOneWeekAfter.Checked = settings.SendSpamOneWeekAfter;
            txtOneWeekAfterPeriod.Text      = settings.OneWeekAfterPeriod.ToString();

            chkSendSpamOneWeekBefore.Checked = settings.SendSpamOneWeekBefore;
            txtOneWeekBeforePeriod.Text      = settings.OneWeekBeforePeriod.ToString();

            chkSendSpamOneDayBefore.Checked = settings.SendSpamOneDayBefore;
            txtOneDayBeforePeriod.Text      = settings.OneDayBeforePeriod.ToString();

            SendBillableSpamCheckBox.Checked                = settings.SendBillableSpam;
            SendBillableSpam7dayCheckBox.Checked            = settings.SendBillableSpam7day;
            SendBillableSpam3dayCheckBox.Checked            = settings.SendBillableSpam3day;
            SendBillableSpam1dayCheckBox.Checked            = settings.SendBillableSpam1day;
            SendBillableSpamNegativeBalanceCheckBox.Checked = settings.SendBillableSpamNegativeBalance;

            UseTariffsCheckBox.Checked           = settings.UseTariffs;
            AutoDeactivateUnpaidCheckBox.Checked = settings.AutoDeactivateUnpaid;

            SmtpServerValue.Text = settings.SmtpServer;
            SmtpPortValue.Text   = settings.SmtpPort.ToString();
            li = SmtpSecureConnectionList.Items.FindByValue(((int)settings.SmtpSecureConnection).ToString());
            if (li != null)
            {
                li.Selected = true;
            }
            SmtpAuthenticateValue.Checked = settings.SmtpAuthenticate;
            SmtpUserValue.Text            = settings.SmtpUser;
            SmtpPasswordValue.Text        = settings.SmtpPassword;

            li = DefaultBillablePoolList.Items.FindByValue(settings.DefaultBillablePool);
            if (li != null)
            {
                li.Selected = true;
            }

            li = DefaultTrialPoolList.Items.FindByValue(settings.DefaultTrialPool);
            if (li != null)
            {
                li.Selected = true;
            }

            li = DefaultTariff.Items.FindByValue(settings.DefaultTariff.ToString());
            if (li != null)
            {
                li.Selected = true;
            }
        }
コード例 #12
0
ファイル: SettingsEdit.ascx.cs プロジェクト: alex765022/IBN
        protected void btnSave_Click(object sender, System.EventArgs e)
        {
            AspSettings settings = AspSettings.Load();

            settings.DnsParentDomain = txtDnsParentDomain.Text;

            settings.IisIpAddress = txtIisIpAddress.Text;
            settings.IisPort      = int.Parse(txtIisPort.Text);

            settings.MaxHDD           = Int32.Parse(txtMaxHDD.Text);
            settings.TrialPeriod      = Int32.Parse(txtPeriod.Text);
            settings.MaxUsers         = Int32.Parse(txtMaxUsers.Text);
            settings.EmailFrom        = txtEMailFrom.Text;
            settings.OperatorEmail    = txtOperatorEmail.Text;
            settings.MaxExternalUsers = int.Parse(tbExternalUsers.Text);

            settings.AutoDeactivateExpired = chkAutoDeactivateExpired.Checked;
            settings.AutoDeleteOutdated    = chkAutoDeleteOutdated.Checked;
            settings.OutdatePeriod         = int.Parse(txtOutdatePeriod.Text);

            settings.SendSpam = chkSendSpam.Checked;

            settings.SendSpamOneDayAfter = chkSendSpamOneDayAfter.Checked && chkSendSpam.Checked;
            settings.OneDayAfterPeriod   = int.Parse(txtOneDayAfterPeriod.Text);

            settings.SendSpamOneWeekAfter = chkSendSpamOneWeekAfter.Checked && chkSendSpam.Checked;
            settings.OneWeekAfterPeriod   = int.Parse(txtOneWeekAfterPeriod.Text);

            settings.SendSpamOneWeekBefore = chkSendSpamOneWeekBefore.Checked && chkSendSpam.Checked;
            settings.OneWeekBeforePeriod   = int.Parse(txtOneWeekBeforePeriod.Text);

            settings.SendSpamOneDayBefore = chkSendSpamOneDayBefore.Checked && chkSendSpam.Checked;
            settings.OneDayBeforePeriod   = int.Parse(txtOneDayBeforePeriod.Text);

            settings.UseTariffs           = UseTariffsCheckBox.Checked;
            settings.AutoDeactivateUnpaid = AutoDeactivateUnpaidCheckBox.Checked && UseTariffsCheckBox.Checked;

            settings.SendBillableSpam                = SendBillableSpamCheckBox.Checked;
            settings.SendBillableSpam7day            = SendBillableSpam7dayCheckBox.Checked && SendBillableSpamCheckBox.Checked;
            settings.SendBillableSpam3day            = SendBillableSpam3dayCheckBox.Checked && SendBillableSpamCheckBox.Checked;
            settings.SendBillableSpam1day            = SendBillableSpam1dayCheckBox.Checked && SendBillableSpamCheckBox.Checked;
            settings.SendBillableSpamNegativeBalance = SendBillableSpamNegativeBalanceCheckBox.Checked && SendBillableSpamCheckBox.Checked;

            settings.SmtpServer           = SmtpServerValue.Text;
            settings.SmtpPort             = int.Parse(SmtpPortValue.Text);
            settings.SmtpSecureConnection = (SecureConnectionType)int.Parse(SmtpSecureConnectionList.SelectedValue);
            settings.SmtpAuthenticate     = SmtpAuthenticateValue.Checked;
            settings.SmtpUser             = SmtpUserValue.Text;
            settings.SmtpPassword         = SmtpPasswordValue.Text;

            settings.DefaultTrialPool    = DefaultTrialPoolList.SelectedValue;
            settings.DefaultBillablePool = DefaultBillablePoolList.SelectedValue;

            if (DefaultTariff.Items.Count > 0)
            {
                settings.DefaultTariff = int.Parse(DefaultTariff.SelectedValue);
            }
            else
            {
                settings.DefaultTariff = -1;
            }

            settings.Save();
            Response.Redirect("settings.aspx");
        }
コード例 #13
0
ファイル: Settings.ascx.cs プロジェクト: alex765022/IBN
        private void BindInfo()
        {
            AspSettings settings = AspSettings.Load();

            valMaxHDD.Text        = settings.MaxHDD.ToString();
            valPeriod.Text        = settings.TrialPeriod.ToString();
            valMaxUsers.Text      = settings.MaxUsers.ToString();
            lblExternalUsers.Text = settings.MaxExternalUsers.ToString();

            valDnsParentDomain.Text = settings.DnsParentDomain;

            valIisIpAddress.Text = settings.IisIpAddress;
            valIisPort.Text      = settings.IisPort.ToString();

            if (string.IsNullOrEmpty(settings.DefaultTrialPool))
            {
                DefaultTrialPoolValue.Text = LocRM.GetString("NewPool");
            }
            else
            {
                DefaultTrialPoolValue.Text = settings.DefaultTrialPool;
            }

            if (string.IsNullOrEmpty(settings.DefaultTrialPool))
            {
                DefaultBillablePoolValue.Text = LocRM.GetString("NewPool");
            }
            else
            {
                DefaultBillablePoolValue.Text = settings.DefaultBillablePool;
            }

            valEMailFrom.Text = settings.EmailFrom;
            if (string.IsNullOrEmpty(settings.EmailFrom))
            {
                valEMailFrom.Text     = LocRM.GetString("NotSpecified");
                valEMailFrom.CssClass = "ibn-error";
            }

            valOperatorEmail.Text = settings.OperatorEmail;
            if (string.IsNullOrEmpty(settings.OperatorEmail))
            {
                valOperatorEmail.Text     = LocRM.GetString("NotSpecified");
                valOperatorEmail.CssClass = "ibn-error";
            }

            if (settings.AutoDeactivateExpired)
            {
                valAutoDeactivateExpired.Text = LocRM.GetString("Yes");
            }
            else
            {
                valAutoDeactivateExpired.Text = LocRM.GetString("No");
            }

            if (settings.AutoDeleteOutdated)
            {
                valAutoDeleteOutdated.Text = LocRM.GetString("Yes");
            }
            else
            {
                valAutoDeleteOutdated.Text = LocRM.GetString("No");
            }
            valOutdatePeriod.Text = settings.OutdatePeriod.ToString();

            if (settings.UseTariffs)
            {
                valUseTariffs.Text = LocRM.GetString("Yes");
                AutoDeactivateUnpaidRow.Visible = true;
                DefaultTariffRow.Visible        = true;

                if (settings.AutoDeactivateUnpaid)
                {
                    valAutoDeactivateUnpaid.Text = LocRM.GetString("Yes");
                }
                else
                {
                    valAutoDeactivateUnpaid.Text = LocRM.GetString("No");
                }

                if (settings.DefaultTariff > 0)
                {
                    using (IDataReader reader = Tariff.GetTariff(settings.DefaultTariff, 0))
                    {
                        if (reader.Read())
                        {
                            DefaultTariff.Text = (string)reader["TariffName"];
                        }
                    }
                }
            }
            else
            {
                valUseTariffs.Text = LocRM.GetString("No");
                AutoDeactivateUnpaidRow.Visible = false;
                DefaultTariffRow.Visible        = false;
            }

            if (settings.SendSpam)
            {
                valSendSpam.Text = LocRM.GetString("Yes");
                trSendSpamOneDayAfter.Visible   = true;
                trSendSpamOneWeekAfter.Visible  = true;
                trSendSpamOneWeekBefore.Visible = true;
                trSendSpamOneDayBefore.Visible  = true;

                if (settings.SendSpamOneDayAfter)
                {
                    valSendSpamOneDayAfter.Text    = LocRM.GetString("Yes");
                    tdlblOneDayAfterPeriod.Visible = true;
                    tdvalOneDayAfterPeriod.Visible = true;
                    valOneDayAfterPeriod.Text      = settings.OneDayAfterPeriod.ToString();
                }
                else
                {
                    valSendSpamOneDayAfter.Text    = LocRM.GetString("No");
                    tdlblOneDayAfterPeriod.Visible = false;
                    tdvalOneDayAfterPeriod.Visible = false;
                }

                if (settings.SendSpamOneWeekAfter)
                {
                    valSendSpamOneWeekAfter.Text    = LocRM.GetString("Yes");
                    tdlblOneWeekAfterPeriod.Visible = true;
                    tdvalOneWeekAfterPeriod.Visible = true;
                    valOneWeekAfterPeriod.Text      = settings.OneWeekAfterPeriod.ToString();
                }
                else
                {
                    valSendSpamOneWeekAfter.Text    = LocRM.GetString("No");
                    tdlblOneWeekAfterPeriod.Visible = false;
                    tdvalOneWeekAfterPeriod.Visible = false;
                }

                if (settings.SendSpamOneWeekBefore)
                {
                    valSendSpamOneWeekBefore.Text    = LocRM.GetString("Yes");
                    tdlblOneWeekBeforePeriod.Visible = true;
                    tdvalOneWeekBeforePeriod.Visible = true;
                    valOneWeekBeforePeriod.Text      = settings.OneWeekBeforePeriod.ToString();
                }
                else
                {
                    valSendSpamOneWeekBefore.Text    = LocRM.GetString("No");
                    tdlblOneWeekBeforePeriod.Visible = false;
                    tdvalOneWeekBeforePeriod.Visible = false;
                }

                if (settings.SendSpamOneDayBefore)
                {
                    valSendSpamOneDayBefore.Text    = LocRM.GetString("Yes");
                    tdlblOneDayBeforePeriod.Visible = true;
                    tdvalOneDayBeforePeriod.Visible = true;
                    valOneDayBeforePeriod.Text      = settings.OneDayBeforePeriod.ToString();
                }
                else
                {
                    valSendSpamOneDayBefore.Text    = LocRM.GetString("No");
                    tdlblOneDayBeforePeriod.Visible = false;
                    tdvalOneDayBeforePeriod.Visible = false;
                }
            }
            else
            {
                valSendSpam.Text = LocRM.GetString("No");
                trSendSpamOneDayAfter.Visible   = false;
                trSendSpamOneWeekAfter.Visible  = false;
                trSendSpamOneWeekBefore.Visible = false;
                trSendSpamOneDayBefore.Visible  = false;
            }

            if (settings.SendBillableSpam)
            {
                SendBillableSpamValue.Text                 = LocRM.GetString("Yes");
                SendBillableSpam7dayRow.Visible            = true;
                SendBillableSpam3dayRow.Visible            = true;
                SendBillableSpam1dayRow.Visible            = true;
                SendBillableSpamNegativeBalanceRow.Visible = true;

                if (settings.SendBillableSpam7day)
                {
                    SendBillableSpam7dayValue.Text = LocRM.GetString("Yes");
                }
                else
                {
                    SendBillableSpam7dayValue.Text = LocRM.GetString("No");
                }

                if (settings.SendBillableSpam3day)
                {
                    SendBillableSpam3dayValue.Text = LocRM.GetString("Yes");
                }
                else
                {
                    SendBillableSpam3dayValue.Text = LocRM.GetString("No");
                }

                if (settings.SendBillableSpam1day)
                {
                    SendBillableSpam1dayValue.Text = LocRM.GetString("Yes");
                }
                else
                {
                    SendBillableSpam1dayValue.Text = LocRM.GetString("No");
                }

                if (settings.SendBillableSpamNegativeBalance)
                {
                    SendBillableSpamNegativeBalanceValue.Text = LocRM.GetString("Yes");
                }
                else
                {
                    SendBillableSpamNegativeBalanceValue.Text = LocRM.GetString("No");
                }
            }
            else
            {
                SendBillableSpamValue.Text                 = LocRM.GetString("No");
                SendBillableSpam7dayRow.Visible            = false;
                SendBillableSpam3dayRow.Visible            = false;
                SendBillableSpam1dayRow.Visible            = false;
                SendBillableSpamNegativeBalanceRow.Visible = false;
            }

            SmtpServerValue.Text           = settings.SmtpServer;
            SmtpPortValue.Text             = settings.SmtpPort.ToString();
            SmtpSecureConnectionValue.Text = settings.SmtpSecureConnection.ToString();
            if (settings.SmtpAuthenticate)
            {
                SmtpAuthenticateValue.Text = LocRM.GetString("Yes");
                SmtpUserValue.Text         = settings.SmtpUser;
            }
            else
            {
                SmtpAuthenticateValue.Text = LocRM.GetString("No");
                SmtpUserRow.Visible        = false;
            }
        }
コード例 #14
0
        private void BindData()
        {
            ListItem      li;
            IConfigurator config = Configurator.Create();

            ddLanguage.DataSource     = config.ListLanguages();
            ddLanguage.DataTextField  = "FriendlyName";
            ddLanguage.DataValueField = "Locale";
            ddLanguage.DataBind();

            ApplicationPoolList.Items.Add(new ListItem(LocRM.GetString("NewPool"), ""));
            foreach (string poolName in config.ListApplicationPools())
            {
                ApplicationPoolList.Items.Add(poolName);
            }

            AspSettings settings = AspSettings.Load();

            txtMaxUsers.Text = settings.MaxUsers.ToString();
            tbExternal.Text  = settings.MaxExternalUsers.ToString();
            txtDiskMax.Text  = settings.MaxHDD.ToString();
            txtDomain.Text   = "." + settings.DnsParentDomain;

            Demo.Attributes.Add("onclick", "DemoClick()");
            txtStartDate.Text = DateTime.Now.ToShortDateString();
            txtDateTo.Text    = DateTime.Now.AddDays(settings.TrialPeriod).ToShortDateString();

            if (Request["Trial"] != null && Request["Trial"].ToString() == "1")
            {
                Demo.Checked = true;

                li = ddLanguage.Items.FindByValue("ru-RU");
                if (li != null)
                {
                    ddLanguage.ClearSelection();
                    li.Selected = true;
                }
            }

            if (Demo.Checked)
            {
                if (!string.IsNullOrEmpty(settings.DefaultTrialPool))
                {
                    li = ApplicationPoolList.Items.FindByValue(settings.DefaultTrialPool);
                    if (li != null)
                    {
                        li.Selected = true;
                    }
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(settings.DefaultBillablePool))
                {
                    li = ApplicationPoolList.Items.FindByValue(settings.DefaultBillablePool);
                    if (li != null)
                    {
                        li.Selected = true;
                    }
                }
            }
        }