public IActionResult TransactionView(Guid code, FindModel model) { if (model != null) { code = model.Code; } StatusNames statusNames = new StatusNames(); ViewBag.StatusEs = new SelectList(statusNames.GetStatuses().Where(s => s.Status != 1 && s.Status != 2), "Status", "Name"); decimal df = 0; var link = transactionLinkService.GetTransactionLinks().Where(s => s.LinkCode == code).FirstOrDefault(); var tr = transactionService.GetTransaction(link.TransactionID); TransactionDetails details = new TransactionDetails(); details.TransactionID = tr.Id; details.FirstName = tr.FirstName; details.LastName = tr.LastName; details.BuyerEmail = tr.BuyerEmail; details.ItemName = tr.ItemName; details.DescriptionOfItem = tr.DescriptionOfItem; details.Amount = tr.Amount; details.DeliveryType = tr.DeliveryTypeID == 1 ? "Free Delivery" : tr.DeliveryTypeID == 2 ? "Paid Delivery" : ""; details.Deliveryfee = tr.Deliveryfee != 0 ? tr.Deliveryfee : tr.Deliveryfee == 0 ? 0 : 0; details.DeliveryTime = tr.DeliveryTime; details.TermsOfReturns = tr.TermsOfReturns; details.ProductImageUrl = tr.ProductImageUrl; details.ProductImageUrl1 = tr.ProductImageUrl1; details.ProductImageUrl2 = tr.ProductImageUrl2; details.ProductImageUrl3 = tr.ProductImageUrl3; details.ProductImageUrl4 = tr.ProductImageUrl4; details.SellerName = tr.SellerName; details.SellerEmail = tr.SellerEmail; details.escrowfee = tr.escrowfee; details.Totalfee = tr.Totalfee; details.LinkCode = link.LinkCode; details.LinkID = link.Id; details.statusID = tr.Status; details.Status = tr.Status == 1 ? "<div style=\"color:red\">Pending<div>" : tr.Status == 2 ? "<div style=\"color:yellow\">Paid</div>" : tr.Status == 3 ? "<div style=\"color:purple\">Shipped</div>" : tr.Status == 4 ? "<div style=\"color:green\">Receieved</div>" : ""; return(View(details)); }
public IActionResult UpdateStatus(TransactionDetails payment, [FromServices] IEmailSender emailSender, [FromServices] IConfiguration configuration) { var tr = transactionService.GetTransaction(payment.TransactionID); var link = transactionLinkService.GetTransactionLinks().Where(s => s.TransactionID == tr.Id).FirstOrDefault(); var payements = paymentService.GetPayments().Where(s => s.LinkID == link.Id).FirstOrDefault(); link.Status = payment.statusID; tr.Status = payment.statusID; payements.Status = payment.statusID; paymentService.UpdatePayment(payements); transactionService.UpdateTransaction(tr); transactionLinkService.UpdateTransactionLink(link); if (payment.statusID == 4) { var linkas = Url.Action("TransactionView", "MyTransaction", new { code = link.LinkCode }, Request.Scheme, Request.Host.ToString()); string coded = link.LinkCode.ToString(); var title = "Pay Guardex: You have a transaction."; var title1 = "Pay Guardex: You have started a transaction."; var mailbody = "<html>" + "<head>" + "<link rel=\"stylesheet\" href=\"https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css\" integrity=\"sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk\" crossorigin=\"anonymous\">" + "</head>" + "<body>" + "<div class=\"container\">" + "<div class=\"row\">" + "<div class=\"col-md-12\" style=\"padding:30px;background-color:#d8e9ff\">" + "<h3 style=\"color:forestgreen\">Pay Guardex</h3>" + "<div>" + "<p>You have recieved product from " + tr.SellerEmail + " </p>" + "</div>" + "<div>" + "<p>Your have successfully recieved product.</p>" + "<p>You can still view the transaction.</p>" + "<p>" + linkas + "</p>" + "</div>" + "<div style=\"text-align:center\">" + "<a href=" + linkas + " class=\"btn btn-success\"> Manage Transaction : </a>" + "</div>" + "</div>" + "</div>" + "</div>" + "</ body >" + "</html>"; var mailbody1 = "<html>" + "<head>" + "<link rel=\"stylesheet\" href=\"https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css\" integrity=\"sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk\" crossorigin=\"anonymous\">" + "</head>" + "<body>" + "<div class=\"container\">" + "<div class=\"row\">" + "<div class=\"col-md-12\" style=\"padding:30px;background-color:#d8e9ff\">" + "<h3 style=\"color:forestgreen\">Pay Guardex</h3>" + "<div>" + "<p> " + tr.BuyerEmail + " recieved the product</p>" + "</div>" + "<div>" + "<p>" + tr.BuyerEmail + " recieved the product successfully.</p>" + "<p>When buyer recieve the product we will inform you.</p>" + "<p>Thank you.</p>" + "<p></p>" + "</div>" + "<div style=\"text-align:center\">" + "</div>" + "</div>" + "</div>" + "</div>" + "</ body >" + "</html>"; emailSender.Post( subject: title, body: mailbody, recipients: tr.BuyerEmail, sender: configuration["AdminContact"]); emailSender.Post( subject: title1, body: mailbody1, recipients: tr.SellerEmail, sender: configuration["AdminContact"]); } return(Redirect("/Myescrow/Index")); }