コード例 #1
0
        public async Task <SearchResult <Event> > List(GetEventList request)
        {
            request.CompanyUid = await _currentCompanyProvider.GetCompanyUid();

            request.UserUid    = _currentUserProvider.GetUserUid();
            request.IsTemplate = true;

            return(await _mediator.Send(request));
        }
コード例 #2
0
        public static bool ExecuteEx <T>(GameObject target, BaseEventData eventData, ExecuteEvents.EventFunction <T> functor) where T : IEventSystemHandler
        {
            GetEventChain.Invoke(null, new object[] { target, InternalTransformList });
            var        internalHandlers    = s_HandlerListPool.Get();
            MethodInfo GetEventListGeneric = GetEventList.MakeGenericMethod(new Type[] { typeof(T) });

            for (int i = 0; i < InternalTransformList.Count; i++)
            {
                var transform = InternalTransformList[i];
                //GetEventList<T>(target, internalHandlers);
                GetEventListGeneric.Invoke(null, new object[] { transform.gameObject, internalHandlers });
            }


            //	if (s_InternalHandlers.Count > 0)
            //		Debug.Log("Executinng " + typeof (T) + " on " + target);
            UPointerEventDataEx eventDataEx = eventData as UPointerEventDataEx;

            for (var i = 0; i < internalHandlers.Count; i++)
            {
                T arg;
                try
                {
                    arg = (T)internalHandlers[i];
                }
                catch (Exception e)
                {
                    var temp = internalHandlers[i];
                    Debug.LogException(new Exception(string.Format("Type {0} expected {1} received.", typeof(T).Name, temp.GetType().Name), e));
                    continue;
                }

                try
                {
                    functor(arg, eventDataEx);
                }
                catch (Exception e)
                {
                    Debug.LogException(e);
                }


                if (!eventDataEx.CanBubbleEvent)
                {
                    break;
                }
            }

            var handlerCount = internalHandlers.Count;

            s_HandlerListPool.Release(internalHandlers);
            return(handlerCount > 0);
        }
コード例 #3
0
        public async Task Handle_Success()
        {
            // Arrange
            var request = new GetEventList(outputPort);

            // Act
            var result = await interactor.Handle(request, CancellationToken.None);

            // Assert
            result.IsSuccessful.Should().BeTrue();
            A.CallTo(() => outputPort.Output(A <GetEventListOutput> ._))
            .MustHaveHappenedOnceExactly();
        }
コード例 #4
0
        public async Task GetEventList_ForNormalRequest_ReturnItems()
        {
            // arrange
            var cancellationToken = CancellationToken.None;
            var dbContextFactory  = new DefaultDbContextFactory();

            var handler = new GetEventListHandler(dbContextFactory);

            // act
            var command = new GetEventList
            {
                UserUid = Guid.NewGuid(),
            };

            var result = await handler.Handle(command, cancellationToken);

            // assert
            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Rows);
        }
コード例 #5
0
        public async Task <SearchResult <Event> > Handle(GetEventList request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            using (var db = _dbContextFactory.Create())
            {
                var all = db.GetTable <DbEvent>()
                          .Where(x => x.CompanyUid == request.CompanyUid &&
                                 x.IsTemplate == request.IsTemplate);

                var data = await all
                           .Apply(request, x => x.Id, SortOrder.Descending)
                           .Select(x => new Event
                {
                    Uid         = x.Uid,
                    Id          = x.Id,
                    ConfigCode  = x.ConfigCode,
                    StatusCode  = x.StatusCode,
                    Name        = x.Name,
                    Description = x.Description,
                    Url         = "/events/edit/" + x.Uid
                })
                           .ToListAsync(cancellationToken);

                var result = new SearchResult <Event>
                {
                    TotalCount = all.GetTotalCount(request),
                    Rows       = data
                };

                return(result);
            }
        }