示例#1
0
 public ManageTeamPlayersSteps()
 {
     _teamService     = IocProvider.Get <ITeamService>();
     _playerToAdd     = new List <PlayerId>();
     _playersToRemove = new List <PlayerId>();
     _createdPlayers  = new List <PlayerEntity>();
 }
示例#2
0
        public static void Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            IocProvider.Container = host.Services;
            SerilogProvider.StartWithMysql(IocProvider.GetService <IServiceConfigurationAgent>()?.LogConnectionString, "userservice_log");
            host.Run();
        }
示例#3
0
        public void InstanceCall()
        {
            var uow = IocProvider.GetService <IDbUnitOfWork>();
            var t   = IocProvider.GetService <ICommentAppService>();

            Console.WriteLine("InstanceCall uow ---------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + uow.GetHashCode());
            Console.WriteLine("InstanceCall t ---------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + t.GetHashCode());
        }
示例#4
0
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var conn = IocProvider.GetService <IServiceConfigurationProxy>()?.ConnectionString;

            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseMySql(conn);
            }
        }
示例#5
0
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var conn = IocProvider.GetService <IServiceConfigurationProxy>()?.ConnectionString;

            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseMySql(conn);
            }
            //optionsBuilder.UseMySql("Database=gooios_auth_db;Data Source=localhost;Port=3306;User Id=root;Password=111111;charset=utf8;pooling=true");
        }
 public EditTeamSteps()
 {
     _teamService = IocProvider.Get <ITeamService>();
     _player      = new PlayerEntity();
     _team        = new TeamEntity {
         Name         = "TestName",
         Coach        = "New coach",
         Achievements = "Achive",
         Captain      = _player,
         Players      = new List <PlayerEntity>()
     };
 }
        public virtual void GetImpl_Invalid_setting(bool dllExists, string setting)
        {
            _moqChecker.Setup(s => s.CheckForDll(DllName)).Returns(dllExists);

            string.Format("Given dllAvailable = {0} and setting is [{1}]", dllExists, setting).Given(() =>
                _provider = new IocProvider
                {
                    DependencyChecker = _moqChecker.Object,
                    Settings = new NameValueCollection { { KeyName, setting } }
                });

            "Then an dependency exception should be thrown".Then(() =>
                Assert.Throws<DependencyException>(() => _provider.GetImpl() )
                );
        }
示例#8
0
        public static void Publish <TDomainEvent>(TDomainEvent domainEvent)
            where TDomainEvent : class, IDomainEvent
        {
            IEnumerable <IDomainEventHandler <TDomainEvent> > handlers = IocProvider.GetServices <IDomainEventHandler <TDomainEvent> >();// ServiceLocator.Instance.ResolveAll<IDomainEventHandler<TDomainEvent>>();

            foreach (var handler in handlers)
            {
                if (handler.GetType().IsDefined(typeof(HandlesAsynchronouslyAttribute), false))
                {
                    Task.Factory.StartNew(() => handler.Handle(domainEvent));
                }
                else
                {
                    handler.Handle(domainEvent);
                }
            }
        }
        public virtual void GetImpl_NoSettings(bool dllExists, Type expected)
        {
            _moqChecker.Setup(s => s.CheckForDll(DllName)).Returns(dllExists);

            string.Format("Given dll available = {0} and NO Settings", dllExists).Given(() =>
                _provider = new IocProvider
                {
                    DependencyChecker = _moqChecker.Object,
                    Settings = null//<- no settings
                });

            WhenMsg.When(() =>
                _class = _provider.GetImpl());

            string.Format("Then a {0} should be returned", expected.Name).Then(() =>
                _class.GetType().Should().Be(expected));
        }
示例#10
0
        public void InstanceCall()
        {
            var uow1 = IocProvider.GetService <IDbUnitOfWork>();

            Console.WriteLine("InstanceCall uow2 ---------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + uow1.GetHashCode());

            using (var scope = IocProvider.Container.CreateScope())
            {
                var uow2 = scope.ServiceProvider.GetService <IDbUnitOfWork>();//IocProvider.GetService<IDbUnitOfWork>();
                Console.WriteLine("InstanceCall uow5 ---------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + uow2.GetHashCode());
                var uow3 = scope.ServiceProvider.GetService <IDbUnitOfWork>();
                Console.WriteLine("InstanceCall uow6 ---------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + uow3.GetHashCode());
            }
            var uow4 = IocProvider.GetService <IDbUnitOfWork>();

            Console.WriteLine("InstanceCall uow4 ---------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + uow4.GetHashCode());
        }
示例#11
0
        public static void Publish <TDomainEvent>(TDomainEvent domainEvent, Action <TDomainEvent, bool, Exception> callback, TimeSpan?timeout = null)
            where TDomainEvent : class, IDomainEvent
        {
            IEnumerable <IDomainEventHandler <TDomainEvent> > handlers = IocProvider.GetServices <IDomainEventHandler <TDomainEvent> >(); //ServiceLocator.Instance.ResolveAll<IDomainEventHandler<TDomainEvent>>();

            if (handlers != null && handlers.Count() > 0)
            {
                List <Task> tasks = new List <Task>();
                try
                {
                    foreach (var handler in handlers)
                    {
                        if (handler.GetType().IsDefined(typeof(HandlesAsynchronouslyAttribute), false))
                        {
                            tasks.Add(Task.Factory.StartNew(() => handler.Handle(domainEvent)));
                        }
                        else
                        {
                            handler.Handle(domainEvent);
                        }
                    }
                    if (tasks.Count > 0)
                    {
                        if (timeout == null)
                        {
                            Task.WaitAll(tasks.ToArray());
                        }
                        else
                        {
                            Task.WaitAll(tasks.ToArray(), timeout.Value);
                        }
                    }
                    callback(domainEvent, true, null);
                }
                catch (Exception ex)
                {
                    callback(domainEvent, false, ex);
                }
            }
            else
            {
                callback(domainEvent, false, null);
            }
        }
示例#12
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var config = IocProvider.GetService <IServiceConfigurationAgent>();

            context.HttpContext.Request.Headers.TryGetValue(config.ApiHeaderKey, out Microsoft.Extensions.Primitives.StringValues vals);

            if (vals.Count == 0)
            {
                context.Result = new BadRequestResult();
                return;
            }

            var val = vals.ToArray().GetValue(0)?.ToString();

            if (val != config.ApiHeaderValue)
            {
                context.Result = new BadRequestResult();
            }
            //base.OnActionExecuting(context);
        }
示例#13
0
        public void Post([FromBody] Log log)
        {
            //LogProvider.EnQueue(value);

            var dbContext = IocProvider.GetService <DatabaseContext>();

            dbContext.SystemLogs.Add(new Entities.SystemLog
            {
                ApplicationKey       = log.ApplicationKey,
                AppServiceName       = log.AppServiceName,
                BizData              = log.BizData,
                CallerApplicationKey = log.CallerApplicationKey,
                CreatedOn            = DateTime.Now,
                Exception            = log.Exception,
                Level       = log.Level,
                LogThread   = log.LogThread,
                LogTime     = log.LogTime,
                Operation   = log.Operation,
                ReturnValue = log.ReturnValue
            });
            dbContext.SaveChanges();
        }
 public RemovePlayerSteps()
 {
     _playerService = IocProvider.Get <IPlayerService>();
 }
示例#15
0
 static Log()
 {
     _logger = IocProvider.GetService<ILogger<T>>();
 }
 public CreateTeamsSteps()
 {
     _teamService = IocProvider.Get <ITeamService>();
 }
 public RemoveTeamSteps()
 {
     _teamService = IocProvider.Get <ITeamService>();
 }
示例#18
0
 public CreateOrderHandler()
 {
     _orderServiceProxy = IocProvider.GetService <IOrderServiceProxy>();
 }
示例#19
0
 public EditPlayerSteps()
 {
     _player        = new PlayerEntity();
     _playerService = IocProvider.Get <IPlayerService>();
 }
示例#20
0
 public SendSmsHandler()
 {
     _smsProxy = IocProvider.GetService <ISmsProxy>();
 }
        public virtual void GetImpl_No_setting_key(bool dllExists, Type expected)
        {
            _moqChecker.Setup(s => s.CheckForDll(DllName)).Returns(dllExists);

            string.Format("Given dll available = {0} and NO '{1}' setting", dllExists, KeyName).Given(() =>
                _provider = new IocProvider
                {
                    DependencyChecker = _moqChecker.Object,
                    Settings = new NameValueCollection()// <- don't contain the key
                });

            WhenMsg.When(() =>
                _class = _provider.GetImpl());

            string.Format("Then a {0} should be returned", expected.Name).Then(() =>
                _class.GetType().Should().Be(expected));
        }
示例#22
0
 public OrderSubmittedHandler()
 {
     _goodsServiceProxy = IocProvider.GetService <IGoodsServiceProxy>();
     _fancyServiceProxy = IocProvider.GetService <IFancyServiceProxy>();
 }
        public virtual void GetImpl_Valid_setting(bool dllExists, string setting, Type expected)
        {
            _moqChecker.Setup(s => s.CheckForDll(DllName)).Returns(dllExists);

            string.Format("Given dllAvailable = {0} and setting is [{1}]", dllExists, setting).Given(() =>
                _provider = new IocProvider
                {
                    DependencyChecker = _moqChecker.Object,
                    Settings = new NameValueCollection { { KeyName, setting } }
                });

            WhenMsg.When(() =>
                _class = _provider.GetImpl());

            string.Format("Then a {0} should be returned", expected.Name).Then(() =>
                _class.GetType().Should().Be(expected));
        }
示例#24
0
 public CreatePlayerSteps()
 {
     _playersForQuickCreate         = new List <string>();
     _playersAddedQuickCreateActual = new List <Player>();
     _playerService = IocProvider.Get <IPlayerService>();
 }
示例#25
0
        private bool InitRequestParameters(ServiceRequest request, out string errorMessage)
        {
            List <IocProvider> providers = null;

            try
            {
                foreach (var item in request.MethodParameters)
                {
                    if (item.ParameterType == null)
                    {
                        if (providers == null)
                        {
                            providers = Unity.Instance.GetProviders("ServiceModel");
                            if (providers == null)
                            {
                                //throw new InvalidOperationException("IOC配置文件中IOC节点没有指定的名称ServiceModel");
                                errorMessage = "IOC配置文件中IOC节点没有指定的名称ServiceModel";
                                ProcessServiceError(new ArgumentException(errorMessage));
                                return(false);
                            }
                        }

                        IocProvider provider = providers.FirstOrDefault(i => i.FullClassName == item.ParameterTypeName);
                        if (provider != null)
                        {
                            item.ParameterType  = Unity.Instance.GetProviderType(provider);
                            item.ParameterValue = ParameterParse.GetObject(item);
                        }
                        else
                        {
                            //处理泛型列表
                            if (item.ParameterTypeName.StartsWith("System.Collections.Generic.List`1[["))
                            {
                                string tempTypeName = item.ParameterTypeName.Replace("System.Collections.Generic.List`1[[", "");
                                tempTypeName = tempTypeName.Substring(0, tempTypeName.IndexOf(','));
                                provider     = providers.FirstOrDefault(i => i.FullClassName == tempTypeName);
                                if (provider == null)
                                {
                                    //throw new InvalidOperationException("IOC配置文件的名称ServiceModel下面没有定义当前类型:" + tempTypeName);
                                    errorMessage = "IOC配置文件的名称ServiceModel下面没有定义当前类型:" + tempTypeName;
                                    ProcessServiceError(new ArgumentException(errorMessage));
                                    return(false);
                                }


                                //生成基本类型
                                Type   tempType    = Unity.Instance.GetProviderType(provider);
                                Type   generic     = typeof(List <>);
                                Type[] typeArgs    = { tempType };
                                Type   constructed = generic.MakeGenericType(typeArgs);

                                item.ParameterType  = constructed;
                                item.ParameterValue = ParameterParse.GetObject(item);
                            }
                            else
                            {
                                //throw new InvalidOperationException("系统不能处理当前类型的参数:" + item.ParameterTypeName);
                                errorMessage = "系统不能处理当前类型的参数:" + item.ParameterTypeName;
                                ProcessServiceError(new ArgumentException(errorMessage));
                                return(false);
                            }
                        }
                    }
                }//end for
                request.Parameters = request.MethodParameters.Select(o => o.ParameterValue).ToArray();
                errorMessage       = "";
                return(true);
            }
            catch (Exception ex)
            {
                errorMessage = "参数处理异常:" + ex.Message;
                ProcessServiceError(ex, errorMessage);
                return(false);
            }
        }
示例#26
0
 public OrderPaidHandler()
 {
     _activityServiceProxy = IocProvider.GetService <IActivityServiceProxy>();
     _goodsServiceProxy    = IocProvider.GetService <IGoodsServiceProxy>();
     _authServiceProxy     = IocProvider.GetService <IAuthServiceProxy>();
 }