static void Main() { Account myAccount = CreateAccount(); Account[] payeeList = CreatePayeeList(); DisplayPayeeList(payeeList); Account otherAccount = ChoosePayee(payeeList); //Account otherAccount = CreateAccount(); decimal amountToTransfer = GetAmount(); bool debitStatus = myAccount.DebitAmount(amountToTransfer); bool creditStatus = otherAccount.CreditAmount(amountToTransfer); if (debitStatus && creditStatus) { Transcation.Commit(myAccount, otherAccount, amountToTransfer); Console.WriteLine("amount has been transferred sucessfully"); } else { Transcation.Commit(myAccount, otherAccount, amountToTransfer); Console.WriteLine("amount transfer failed..."); } }
public ActionResult DeleteConfirmed(int id) { Transcation transcation = db.Transcations.Find(id); db.Transcations.Remove(transcation); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,PayeeAccountNo,BenificiaryAccNo,ChequeNo,PayeeName,Amount,BankName,IFSC")] Transcation transcation) { if (ModelState.IsValid) { db.Entry(transcation).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(transcation)); }
public IList <string> InvalidTransactions(string[] transactions) { IList <string> result = new List <string>(); List <Transcation> ts = new List <Transcation>(); List <Transcation> invalid = new List <Transcation>(); foreach (string transaction in transactions) { Transcation t = new Transcation(transaction); ts.Add(t); } ts.Sort((a, b) => { return(a.Time > b.Time ? 1 : -1); }); for (int i = 0; i < ts.Count; i++) { if (ts[i].Amount > 1000) { invalid.Add(ts[i]); continue; } if (i > 0) { bool isThisInvalid = false; for (int j = i - 1; j >= 0; j--) { if (ts[j].City != ts[i].City && ts[j].Time + 60 > ts[i].Time && ts[j].Name == ts[i].Name) { invalid.Add(ts[i]); isThisInvalid = true; break; } } if (isThisInvalid) { continue; } } if (i < ts.Count - 1) { for (int j = i + 1; j < ts.Count; j++) { if (ts[j].City != ts[i].City && ts[i].Time + 60 > ts[j].Time && ts[j].Name == ts[i].Name) { invalid.Add(ts[i]); break; } } } } foreach (Transcation transcation in invalid) { result.Add(transcation.ToString()); } return(result); }
public ActionResult Create([Bind(Include = "Id,PayeeAccountNo,BenificiaryAccNo,ChequeNo,PayeeName,Amount,BankName,IFSC")] Transcation transcation) { if (ModelState.IsValid) { db.Transcations.Add(transcation); db.SaveChanges(); return(Content("<script language='javascript' type='text/javascript'>alert('Your Transcation created Successfully.!');" + "window.location='Index';</script>")); } return(View(transcation)); }
public async Task <Transcation> CreateCharge(ChargeDetails details) { if (details.Taxes == null) { _logger?.LogInformation($"charge details are missing taxes, calcuulating default default"); details.Taxes = await CalculateTax(details); } details.TotalAmmount = details.Items.Sum(item => item.LineTotal) + details.Taxes.Sum(tax => tax.Amount); if (_configuration.Testing) { var result = new Transcation() { ID = Guid.NewGuid(), ChargeID = details.ID, Amount = details.TotalAmmount, Status = TranscationStatus.Completed, Timestamp = DateTime.UtcNow }; return(result); } else if (!string.IsNullOrEmpty(_configuration.FlakyServerBaseUrl)) { if (details.PaymentDetails == null) { throw new InvalidOperationException("Can't complete charge without payment details"); } _logger?.LogInformation($"about to complete charge ID {details.ID}"); var chargeClient = new Flaky.SDK.Client.ChargeClient() { BaseUrl = _configuration.FlakyServerBaseUrl }; var key = Newtonsoft.Json.JsonConvert.DeserializeObject <EncryptionDetails>(await chargeClient.GetPublicKeyAsync()); var encryption = Encryption.CreateEncryption(key); var encodedCharge = encryption.EncryptToBase64(Newtonsoft.Json.JsonConvert.SerializeObject(details)); var transcation = await chargeClient.CompleteAsync(encodedCharge); _logger?.LogInformation($"got new transcation from server {transcation.Id} for charge {transcation.ChargeID}"); return(_mapper.Map <Transcation>(transcation)); } else { throw new MissingConfiguration("Please set configuration as Testing or set ServerBaseUrl"); } }
// GET: Transcation/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Transcation transcation = db.Transcations.Find(id); if (transcation == null) { return(HttpNotFound()); } return(View(transcation)); }
public ActionResult Account_summary(Transcation model) { MC.Transcations.Add(model); if (model.PayeeAccountNo == 186745004532) { return(RedirectToAction("user1")); } if (model.PayeeAccountNo == 100000002) { return(RedirectToAction("user2")); } if (model.PayeeAccountNo == 100000003) { return(RedirectToAction("user3")); } return(View()); }
public ActionResult <Transcation> Complete([FromBody] string encodedCharge) { var charge = EncryptionService.Dercypt <ChargeDetails>(encodedCharge); if (charge.Items == null) { return(BadRequest("items must be set")); } foreach (var item in charge.Items) { if (item.LineTotal < 0) { return(BadRequest("Item line can't be negative")); } } if (charge.Taxes == null) { return(BadRequest("taxes must be set")); } foreach (var tax in charge.Taxes) { if (tax.Amount <= 0) { return(BadRequest("Tax line can't be zero")); } } var result = new Transcation() { ID = Guid.NewGuid(), ChargeID = charge.ID, Amount = charge.TotalAmmount, Status = TranscationStatus.Completed, Timestamp = DateTime.UtcNow }; return(result); }
public int AddTranscation(TranscationEnties te) { db = new MphasisBankEntities(); var res = db.SavingsAccounts.Where(t => t.Accountid == te.Accountid); if (res.Count() > 0) { if (te.TranscationType == "Withdraw") { foreach (var item in res) { if (item.Balance < 0 || item.Balance < te.Balance) { d = 0; } else { Transcation t = new Transcation() { Accountid = te.Accountid, TranscationType = te.TranscationType, TranscationDate = DateTime.Now, Balance = te.Balance }; db.Transcations.Add(t); item.Balance -= te.Balance; d = 1; } } if (d == 1) { SavingsAccount sa = new SavingsAccount() { Balance = te.Balance }; db.SaveChanges(); } return(1); } else if (te.TranscationType == "Deposite") { foreach (var item in res) { if (item.Balance < 0 || item.Balance < te.Balance) { d = 0; } else { Transcation t = new Transcation() { Accountid = te.Accountid, TranscationType = te.TranscationType, TranscationDate = DateTime.Now, Balance = te.Balance }; db.Transcations.Add(t); item.Balance += te.Balance; d = 1; } } if (d == 1) { SavingsAccount sa = new SavingsAccount() { Balance = te.Balance }; db.SaveChanges(); } return(1); } else { return(0); } } else { return(0); } }