예제 #1
0
        public async Task Hanlde_CreateEntryCommand_AddsEntryToProjectAsync()
        {
            // arrange
            var project = CreateProject();
            var entity  = project.Schema.Entities.First();

            var command = new CreateEntryCommand
            {
                Id       = project.Id,
                EntityId = entity.Id,
                Values   = new object[] { "Any Value" }
            };

            var session = new Mock <ISession>();

            session.Setup(s => s.Get <Project>(project.Id, command.ExpectedVersion, It.IsAny <CancellationToken>())).Returns(Task.FromResult(project));

            var target = new ProjectCommandHandler(session.Object);

            // act
            await target.Handle(command);

            // assert
            var entry = project.Configuration.Entities.First().Entries.Last();

            Assert.NotNull(entry);
            Assert.Equal(command.Values, entry.Values.Select(v => v.Value));
            session.Verify(s => s.Commit(It.IsAny <CancellationToken>()));
        }
예제 #2
0
        public async Task <ActionResult <Guid> > Create([FromBody] CreateEntryCommand createEntryCommand)
        {
            /// var getEntryDetailQuery = new CreateEntryCommand() { Id = id };
            var id = await _mediator.Send(createEntryCommand);

            return(Ok(id));
        }
        public async Task <ActionResult> CreateEntry([FromBody] CreateEntryCommand command)
        {
            command.MasterPassword = Request.Headers["masterPassword"];
            var a = await Mediator.Send(command);

            return(Ok(a));
        }