public async Task <BaseApiResponse> ApplyStore(ApplyStoreRequest request)
        {
            request.CheckNotNull(nameof(request));
            TryInitUserModel();

            var command = new CreateStoreCommand(
                GuidUtil.NewSequentialId(),
                _user.Id,
                request.AccessCode,
                request.Name,
                request.Description,
                request.Region,
                request.Address,
                request.Subject.Name,
                request.Subject.Number,
                request.Subject.Pic);
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
Exemple #2
0
        public async Task <BaseApiResponse> ApplyStore([FromBody] ApplyStoreRequest request)
        {
            request.CheckNotNull(nameof(request));
            var currentAccount = _contextService.GetCurrentAccount(HttpContext);

            var store = _storeQueryService.InfoByUserId(currentAccount.UserId.ToGuid());

            if (store != null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "您已开店,无法继续开店"
                });
            }

            var command = new CreateStoreCommand(
                GuidUtil.NewSequentialId(),
                currentAccount.UserId.ToGuid(),
                request.AccessCode,
                request.Name,
                request.Description,
                request.Region,
                request.Address,
                request.Subject.Name,
                request.Subject.Number,
                request.Subject.Pic);
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
Exemple #3
0
        public async Task CreateStore()
        {
            var request = new CreateStoreCommand("Vinbutik");
            var handler = new StoreCommandHandler(_unitOfWork, _repository);

            var result = await handler.Handle(request, CancellationToken.None);

            Assert.AreEqual(true, result);
        }
Exemple #4
0
        public async Task <IActionResult> CreateStore([FromBody] CreateStoreContract createStoreContract)
        {
            var model   = storeCreationInfoConverter.ToDomain(createStoreContract);
            var command = new CreateStoreCommand(model);

            await commandDispatcher.DispatchAsync(command, default);

            return(Ok());
        }
Exemple #5
0
        public Task <CommandResult> CreateStore(StoreDTO store)
        {
            var command = new CreateStoreCommand
            {
                StoreId     = Guid.NewGuid().ToString(),
                ManagerName = store.ManagerName
            };

            return(commandBus.Send <CreateStoreCommand, CommandResult>(command));
        }
Exemple #6
0
        public async Task ShouldRequireMinimumFields()
        {
            var ownerId = await GetRandomOwner();

            var bigName = Guid.NewGuid().ToString() + Guid.NewGuid().ToString();

            var command = new CreateStoreCommand(ownerId, bigName, new Address("", "", "", "", ""));

            FluentActions.Invoking(() =>
                                   SendAsync(command)).Should().Throw <ValidationException>();
        }
Exemple #7
0
        public async Task ShouldRequireUniqueName()
        {
            var ownerId = await GetRandomOwner();

            await SendAsync(new CreateStoreCommand(
                                storeOwnerId : ownerId,
                                name : "A good store",
                                address : new Address("", "", "", "", "")));

            var command = new CreateStoreCommand(
                storeOwnerId: ownerId,
                name: "A good store",
                address: new Address("", "", "", "", ""));

            FluentActions.Invoking(() =>
                                   SendAsync(command)).Should().Throw <ValidationException>();
        }
Exemple #8
0
        public ActionResult Create(CreateStoreCommand command)
        {
            if (!ModelState.IsValid)
            {
                return(View("Create"));
            }
            var pictures = PreparePicture(command.HttpPostedFileBases, StorePicturePath);

            command.Pictures = pictures;
            command.UserId   = CurrentUser.Id;
            var result = _commandBus.Send(command);

            if (!result.Success)
            {
                return(JsonMessage(result));
            }
            SavePicture(pictures, StorePicturePath);
            return(JsonMessage(result));
        }
Exemple #9
0
        public ActionResult Create()
        {
            var command = new CreateStoreCommand();

            return(View("Create", command));
        }
Exemple #10
0
        public async Task <IActionResult> Post([FromBody] CreateStoreCommand command)
        {
            var store = await _mediator.Send(command);

            return(Ok(store));
        }
 public async Task <string> Add(CreateStoreCommand command)
 {
     return(await Mediator.Send(command));
 }