Esempio n. 1
0
        public async Task <IActionResult> Pay([Bind("FrilanserId, Period, Amount,Content,BlogId")] FrilanserMonthStringsModel frilanserMonthlyPayment)
        {
            IdentityUser frilanser = await _userManager.FindByIdAsync(frilanserMonthlyPayment.FrilanserId);

            if (_usersWalletRepository.isUserHasAddressIdentity(frilanser))
            {
                List <string> FromAddresses = new List <string>();
                List <string> ToAddresses   = new List <string>();
                List <string> Amounts       = new List <string>();
                FromAddresses.Add(_usersWalletRepository.getWalletAddressById(3));
                ToAddresses.Add(_usersWalletRepository.GetUsersWalletAddressIdentity(frilanser));
                Amounts.Add(frilanserMonthlyPayment.Amount.ToString(System.Globalization.CultureInfo.GetCultureInfo("en-US")));
                Payments pc = new Payments();
                PaymentsToFrilanserModel paymentsToFrilanser = new PaymentsToFrilanserModel();
                try
                {
                    APIResponse response = _repository.withdrawFromAddresses(pc, FromAddresses, ToAddresses, Amounts);
                    paymentsToFrilanser.Status    = true;
                    paymentsToFrilanser.Amount    = frilanserMonthlyPayment.Amount;
                    paymentsToFrilanser.Frilanser = frilanser;
                    paymentsToFrilanser.Period    = DateTime.Parse(frilanserMonthlyPayment.Period);
                    _repository.CreatePaymentInvoiceToFrilanser(paymentsToFrilanser);
                    return(RedirectToAction(nameof(Index)));
                }
                catch
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }
            else
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
 public int CreatePaymentInvoiceToFrilanser(PaymentsToFrilanserModel paymentsToFrilanser)
 {
     _db.PaymentsToFrilansers.Add(paymentsToFrilanser);
     _db.SaveChanges();
     return(paymentsToFrilanser.PaymentId);
 }