public ActionResult Create(int id = 0) { TransactionBill bill = new TransactionBill(); if (!db.CartDetails.Any()) { ViewBag.Error = "Cart is Empty"; } else { string UserId = Session["userid"].ToString(); bill.userid = UserId; var cart = db.CartDetails.Where(pro => pro.userid.Equals(UserId)).FirstOrDefault(); bill.amount = db.CartDetails.Select(t => t.Price ?? 0).Sum(); bill.TransactionDate = DateTime.Now; db.TransactionBills.Add(bill); db.CartDetails.Remove(cart); db.SaveChanges(); ViewBag.Success = "Paid"; return(RedirectToAction("Index")); } //ViewBag.cid = new SelectList(db.CartDetails, "id", "userid", transactionBill.cid); return(View(bill)); }
public ActionResult DeleteConfirmed(int id) { TransactionBill transactionBill = db.TransactionBills.Find(id); db.TransactionBills.Remove(transactionBill); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Transactionid,userid,amount,TransactionDate")] TransactionBill transactionBill) { if (ModelState.IsValid) { db.Entry(transactionBill).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(transactionBill)); }
// GET: TransactionBills/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TransactionBill transactionBill = db.TransactionBills.Find(id); if (transactionBill == null) { return(HttpNotFound()); } return(View(transactionBill)); }
public string TransactionBill([FromBody] string xmlData) { // creating object of CultureInfo CultureInfo cultures = new CultureInfo("en-US"); try { XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlData); #region data fetched from xml string txnId, amount, senderBIC, receiverBIC, senderAccNo, receiverAccNo, sendingBankRoutingNo, receivingBankRoutingNo, purpose = string.Empty; txnId = doc.GetElementsByTagName("TxId").Item(0).InnerText; amount = doc.GetElementsByTagName("IntrBkSttlmAmt").Item(0).InnerText; senderBIC = doc.GetElementsByTagName("BICFI").Item(0).InnerText; receiverBIC = doc.GetElementsByTagName("BICFI").Item(3).InnerText; senderAccNo = doc.GetElementsByTagName("Id").Item(0).InnerText; receiverAccNo = doc.GetElementsByTagName("Id").Item(8).InnerText; sendingBankRoutingNo = doc.GetElementsByTagName("Id").Item(2).InnerText; receivingBankRoutingNo = doc.GetElementsByTagName("Id").Item(5).InnerText; purpose = doc.GetElementsByTagName("Ustrd").Item(0).InnerText; DateTime txnDt = DateTime.Now; DateTime stlmntDt = DateTime.Now; #endregion #region data fetched from db for further operation var sender = _businessLayer.GetAllBankUsers().SingleOrDefault(m => m.AccountNumber == senderAccNo); var senderBank = _businessLayer.GetAllBanks().SingleOrDefault(m => m.SwiftBic == senderBIC); #endregion //DBManager db = new DBManager(transactionRepository, sendingBankUserRepository, receivingBankUserRepository, bankNetDebitCapRepository, suspenseTransactionRepository, bankRepository); //update Sending Bank Net Debit Cap var senderInstitutionDebitCap = _businessLayer.GetParticipantDebitCapById(senderBank.Id); senderInstitutionDebitCap.CurrentNetDebitCap -= System.Convert.ToDecimal(amount, cultures); senderInstitutionDebitCap.EntityState = EntityState.Modified; _businessLayer.UpdateParticipantDebitCap(senderInstitutionDebitCap); //create suspense transaction var suspenseTransaction = new SuspenseTransaction { SuspenseTransactionId = Guid.NewGuid(), SenderAccountNo = senderAccNo, SendingBankId = senderBank.Id, SendingBankSuspanseAccount = senderBank.SuspenseAccount, Amount = Convert.ToDecimal(amount, cultures), TransactionInitiatedOn = txnDt, SuspenseClearingTime = DateTime.Now, TransactionId = txnId, SuspenseStatus = false, EntityState = EntityState.Added }; _businessLayer.AddSuspenseTransaction(suspenseTransaction); TransactionRequestLog transactionRequestLog = new TransactionRequestLog(); List <TransactionRequestLog> logs = new List <TransactionRequestLog>(); var responseResult = string.Empty; var responseResultFromBB = string.Empty; var responseDesco = string.Empty; using (var client = new HttpClient()) { transactionRequestLog.TransactionId = txnId; transactionRequestLog.RequestFrom = "IDTP"; transactionRequestLog.RequestTo = "Desco"; transactionRequestLog.RequestMessage = xmlData; transactionRequestLog.RequestTime = DateTime.Now; transactionRequestLog.CreatedBy = "IDTP"; transactionRequestLog.CreatedOn = DateTime.Now; transactionRequestLog.ModifiedBy = "IDTP"; transactionRequestLog.ModifiedOn = DateTime.Now; transactionRequestLog.EntityState = EntityState.Added; //_businessLayer.AddTransactionRequestLog(transactionRequestLog); logs.Add(transactionRequestLog); TransactionBillDTO tbd = new TransactionBillDTO { TransactionId = txnId, SenderAccNo = senderAccNo, SenderBankId = senderBank.Id, Amount = decimal.Parse(amount, cultures) }; //receiver bank call //responseResult = HttpClientHelper.Post("https://*****:*****@"\", "", StringComparison.CurrentCulture); TransactionRequestLog transactionRequestLogReceive = new TransactionRequestLog { TransactionId = txnId, RequestFrom = "Desco", RequestTo = "IDTP", RequestMessage = xmlReturn, RequestTime = DateTime.Now, CreatedBy = "IDTP", CreatedOn = DateTime.Now, ModifiedOn = DateTime.Now, ModifiedBy = "IDTP", EntityState = EntityState.Added }; //_businessLayer.AddTransactionRequestLog(transactionRequestLogReceive); logs.Add(transactionRequestLogReceive); _businessLayer.AddTransactionRequestLog(logs.ToArray()); return(xmlReturn); } catch (Exception ex) { throw new Exception(ex.Message); } }