예제 #1
0
 public UserFriendQuery(IUserFriendRepository repository)
 {
     FieldAsync <ListUserFriendQueryModelType>(
         "search",
         arguments: new QueryArguments(
             new QueryArgument <NonNullGraphType <PagedRequestType> > {
         Name = "pagination"
     },
             new QueryArgument <NonNullGraphType <OrderedRequestType> > {
         Name = "ordering"
     },
             new QueryArgument <UserFriendFilteredRequestType> {
         Name = "filter", DefaultValue = new UserFriendFilter()
     }
             ),
         resolve: async context =>
     {
         var filtering       = context.GetArgument <UserFriendFilter>("filter");
         var pagination      = context.GetArgument <PagedRequest>("pagination");
         var ordering        = context.GetArgument <OrderedRequest>("ordering");
         var(count, friends) = await repository.SearchAsync(filtering, pagination, ordering);
         return(new ListResult <UserFriend>
         {
             TotalCount = count,
             Items = friends
         });
     }
         );
 }
예제 #2
0
 public UserService(IUserRepository userRepository, IUserFriendRepository userFriendRepository,
                    IUserLocationRepository userLocationRepository, IUserPreferenceRepository userPreferenceRepository,
                    IUserResponsRepository userReponseRepository, IUserNotificationRepository userNotificationRepository)
 {
     _userRepository             = userRepository;
     _userFriendRepository       = userFriendRepository;
     _userLocationRepository     = userLocationRepository;
     _userPreferenceRepository   = userPreferenceRepository;
     _userReponseRepository      = userReponseRepository;
     _userNotificationRepository = userNotificationRepository;
 }
예제 #3
0
 public DatasetService(
     IDatasetRepository datasetRepository,
     IUserFriendRepository userFriendRepository,
     IUserRepository userRepository,
     IUserDatasetRepository userDatasetRepository,
     IStringUtilAdapter stringUtilAdapter
     )
 {
     fDatasetRepository     = datasetRepository;
     fUserDatasetRepository = userDatasetRepository;
     fUserFriendRepository  = userFriendRepository;
     fUserRepository        = userRepository;
     fStringUtilAdapter     = stringUtilAdapter;
 }
        public UserFriendMutation(IUserFriendRepository repository)
        {
            FieldAsync <UserFriendQueryType>(
                "addFriend",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <StringGraphType> >
            {
                Name = "friendName"
            },
                    new QueryArgument <NonNullGraphType <StringGraphType> >
            {
                Name = "userId"
            }
                    ),
                resolve: async context =>
            {
                var name = context.GetArgument <string>("friendName");
                var user = context.GetArgument <Guid>("userId");
                return(await context.TryAsyncResolve(async _ => await repository.AddAsync(name, user)));
            }
                );

            FieldAsync <UserFriendQueryType>(
                "removeFriend",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <StringGraphType> >
            {
                Name = "id"
            }),
                resolve: async context =>
            {
                var id = context.GetArgument <string>("id");
                return(await context.TryAsyncResolve(
                           async _ => await repository.RemoveAsync(Guid.Parse(id))
                           ));
            }
                );
        }