Exemple #1
0
        //天切片
        #endregion

        /// <summary>
        /// 实际的统计
        /// </summary>
        public void DoAction(DataBaseConfig ADataBaseConfig, ServiceConfigInfo AServiceConfigInfo, GlobalSetting AGolbalSetting)
        {
            this.IDataBaseConfig    = ADataBaseConfig;
            this.IServiceConfigInfo = AServiceConfigInfo;
            this.IGlobalSetting     = AGolbalSetting;

            //得到全部的座席
            List <ObjectInfo> lstAgentInfo = new List <ObjectInfo>();

            DALAgentInfo.GetAllAgentInfo(IDataBaseConfig, ref lstAgentInfo, IGlobalSetting);
            foreach (ObjectInfo agent in lstAgentInfo)
            {
                DoTimeSplitStatistics(agent);
                Thread.Sleep(10);
            }

            //得到全部的分机
            lstAgentInfo.Clear();
            DALExtensionInfo.GetAllExtensionInfo(IDataBaseConfig, ref lstAgentInfo, IGlobalSetting);
            foreach (ObjectInfo extension in lstAgentInfo)
            {
                DoTimeSplitStatistics(extension);
                Thread.Sleep(10);
            }
        }
Exemple #2
0
        private ServiceConfigInfo GetServiceConfigInfo(ServiceManagementServerWrapper server)
        {
            // ServiceType's Service Config
            var serviceInstanceConfig = server.GetServiceInstanceConfig(_serviceTypeCreator.Guid);
            var serviceConfig         = ServiceConfigInfo.Create(serviceInstanceConfig);

            // Authentication
            serviceConfig.ServiceAuthentication.EnforceImpersonation = _serviceInstanceSettings.ServiceAuthentication.EnforceImpersonation;
            serviceConfig.ServiceAuthentication.Extra            = _serviceInstanceSettings.ServiceAuthentication.Extra;
            serviceConfig.ServiceAuthentication.Impersonate      = _serviceInstanceSettings.ServiceAuthentication.Impersonate;
            serviceConfig.ServiceAuthentication.OAuthToken       = _serviceInstanceSettings.ServiceAuthentication.OAuthToken;
            serviceConfig.ServiceAuthentication.Password         = _serviceInstanceSettings.ServiceAuthentication.Password;
            serviceConfig.ServiceAuthentication.SecurityProvider = _serviceInstanceSettings.ServiceAuthentication.SecurityProvider;
            serviceConfig.ServiceAuthentication.UseOAuth         = _serviceInstanceSettings.ServiceAuthentication.UseOAuth;
            serviceConfig.ServiceAuthentication.UserName         = _serviceInstanceSettings.ServiceAuthentication.UserName;

            // Config Settings
            foreach (var configSetting in serviceConfig.ConfigSettings)
            {
                if (_serviceInstanceSettings.ConfigurationSettings.ContainsKey(configSetting.Name))
                {
                    configSetting.Value = _serviceInstanceSettings.ConfigurationSettings[configSetting.Name];
                }
            }

            return(serviceConfig);
        }
        public static ServiceConfigInfo GetServiceConfigInfo(Guid serviceTypeGuid)
        {
            var connection = WrapperFactory.Instance.GetServiceManagementServerWrapper(null);

            using (connection.BaseAPIServer?.Connection)
            {
                string serviceInstanceConfigXml = connection.GetServiceInstanceConfig(serviceTypeGuid);
                return(ServiceConfigInfo.Create(serviceInstanceConfigXml));
            }
        }
Exemple #4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            IConfigurationSection configSection = Configuration.GetSection("ServiceConfig");

            ServiceConfigInfo.Init(configSection["consul"], configSection["configKey"], configSection["ip"], Convert.ToInt32(configSection["httpPort"]));

            services.AddGalaxyAuth("ShopInfoManage");
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            services.AddCors(options =>
            {
                options.AddPolicy("any", builder =>
                {
                    builder
                    .WithOrigins("*")
                    .AllowAnyOrigin()
                    .AllowAnyMethod()
                    .AllowAnyHeader();
                });
            });

            services.Configure <MvcOptions>(options =>
            {
                options.Filters.Add(new CorsAuthorizationFilterFactory("any"));
            });

            new AutoMapperInit().Init();

            DBConnectionProvider.Config(ServiceConfigInfo.Single.DBConfig.Server,
                                        ServiceConfigInfo.Single.DBConfig.Port,
                                        ServiceConfigInfo.Single.DBConfig.DBName,
                                        ServiceConfigInfo.Single.DBConfig.User,
                                        ServiceConfigInfo.Single.DBConfig.Password);
            CSRedisInitHelper.Init(ServiceConfigInfo.Single.RedisConfig.Server, System.Convert.ToInt32(ServiceConfigInfo.Single.RedisConfig.Port));

            //注册Swagger生成器,定义一个和多个Swagger 文档
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "ShopInfoServiceAPI", Version = "v1"
                });
                c.SwaggerDoc("v2", new Info {
                    Title = "ShopInfoServiceAPI_2", Version = "v2"
                });
                c.IncludeXmlComments(AppDomain.CurrentDomain.BaseDirectory + "/Galaxy.Taurus.ShopInfoAPI.xml");
            });

            DependencyRegister dependencyRegister = new DependencyRegister();

            ApplicationContainer = dependencyRegister.RegisterWeb(services);
            return(new AutofacServiceProvider(ApplicationContainer));//第三方IOC接管 core内置DI容器
        }
Exemple #5
0
        public BaseBusinessTest()
        {
            ///读取配置文件
            IConfiguration config = new ConfigurationBuilder()
                                    .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
                                    .Add(new JsonConfigurationSource {
                Path = "appsettings.json", ReloadOnChange = true
            })
                                    .Build();
            IConfigurationSection configSection = config.GetSection("ServiceConfig");

            ServiceConfigInfo.Init(configSection["consul"], configSection["configKey"], configSection["ip"], Convert.ToInt32(configSection["httpPort"]));
        }
        /// <summary>
        /// 将配置信息读到类里
        /// </summary>
        /// <param name="AFileName"></param>
        /// <param name="AXmlNodeName"></param>
        /// <returns></returns>
        protected bool ReadXml(string AFileName)
        {
            bool flag = true;

            if (IListServiceConfigInfo == null)
            {
                IListServiceConfigInfo = new List <ServiceConfigInfo>();
            }
            else
            {
                IListServiceConfigInfo.Clear();
            }


            if (File.Exists(AFileName))
            {
                try
                {
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.Load(AFileName);
                    XmlNodeList lstXmlNodeList = xdoc.SelectNodes("PMStatisticsTime/StatisticsName");
                    foreach (XmlNode xnode in lstXmlNodeList)
                    {
                        if (xnode != null)
                        {
                            ServiceConfigInfo serviceConfigInfo = new ServiceConfigInfo();
                            serviceConfigInfo.StatistcsName = xnode.Attributes["name"].Value ?? StatisticsConstDefine.QMStatisticsName;
                            serviceConfigInfo.IsStart       = xnode.Attributes["IsActive"].Value == "1";
                            serviceConfigInfo.StartTime     = BasicMethod.DateTimeParse(xnode.Attributes["StartTime"].Value, new DateTime(DateTime.Today.Year, 1, 1));
                            if (IListServiceConfigInfo == null)
                            {
                                IListServiceConfigInfo = new List <ServiceConfigInfo>();
                            }
                            IListServiceConfigInfo.Add(serviceConfigInfo);
                        }
                    }
                }
                catch (Exception e)
                {
                    FileLog.WriteInfo("ReadXml()", e.Message.ToString());
                    return(false);
                }
            }
            else
            {
                return(false);
            }
            return(flag);
        }
Exemple #7
0
        //天切片
        #endregion

        public void DoAction(DataBaseConfig ADataBaseConfig, ServiceConfigInfo AServiceConfigInfo, GlobalSetting AGolbalSetting)
        {
            try
            {
                //得到全局参数
                this.IDataBaseConfig    = ADataBaseConfig;
                this.IServiceConfigInfo = AServiceConfigInfo;
                this.IGlobalSetting     = AGolbalSetting;

                //得到全部的座席
                List <ObjectInfo> lstAgentInfo = new List <ObjectInfo>();
                DALAgentInfo.GetAllAgentInfo(IDataBaseConfig, ref lstAgentInfo, IGlobalSetting);
                foreach (ObjectInfo agent in lstAgentInfo)
                {
                    DoTimeSplitStatistics(agent);
                    Thread.Sleep(10);
                }

                //得到全部的分机
                lstAgentInfo.Clear();
                DALExtensionInfo.GetAllExtensionInfo(IDataBaseConfig, ref lstAgentInfo, IGlobalSetting);
                foreach (ObjectInfo extension in lstAgentInfo)
                {
                    DoTimeSplitStatistics(extension);
                    Thread.Sleep(10);
                }

                //得到全部的用户
                lstAgentInfo.Clear();
                DALUserInfo.GetAllUserInfo(IDataBaseConfig, IGlobalSetting, ref lstAgentInfo);
                foreach (ObjectInfo user in lstAgentInfo)
                {
                    DoTimeSplitStatistics(user);
                    Thread.Sleep(10);
                }
            }
            catch (Exception ex)
            {
                FileLog.WriteError("QMStatistics().DoAction", ex.Message);
            }
        }