コード例 #1
0
        public RemarkCommentModule(ICommandDispatcher commandDispatcher,
                                   IRemarkStorage remarkStorage,
                                   IValidatorResolver validatorResolver)
            : base(commandDispatcher, validatorResolver, modulePath: "remarks/{remarkId}/comments")
        {
            Post("", async args => await For <AddCommentToRemark>()
                 .SetResourceId(x => x.CommentId)
                 .OnSuccessAccepted(x => $"remarks/{x.RemarkId}/comments/" + "{0}")
                 .DispatchAsync());

            Put("{commentId}", async args => await For <EditRemarkComment>()
                .OnSuccessAccepted()
                .DispatchAsync());

            Delete("{commentId}", async args => await For <DeleteRemarkComment>()
                   .OnSuccessAccepted()
                   .DispatchAsync());

            Put("{commentId}/votes", async args => await For <SubmitRemarkCommentVote>()
                .Set(x => x.CreatedAt = DateTime.UtcNow)
                .OnSuccessAccepted()
                .DispatchAsync());

            Delete("{commentId}/votes", async args => await For <DeleteRemarkCommentVote>()
                   .OnSuccessAccepted()
                   .DispatchAsync());
        }
コード例 #2
0
        public RemarkActionModule(ICommandDispatcher commandDispatcher,
                                  IRemarkStorage remarkStorage,
                                  IValidatorResolver validatorResolver)
            : base(commandDispatcher, validatorResolver, modulePath: "remarks/{remarkId}/actions")
        {
            Post("", async args => await For <TakeRemarkAction>()
                 .OnSuccessAccepted()
                 .DispatchAsync());

            Delete("", async args => await For <CancelRemarkAction>()
                   .OnSuccessAccepted()
                   .DispatchAsync());
        }
コード例 #3
0
 public EmployeeManager(IEmployeeStorage storage, IRemarkStorage remarkStorage)
 {
     _storage = storage;
     _remarkStorage = remarkStorage;
 }
コード例 #4
0
 public EmployeeManager(IEmployeeStorage storage, IRemarkStorage remarkStorage)
 {
     _storage       = storage;
     _remarkStorage = remarkStorage;
 }
コード例 #5
0
        public RemarkModule(ICommandDispatcher commandDispatcher,
                            IRemarkStorage remarkStorage,
                            IValidatorResolver validatorResolver)
            : base(commandDispatcher, validatorResolver, modulePath: "remarks")
        {
            Get("", async args => await FetchCollection <BrowseRemarks, Remark>
                    (async x => await remarkStorage.BrowseAsync(x))
                .MapTo(MapToBasicRemark)
                .HandleAsync());

            Get("similar", async args => await FetchCollection <BrowseSimilarRemarks, Remark>
                    (async x => await remarkStorage.BrowseSimilarAsync(x))
                .MapTo(MapToBasicRemark)
                .HandleAsync());

            Get("categories", async args => await FetchCollection <BrowseRemarkCategories, RemarkCategory>
                    (async x => await remarkStorage.BrowseCategoriesAsync(x)).HandleAsync());

            Get("tags", async args => await FetchCollection <BrowseRemarkTags, Tag>
                    (async x => await remarkStorage.BrowseTagsAsync(x)).HandleAsync());

            Get("{id}", async args => await Fetch <GetRemark, Remark>
                    (async x => await remarkStorage.GetAsync(x.Id, CurrentUserId)).HandleAsync());

            Post("", async args => await For <CreateRemark>()
                 .SetResourceId(x => x.RemarkId)
                 .OnSuccessAccepted("remarks/{0}")
                 .DispatchAsync());

            Put("{remarkId}/photo", async args => await For <AddPhotosToRemark>()
                .Set(x =>
            {
                var photo = ToFile();
                x.Photos  = new List <Collectively.Messages.Commands.Models.File> {
                    photo
                };
            })
                .OnSuccessAccepted($"remarks/{args.remarkId}")
                .DispatchAsync());

            Put("{remarkId}/photos", async args => await For <AddPhotosToRemark>()
                .OnSuccessAccepted($"remarks/{args.remarkId}")
                .DispatchAsync());

            Patch("{remarkId}", async args => await For <EditRemark>(
                      new EditRemark {
                RemarkId = args.remarkId
            })
                  .OnSuccessAccepted($"remarks/{args.remarkId}")
                  .DispatchAsync());


            Delete("{remarkId}/photos/{groupId}", async args => await For <RemovePhotosFromRemark>()
                   .Set(x => x.Photos = new List <GroupedFile>
            {
                new GroupedFile
                {
                    GroupId = args.groupId
                }
            })
                   .OnSuccessAccepted($"remarks/{args.remarkId}")
                   .DispatchAsync());

            Put("{remarkId}/resolve", async args => await For <ResolveRemark>()
                .OnSuccessAccepted($"remarks/{args.remarkId}")
                .DispatchAsync());

            Put("{remarkId}/process", async args => await For <ProcessRemark>()
                .OnSuccessAccepted($"remarks/{args.remarkId}")
                .DispatchAsync());

            Put("{remarkId}/renew", async args => await For <RenewRemark>()
                .OnSuccessAccepted($"remarks/{args.remarkId}")
                .DispatchAsync());

            Put("{remarkId}/cancel", async args => await For <CancelRemark>()
                .OnSuccessAccepted($"remarks/{args.remarkId}")
                .DispatchAsync());

            Delete("{remarkId}", async args => await For <DeleteRemark>()
                   .OnSuccessAccepted()
                   .DispatchAsync());

            Put("{remarkId}/votes", async args => await For <SubmitRemarkVote>()
                .Set(x => x.CreatedAt = DateTime.UtcNow)
                .OnSuccessAccepted($"remarks/{args.remarkId}")
                .DispatchAsync());

            Delete("{remarkId}/votes", async args => await For <DeleteRemarkVote>()
                   .OnSuccessAccepted($"remarks/{args.remarkId}")
                   .DispatchAsync());

            Delete("{remarkId}/states/{stateId}", async args => await For <DeleteRemarkState>()
                   .OnSuccessAccepted($"remarks/{args.remarkId}")
                   .DispatchAsync());
        }
コード例 #6
0
 public EmployeeManager(IEmployeeStorage storage, IRemarkStorage remarkStorage, ICacheManager cManager)
 {
     _storage       = storage;
     _remarkStorage = remarkStorage;
     _cManager      = cManager;
 }