public object AddBalance([FromBody] AddBalanceViewModel addBalanceViewModel)
 {
     try
     {
         addBalanceViewModel.TransactionId   = "fake-id";
         addBalanceViewModel.TransactionDate = DateTimeOffset.Now;
         addBalanceViewModel.Timestamp       = DateTimeOffset.Now;
         Subscription subscriptionItem = new Subscription();
         subscriptionItem = _financeRepository.AddBalance(addBalanceViewModel.UserId, addBalanceViewModel.Amount, addBalanceViewModel.TransactionId, addBalanceViewModel.Timestamp, addBalanceViewModel.TransactionDate);
         return(new SingleResponse <Subscription>
         {
             Message = "Balance added successfully",
             DidError = false,
             ErrorMessage = string.Empty,
             Token = string.Empty,
             Model = subscriptionItem
         });
     }
     catch (Exception ex)
     {
         return(new SingleResponse <Subscription>
         {
             Message = ex.Message,
             DidError = true,
             ErrorMessage = ex.InnerException.ToString(),
             Token = string.Empty,
             Model = new Subscription()
         });
     }
 }
예제 #2
0
        public async Task <IActionResult> AddBalance(IFormCollection addBalanceFormData)
        {
            try
            {
                AddBalanceViewModel addBalanceViewModel = new AddBalanceViewModel();
                addBalanceViewModel.UserId = HttpContext.Session.GetObject(StorageType.UserId).ToString();//LocalStorageExtensions.Get(StorageType.UserId);
                foreach (var key in addBalanceFormData.Keys)
                {
                    if (key == "amount")
                    {
                        addBalanceViewModel.Amount = Convert.ToDecimal(addBalanceFormData[key]);
                    }
                }

                string response = await APICallerExtensions.APICallAsync("Finance/AddBalance", addBalanceViewModel, false, HttpContext.Session.GetObject(StorageType.Token).ToString());

                if (response.ToLower().Contains("exception:"))
                {
                    ModelState.AddModelError(string.Empty, response);
                    return(RedirectToAction("Index"));
                }
                var content = JsonConvert.DeserializeObject <SingleResponse <Subscription> >(response);
                if (!content.DidError)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, content.Message);
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(RedirectToAction("Index"));
            }
        }
예제 #3
0
        public async Task <ActionResult> TopUpBalance(AddBalanceViewModel model)
        {
            if (model == null || !ModelState.IsValid)
            {
                return(View(model));
            }

            var result = _userService.TopUpBalance(User.Identity.GetUserId(), model.TopUpSum);

            if (result == 1)
            {
                var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                if (user != null)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                }

                return(RedirectToAction("Index", new { Message = ManageMessageId.TopUpBalanseSuccess }));
            }

            ModelState.AddModelError("", "Failed to top up balance");
            return(View(model));
        }
예제 #4
0
 public AddBalanceView()
 {
     InitializeComponent();
     BindingContext = new AddBalanceViewModel(Navigation);
 }
예제 #5
0
 public AddMoneyCommand(ICardService cardService, IAuthentificator authentificator, AddBalanceViewModel addBalanceViewModel)
 {
     _cardService         = cardService;
     _authentificator     = authentificator;
     _addBalanceViewModel = addBalanceViewModel;
 }