public async Task <AuctionEntry> RequestAuctionEntryInvoice(Guid auctionId, long amount, string winningMessage) { var auction = GetAuction(auctionId); if (auction == null) { return(null); } var guid = Guid.NewGuid(); var auctionInvoice = new AuctionInvoice { Amount = amount, AuctionId = auction.Id.ToString(), WinningMessage = winningMessage, AuctionEntryId = guid.ToString(), }; var description = JsonSerializer.Serialize <AuctionInvoice>(auctionInvoice); var expiry = (auction.Duration + auction.StartedAt) - Utility.Utility.DateTimeToUnix(DateTime.UtcNow); if (expiry < 1) { return(null); } var invoice = await _lndService.GetHoldInvoice(amount, description, expiry); var auctionEntry = new AuctionEntry { Id = guid, State = AuctionEntryState.CREATED, Amount = amount, Description = description, AuctionId = auction.Id, PaymentHash = invoice.paymentHash, Preimage = invoice.preImage, PaymentRequest = invoice.payreq, Message = winningMessage, CreatedAt = Utility.Utility.DateTimeToUnix(DateTime.UtcNow) }; using (var context = new AuctionContext()) { auctionEntry = context.AuctionEntries.Add(auctionEntry).Entity; await context.SaveChangesAsync(); } Console.WriteLine("created auction entry {0}", auctionEntry); return(auctionEntry); }
public ActionResult CheckoutAuc(AuctionInvoice invc) //create of AucInvice { if (ModelState.IsValid) { db.AuctionInvoices.Add(invc); // (Modelvar).().Add(value entered in parameters) if ((db.SaveChanges()) > 0) // { TempData["msg"] = "Invoice Updated"; return(RedirectToAction("CustomersIndex")); } else { return(View()); } } return(View()); }