public async Task <IServiceResult> RechargeAsync([FromRoute] string id, [FromBody] MoneyDto MoneyDto)
        {
            try
            {
                var userId = id.ToGuid();
                var user   = await _context.Users.Where(u => u.Id == userId).SingleAsync();

                user.Money = MoneyDto.Money;

                if (!await _unitOfWork.CompleteAsync())
                {
                    throw new SaveFailedException(nameof(user));
                }

                user = await _userManager.FindByIdAsync(id);

                var usersDto = _mapper.Map <User, UserDTOs>(user);
                return(new ServiceResult(payload: usersDto));
            }
            catch (Exception e)
            {
                _logger.LogError($"User {id} can't recharge  {e.Message}");
                return(new ServiceResult(false, e.Message));
            }
        }
 public DriverRideDetailsQueryDto(IReadOnlyCollection <AddressDto> stops,
                                  MoneyDto income,
                                  CustomerDetailsDto customerDetails,
                                  RideStatus status) : base(income, customerDetails, status)
 {
     Stops = stops;
 }
        private static MoneyDto MapMoney(Money money)
        {
            MoneyDto moneyDto = new MoneyDto();

            moneyDto.Amount          = money.Amount;
            moneyDto.CurrencyISOCode = money.Currency.IsoCode;
            return(moneyDto);
        }
Exemple #4
0
 protected DriverRideDetailsBaseDto(MoneyDto income,
                                    CustomerDetailsDto customerDetails,
                                    RideStatus status)
 {
     Income          = income;
     CustomerDetails = customerDetails;
     Status          = status;
 }
Exemple #5
0
 public CustomerRideDetailsQueryDto(
     IReadOnlyCollection <RouteDto> routes,
     RideStatus status,
     MoneyDto price,
     DateTime?finishedDate,
     DriverDetailsDto driverDetails) : base(status, price)
 {
     Routes        = routes;
     FinishedDate  = finishedDate;
     DriverDetails = driverDetails;
 }
        public IActionResult FillUpWallet(long userWalletId, [FromBody] MoneyDto moneyDto)
        {
            if (moneyDto.Amount <= 0)
            {
                return(BadRequest());
            }

            var userWalletFromDb = _userWalletRepository.GetUserWalletById(userWalletId);

            userWalletFromDb.Balance += moneyDto.Amount;

            _userWalletRepository.SaveChanges();


            var userWalletToReturn = _mapper.Map <UserWalletDto>(userWalletFromDb);

            return(CreatedAtRoute("GetUserWallets", new { userId = userWalletToReturn.UserId }, userWalletToReturn));
        }
 protected CustomerRideDetailsDtoBase(RideStatus status, MoneyDto price)
 {
     Price  = price;
     Status = status;
 }
 private static Money DtoToModel(MoneyDto moneyDto)
 {
     return(new Money(moneyDto.Amount, Enum.Parse <Currency>(moneyDto.Currency, true)));
 }