示例#1
0
        public async Task <EntityOperationResult <Basket> > PayItemAsync(BasketPayDto basketPayDto)
        {
            using (var unitOfWork = _unitOfWorkFactory.MakeUnitOfWork())
            {
                try
                {
                    var basket = unitOfWork.Basket.GetById(basketPayDto.Id);
                    basket.DateAction = DateTime.Now;
                    basket.Status     = true;
                    unitOfWork.Basket.Update(basket);

                    await unitOfWork.CompleteAsync();

                    return(EntityOperationResult <Basket> .Success(basket));
                }
                catch (Exception ex)
                {
                    return(EntityOperationResult <Basket> .Failure().AddError(ex.Message));
                }
            }
        }
示例#2
0
        public async Task <IActionResult> Pay(BasketEditModel request)
        {
            var basketPayDto = new BasketPayDto
            {
                Id  = request.Id,
                Sum = request.Sum
            };

            var result = await _service.PayItemAsync(basketPayDto);

            if (result.IsSuccess)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                foreach (var resultError in result.Errors)
                {
                    ModelState.AddModelError("Error", resultError);
                }

                return(View(request));
            }
        }