public async Task <BuyIntentResult> RegisterBuyIntent(BuyIntentRequest request) { request.DateIntent = DateTime.UtcNow; BuyIntentResult response = await AppRepository.Purchase.InsertBuyIntent(request); return(response); }
public async Task <IHttpActionResult> InsertBuyIntent(BuyIntentApiRequest request) { request.UserId = (await GetUser()).Id; BuyIntentRequest buyIntentRequest = Mapper.Map <BuyIntentRequest>(request); BuyIntentResult buyIntentResult = await AppBusiness.Purchase.RegisterBuyIntent(buyIntentRequest); BuyIntentApiResult response = Mapper.Map <BuyIntentApiResult>(buyIntentResult); return(Ok(response)); }
public async Task <UserResult> ConfirmBuyIntent(BuyIntentRequest request) { UserResult response = null; BuyIntentResult actualIntent = await AppRepository.Purchase.GetById(request.Id); if (actualIntent != null) { request = Mapper.Map <BuyIntentRequest>(actualIntent); await AppRepository.Purchase.ConfirmBuyIntent(request); response = await AppBusiness.User.GetById(actualIntent.UserId); if (response != null) { AvailableTrapResult availableTrap = await AppBusiness.Purchase.GetAvailableTrapById(actualIntent.AvailableTrapId); if (availableTrap != null) { TrapResult trap = await AppBusiness.Trap.GetByNameKey(availableTrap.NameKey); UserTrapRequest userTrap = new UserTrapRequest(); userTrap.TrapId = trap.Id.ToString(); userTrap.Amount = availableTrap.Amount; UserRequest userRequest = Mapper.Map <UserRequest>(response); AppBusiness.User.AddTrap(userRequest, userTrap); await AppRepository.User.UpdateTraps(userRequest.Id, userRequest.Traps); response = await AppBusiness.User.GetById(userRequest.Id); } } } return(response); }
private BuyIntentResult Parse(BuyIntent request) { if (request != null) { BuyIntentResult response = new BuyIntentResult(); response.Id = request.Id.ToString(); response.AvailableTrapId = request.AvailableTrap.Id.ToString(); response.DateIntent = request.DateIntent; response.DateResult = request.DateResult; response.Processed = request.Processed; response.Realized = request.Realized; response.StoreKey = request.StoreKey; response.UserId = request.User.Id.ToString(); return(response); } else { return(null); } }