public async Task <IActionResult> PutScholarship([FromRoute] int id, [FromBody] Scholarship Scholarship) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != Scholarship.Id) { return(BadRequest()); } dbContext.Entry(Scholarship).State = EntityState.Modified; try { await dbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ScholarshipExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutBusiness([FromRoute] int id, [FromBody] Business luckyMe) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != luckyMe.Id) { return(BadRequest()); } dbContext.Entry(luckyMe).State = EntityState.Modified; try { await dbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BusinessExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutPayment([FromRoute] int id, [FromBody] Payment payment) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != payment.PaymentId) { return(BadRequest()); } try { dbContext.Entry(payment).State = EntityState.Modified; await dbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException ex) { //Console.WriteLine(ex.Message); if (!PaymentExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async void MomoTransfer(IStakeType stakeType) { if (Constants.PaymentGateway == PaymentGateway.flutterwave) { try { var data = new { account_bank = stakeType.User.MomoDetails.Network, account_number = Misc.FormatGhanaianPhoneNumberWp(stakeType.User.MomoDetails.Number), amount = stakeType.AmountToWin, seckey = AppSettings.FlatterWaveSettings.GetApiSecret(), narration = "Ntoboa " + stakeType + " Winner", currency = stakeType.User.MomoDetails.Currency, reference = stakeType.User.Id + DateTime.Now.ToShortDateString() + DateTime.Now.ToShortTimeString() + "_PMCK", beneficiary_name = stakeType.User.FirstName + " " + stakeType.User.LastName, callback_url = "https://32d4015e.ngrok.io/transaction/momohook" }; var payload = JsonConvert.SerializeObject(data, Misc.getDefaultResolverJsonSettings()); var stringContent = new StringContent(payload); stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var httpClient = new HttpClient(); HttpResponseMessage response = await httpClient.PostAsync("https://api.ravepay.co/v2/gpx/transfers/create", stringContent); var responseStr = response.Content.ReadAsStringAsync().Result; var responseObject = JsonConvert.DeserializeObject <TransferResponse>(responseStr); if (responseObject.status == "success") { //If transfer is successfull add a new payment var payment = new Payment { // Reference = responseObject.data.reference, }; } else { } } catch (Exception ex) { } } else if (Constants.PaymentGateway == PaymentGateway.redde) { try { var txRef = Misc.getTxRef(stakeType.User.MomoDetails.Number); ReddeRequest request = new ReddeRequest { Amount = stakeType.AmountToWin, Appid = AppSettings.ReddeSettings.AppId, Clientreference = txRef, Clienttransid = txRef, Description = "", Nickname = AppSettings.ReddeSettings.NickName, Paymentoption = Misc.getReddePayOption(stakeType.User.MomoDetails.Number), Walletnumber = Misc.FormatGhanaianPhoneNumberWp(stakeType.User.MomoDetails.Number) }; var httpClient = new HttpClient(); var data = JsonConvert.SerializeObject(request, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); var stringContent = new StringContent(data); httpClient.DefaultRequestHeaders.Add("apikey", AppSettings.ReddeSettings.ApiKey); stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var responseMessage = await httpClient.PostAsync("https://api.reddeonline.com/v1/cashout", stringContent); var contentString = await responseMessage.Content.ReadAsStringAsync(); ReddeInitialResponse response = JsonConvert.DeserializeObject <ReddeInitialResponse>(contentString); if (response.Status == "OK") { dbContext.Payments.Add(new Payment { ItemPayedFor = stakeType.GetType().Name + " winning", ItemPayedForId = stakeType.Id, DatePayed = DateTime.Now }); await dbContext.SaveChangesAsync(); } } catch (Exception ex) { Console.WriteLine($"MomoTransfer {ex.Message}"); } } }