示例#1
0
        public override HostLimit ResellerLimits(string clientName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (SQLiteConnection _conn = new SQLiteConnection(connectionString))
            {
                _conn.Open();

                using (SQLiteCommand _cmd = new SQLiteCommand(@"SELECT    LoginLimit.Value, LoginLimit.LoginId, LoginLimit.LimitName, 
                                                        LoginLimit.isUnlimited, LoginLimit.Usage, 
                                                            LoginLimit.LoginLimitId, LoginAccount.UserName 
                                                        FROM LoginLimit INNER JOIN LoginAccount ON LoginLimit.LoginId = LoginAccount.LoginId 
                                                    WHERE (LoginAccount.UserName = @NAME)", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", clientName);

                    using (SQLiteDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var da = new LimitRow();
                            da.Name  = DataExtensions.GetColumnValue <String>(_read, "LimitName");
                            da.Value = Convert.ToInt32(DataExtensions.GetColumnValue <Int64>(_read, "Value"));

                            _tmp_limits.Add(da);
                        }
                    }
                }

                _conn.Close();
            }

            return(new HostLimit(_tmp_limits, true));
        }
示例#2
0
        public override HostLimit GetDomainLimits(string domainName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (SQLiteConnection _conn = new SQLiteConnection(connectionString))
            {
                _conn.Open();

                using (SQLiteCommand _cmd = new SQLiteCommand(@"SELECT DomainLimit.LimitName, DomainLimit.LimitValue, 
                                                                DomainLimit.Usage, DomainLimit.isUnlimited, Domain.Name 
                                                             FROM  DomainLimit INNER JOIN Domain ON DomainLimit.DomainId = Domain.DomainId 
                                                WHERE (Domain.Name = @NAME)", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", domainName);

                    using (SQLiteDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();

                            _d.Name  = DataExtensions.GetColumnValue <string>(_read, "LimitName");
                            _d.Value = Convert.ToInt32(DataExtensions.GetColumnValue <Int64>(_read, "LimitValue"));

                            _tmp_limits.Add(_d);
                        }
                    }
                }

                _conn.Close();
            }

            return(new HostLimit(_tmp_limits, true));
        }
示例#3
0
        public override HostLimit ResellerLimits(string clientName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (MySqlConnection _conn = new MySqlConnection(connectionString))
            {
                _conn.Open();
                using (MySqlCommand _cmd = new MySqlCommand(@"SELECT L.limit_name, L.value FROM clients C LEFT JOIN limits L ON L.id = C.limits_id WHERE C.login = @NAME", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", clientName);

                    using (MySqlDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();
                            _d.Name = DataExtensions.GetColumnValue <string>(_read, "limit_name");
                            //_d.Value = Convert.ToInt32(DataExtensions.GetColumnValue<Int64>(_read, "value"));

                            long LimitValue = -1;

                            if (_read["value"] is System.Int64)
                            {
                                LimitValue = DataExtensions.GetColumnValue <Int64>(_read, "value");
                            }
                            else
                            {
                                LimitValue = Convert.ToInt64(DataExtensions.GetColumnValue <string>(_read, "value"));
                            }


                            if (_d.Name == "disk_space" || _d.Name == "max_traffic" || _d.Name == "mbox_quota" || _d.Name == "total_mboxes_quota")
                            {
                                _d.Value = (int)((LimitValue / 1024) / 1024);
                            }
                            else
                            {
                                if (LimitValue > int.MaxValue)
                                {
                                    _d.Value = -1;
                                }
                                else
                                {
                                    _d.Value = Convert.ToInt32(LimitValue);
                                }
                            }

                            _tmp_limits.Add(_d);
                        }
                    }
                }
                _conn.Close();
            }

            return(new HostLimit(_tmp_limits));
        }
示例#4
0
        public override HostLimit GetDomainLimits(string domainName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (SqlConnection _conn = new SqlConnection(connectionString))
            {
                _conn.Open();
                using (SqlCommand _cmd = new SqlCommand(@"SELECT L.limit_name, L.value FROM domains D LEFT JOIN limits L ON L.id = D.limits_id WHERE D.name = @NAME", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", domainName);

                    using (SqlDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();
                            _d.Name = DataExtensions.GetColumnValue <string>(_read, "limit_name");

                            var LimitValue = 0L;

                            if (_read["value"] is System.Int64)
                            {
                                LimitValue = DataExtensions.GetColumnValue <Int64>(_read, "value");
                            }
                            else
                            {
                                LimitValue = Convert.ToInt64(DataExtensions.GetColumnValue <string>(_read, "value"));
                            }

                            if (_d.Name == "disk_space" ||
                                _d.Name == "max_traffic" ||
                                _d.Name == "mbox_quota" ||
                                _d.Name == "mssql_dbase_space" ||
                                _d.Name == "mysql_dbase_space" ||
                                _d.Name == "total_mboxes_quota")
                            {
                                _d.Value = (int)((LimitValue / 1024) / 1024);
                            }
                            else
                            {
                                _d.Value = Convert.ToInt32(LimitValue);
                            }

                            _tmp_limits.Add(_d);
                        }
                    }
                }
                _conn.Close();
            }

            return(new HostLimit(_tmp_limits));
        }
示例#5
0
        public override HostLimit GetDomainLimits(string domainName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (OleDbConnection _conn = new OleDbConnection(connectionString))
            {
                _conn.Open();
                using (OleDbCommand _cmd = new OleDbCommand(@"SELECT L.limit_name, L.[value] 
                                                                    FROM (domains D LEFT OUTER JOIN limits L ON L.id = D.limits_id) 
                                                            WHERE (D.name = ?) AND (L.limit_name <> NULL)", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", domainName);

                    using (OleDbDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();
                            _d.Name = DataExtensions.GetColumnValue <string>(_read, "limit_name");

                            var LimitValue = DataExtensions.GetColumnValue <decimal>(_read, "value");

                            if (_d.Name == "disk_space" || _d.Name == "max_traffic" || _d.Name == "mbox_quota" ||
                                _d.Name == "mssql_dbase_space" || _d.Name == "mysql_dbase_space" ||
                                _d.Name == "total_mboxes_quota")
                            {
                                _d.Value = (int)((LimitValue / 1024) / 1024);
                            }
                            else
                            {
                                if (LimitValue <= int.MaxValue)
                                {
                                    _d.Value = Convert.ToInt32(LimitValue);
                                }
                                else
                                {
                                    throw new Exception(String.Format("Value too large or too small for an Int32 {0}: {1}", _d.Name, LimitValue));
                                }
                            }

                            _tmp_limits.Add(_d);
                        }
                    }
                }
                _conn.Close();
            }

            return(new HostLimit(_tmp_limits));
        }
示例#6
0
        public override HostLimit GetDomainLimits(string domainName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (MySqlConnection _conn = new MySqlConnection(connectionString))
            {
                _conn.Open();
                using (MySqlCommand _cmd = new MySqlCommand(@"SELECT L.limit_name, L.value FROM domains D LEFT JOIN Limits L ON L.id = D.limits_id WHERE D.name = @NAME", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", domainName);

                    using (MySqlDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();
                            _d.Name = DataExtensions.GetColumnValue <string>(_read, "limit_name");

                            var arrayValue = DataExtensions.GetColumnValue <Byte[]>(_read, "value");
                            var LimitValue = arrayValue != null?Convert.ToInt64(Encoding.ASCII.GetString(arrayValue)) : -1;

                            if (_d.Name == "disk_space" || _d.Name == "max_traffic" || _d.Name == "mbox_quota" ||
                                _d.Name == "mssql_dbase_space" || _d.Name == "mysql_dbase_space" ||
                                _d.Name == "max_traffic_soft" || _d.Name == "disk_space_soft")
                            {
                                _d.Value = (int)((LimitValue / 1024) / 1024);
                            }
                            else if (_d.Name == "expiration")
                            {
                            }
                            else
                            {
                                if (LimitValue > int.MaxValue)
                                {
                                    throw new InvalidCastException(_d.Name + ": " + LimitValue.ToString());
                                }

                                _d.Value = Convert.ToInt32(LimitValue);
                            }

                            _tmp_limits.Add(_d);
                        }
                    }
                }
                _conn.Close();
            }

            return(new HostLimit(_tmp_limits));
        }
示例#7
0
        public override HostLimit ResellerLimits(string clientName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (OleDbConnection _conn = new OleDbConnection(connectionString))
            {
                _conn.Open();
                using (OleDbCommand _cmd = new OleDbCommand(@"SELECT L.limit_name, L.[value] 
                                            FROM (clients C LEFT OUTER JOIN limits L ON L.id = C.limits_id) WHERE (C.login = ?)", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", clientName);

                    using (OleDbDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();
                            _d.Name = DataExtensions.GetColumnValue <string>(_read, "limit_name");

                            var LimitValue = Convert.ToInt64(DataExtensions.GetColumnValue <decimal>(_read, "value"));

                            if (_d.Name == "disk_space" || _d.Name == "max_traffic" ||
                                _d.Name == "mbox_quota" || _d.Name == "total_mboxes_quota")
                            {
                                _d.Value = (int)((LimitValue / 1024) / 1024);
                            }
                            else
                            {
                                if (LimitValue <= int.MaxValue)
                                {
                                    _d.Value = Convert.ToInt32(LimitValue);
                                }
                                else
                                {
                                    _d.Value = (int)((LimitValue / 1024) / 1024);
                                }
                            }

                            _tmp_limits.Add(_d);
                        }
                    }
                }
                _conn.Close();
            }

            return(new HostLimit(_tmp_limits));
        }
示例#8
0
        public override HostLimit ResellerLimits(string clientName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (MySqlConnection _conn = new MySqlConnection(connectionString))
            {
                _conn.Open();
                using (MySqlCommand _cmd = new MySqlCommand(@"SELECT L.limit_name, L.value FROM clients C LEFT JOIN Limits L ON L.id = C.limits_id WHERE C.login = @NAME", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", clientName);

                    using (MySqlDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();
                            _d.Name = DataExtensions.GetColumnValue <string>(_read, "limit_name");

                            var limitObj   = DataExtensions.GetColumnValue <Byte[]>(_read, "value");
                            var LimitValue = limitObj != null?Convert.ToInt64(Encoding.ASCII.GetString(limitObj)) : -1;

                            if (_d.Name == "disk_space" || _d.Name == "max_traffic" || _d.Name == "mbox_quota" ||
                                _d.Name == "mssql_dbase_space" || _d.Name == "mysql_dbase_space" ||
                                _d.Name == "max_traffic_soft" || _d.Name == "disk_space_soft")
                            {
                                _d.Value = (int)((LimitValue / 1024) / 1024);
                            }
                            else
                            {
                                _d.Value = Convert.ToInt32(LimitValue);
                            }

                            _tmp_limits.Add(_d);
                        }
                    }
                }
                _conn.Close();
            }

            return(new HostLimit(_tmp_limits));
        }
示例#9
0
        public override HostLimit GetDomainLimits(string domainName)
        {
            var _tmp_limits = new List <LimitRow>();

            using (SqlConnection _conn = new SqlConnection(connectionString))
            {
                _conn.Open();

                using (SqlCommand _cmd = new SqlCommand(@"SELECT LimitProperty.LimitPropertyName, Limit.LimitValue, Limit.LimitId, Limit.LevelId, Limit.ItemId, HostDomain.DomainName
                                                            FROM Limit INNER JOIN
                                                          LimitProperty ON Limit.LimitPropertyId = LimitProperty.LimitPropertyId INNER JOIN
                                                          Package ON Limit.ItemId = Package.PackageTypeId INNER JOIN
                                                          HostDomain ON Package.PackageId = HostDomain.PackageId
                                                        WHERE (HostDomain.DomainName = @NAME)", _conn))
                {
                    _cmd.Parameters.AddWithValue("@NAME", domainName);

                    using (SqlDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new LimitRow();

                            _d.Name  = DataExtensions.GetColumnValue <String>(_read, "LimitPropertyName");
                            _d.Value = DataExtensions.GetColumnValue <int>(_read, "LimitValue");

                            _tmp_limits.Add(_d);
                        }
                    }
                }

                _conn.Close();
            }

            var hostLimits = new HostLimit();

            hostLimits.LoadHelmLimits(_tmp_limits);

            return(hostLimits);
        }