private void upgradecompany_file(List <Foresight.DataAccess.Company> company_list, Foresight.DataAccess.SiteVersion site_version, out string error_sql_sites, out string error_file_sites, out List <Foresight.DataAccess.Company> company_list_out)
        {
            error_sql_sites  = string.Empty;
            error_file_sites = string.Empty;
            company_list_out = new List <Foresight.DataAccess.Company>();
            var    config       = new Utility.SiteConfig();
            string base_url     = config.SITE_URL;
            string SitePath     = config.SitePath;
            var    version_list = Foresight.DataAccess.SiteVersion.GetSiteVersions().Where(p => p.VersionType.Equals("platform") || string.IsNullOrEmpty(p.VersionType)).OrderByDescending(p => p.VersionCode);

            foreach (var company in company_list)
            {
                if (!company.BaseURL.ToLower().StartsWith(base_url))
                {
                    continue;
                }
                string SiteName = company.BaseURL.Replace(base_url, "");
                company.VersionCode = company.VersionCode > 0 ? company.VersionCode : 1;
                string FilePath = string.Empty;
                for (int i = company.VersionCode + 1; i <= site_version.VersionCode; i++)
                {
                    var current_version = version_list.FirstOrDefault(p => p.VersionCode == i);
                    if (current_version == null)
                    {
                        continue;
                    }
                    string SqlPath = current_version.SqlPath;
                    if (!string.IsNullOrEmpty(SqlPath))
                    {
                        string extension = System.IO.Path.GetExtension(current_version.SqlPath).ToLower();
                        if (extension.ToLower().Contains("sql"))
                        {
                            try
                            {
                                string SQLFullPath  = HttpContext.Current.Server.MapPath("~" + SqlPath);
                                string DatabaseName = "yy_" + SiteName;
                                Utility.SQLHelper.ExecuteSQLFile(SQLFullPath, DatabaseName);
                                if (!company_list_out.Select(p => p.CompanyID).ToList().Contains(company.CompanyID))
                                {
                                    company_list_out.Add(company);
                                }
                            }
                            catch (Exception ex)
                            {
                                error_sql_sites += company.CompanyName + ",";
                                LogHelper.WriteError("更新数据库失败", company.CompanyName, ex);
                            }
                        }
                    }
                    if (!string.IsNullOrEmpty(current_version.FilePath))
                    {
                        FilePath = current_version.FilePath;
                    }
                }
                if (!string.IsNullOrEmpty(FilePath))
                {
                    string extension = System.IO.Path.GetExtension(FilePath).ToLower();
                    if (extension.ToLower().Contains("zip"))
                    {
                        try
                        {
                            string FileFullPath = HttpContext.Current.Server.MapPath("~" + FilePath);
                            string SiteFullPath = SitePath + SiteName;
                            Utility.Tools.UnZipFile(FileFullPath, SiteFullPath, "");
                            if (!company_list_out.Select(p => p.CompanyID).ToList().Contains(company.CompanyID))
                            {
                                company_list_out.Add(company);
                            }
                        }
                        catch (Exception ex)
                        {
                            error_file_sites += company.CompanyName + ",";
                            LogHelper.WriteError("更新系统文件失败", company.CompanyName, ex);
                        }
                    }
                }
            }
        }
        private void upgrade_out_company_file(List <Foresight.DataAccess.Company> company_list, Foresight.DataAccess.SiteVersion site_version, out string error_sites, out List <Foresight.DataAccess.Company> company_list_out)
        {
            error_sites      = string.Empty;
            company_list_out = new List <Foresight.DataAccess.Company>();
            var    config       = new Utility.SiteConfig();
            string base_url     = config.SITE_URL;
            string SitePath     = config.SitePath;
            var    version_list = Foresight.DataAccess.SiteVersion.GetSiteVersions();
            int    VersionCode  = site_version.VersionCode;

            foreach (var company in company_list)
            {
                company.VersionCode = company.VersionCode > 0 ? company.VersionCode : 1;
                List <Utility.SiteVersionModel> site_version_model_list = new List <Utility.SiteVersionModel>();
                for (int i = company.VersionCode + 1; i <= VersionCode; i++)
                {
                    var current_version = version_list.FirstOrDefault(p => p.VersionCode == i);
                    if (current_version == null)
                    {
                        continue;
                    }
                    Utility.SiteVersionModel site_version_model = null;
                    string SqlPath = current_version.SqlPath;
                    if (!string.IsNullOrEmpty(SqlPath))
                    {
                        string extension = System.IO.Path.GetExtension(current_version.SqlPath).ToLower();
                        if (extension.ToLower().Contains("sql"))
                        {
                            if (site_version_model == null)
                            {
                                site_version_model             = new Utility.SiteVersionModel();
                                site_version_model.VersionCode = current_version.VersionCode;
                            }
                            site_version_model.SqlPath = WebUtil.GetContextPath() + SqlPath;
                        }
                    }
                    string FilePath = current_version.FilePath;
                    if (!string.IsNullOrEmpty(FilePath))
                    {
                        string extension = System.IO.Path.GetExtension(FilePath).ToLower();
                        if (extension.ToLower().Contains("zip"))
                        {
                            if (site_version_model == null)
                            {
                                site_version_model             = new Utility.SiteVersionModel();
                                site_version_model.VersionCode = current_version.VersionCode;
                            }
                            site_version_model.FilePath = WebUtil.GetContextPath() + FilePath;
                        }
                    }
                    if (site_version_model != null)
                    {
                        site_version_model_list.Add(site_version_model);
                    }
                }
                if (EncryptHelper.DoUpgradeSite(company, site_version_model_list, VersionCode, out error_sites))
                {
                    company_list_out.Add(company);
                }
            }
        }