public ActionResult DeleteConfirmed(int id)
 {
     UPI uPI = db.UPIs.Find(id);
     db.UPIs.Remove(uPI);
     db.SaveChanges();
     return RedirectToAction("Index");
 }
Esempio n. 2
0
        public ActionResult CreateUPIPin(UPI upi)
        {
            string GetPhNo    = TempData.Peek("PhoneNumber").ToString();
            var    GetDetails = context.UPIs.Single(FetchDetails => FetchDetails.PhoneNumber == GetPhNo);

            GetDetails.UPIPin = upi.UPIPin.ToString();
            context.SaveChanges();
            return(View());
        }
 public ActionResult Edit([Bind(Include = "num,UPIId,UPIPIN,Name")] UPI uPI)
 {
     if (ModelState.IsValid)
     {
         db.Entry(uPI).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(uPI);
 }
        public ActionResult Create([Bind(Include = "num,UPIId,UPIPIN,Name")] UPI uPI)
        {
            if (ModelState.IsValid)
            {
                db.UPIs.Add(uPI);
                db.SaveChanges();
               
            }

            return View(uPI);
        }
        public void TestGetMaxmimumTrasactionAmountEligibleForOffer()
        {
            var upi        = new UPI();
            var netBanking = new NetBanking();

            OfferEligibilityManager offerEligibilityManager = new OfferEligibilityManager(new InMemoryStorage());

            offerEligibilityManager.SetMaxmimumTrasactionAmountEligibleForOffer(upi, 1000);
            offerEligibilityManager.SetMaxmimumTrasactionAmountEligibleForOffer(netBanking, 2000);

            Assert.Equal(1000, offerEligibilityManager.GetMaxmimumTrasactionAmountEligibleForOffer(upi));
        }
 // GET: UPIs/Delete/5
 public ActionResult Delete(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     UPI uPI = db.UPIs.Find(id);
     if (uPI == null)
     {
         return HttpNotFound();
     }
     return View(uPI);
 }
        public void TestTotalTransaction()
        {
            var upi        = new UPI();
            var netBanking = new NetBanking();

            OfferEligibilityManager offerEligibilityManager = new OfferEligibilityManager(new InMemoryStorage());

            offerEligibilityManager.SetMaxmimumTrasactionAmountEligibleForOffer(upi, 1000);
            offerEligibilityManager.SetMaxmimumTrasactionAmountEligibleForOffer(netBanking, 2000);

            TransactionManager transactionManager = new TransactionManager();

            transactionManager.makeTransaction(upi, 500);
            transactionManager.makeTransaction(upi, 600);

            Assert.Equal(1100, transactionManager.GetTransactionAmountOfPaymentSource(upi));
        }
Esempio n. 8
0
        public ActionResult ValidateUPIPINForAccount(UPI upi)
        {
            string CatchFromPhNo = TempData.Peek("PhoneNumber").ToString();
            string CatchToAccNo  = TempData.Peek("ReceiversAccNo").ToString();
            string CatchToIFSC   = TempData.Peek("ReceiversIFSC").ToString();
            double CatchAmount   = Convert.ToDouble(TempData.Peek("AmountToSend"));

            try
            {
                var ValidateTransaction = context.UPIs.Single(FetchDetails => FetchDetails.UPIPin == upi.UPIPin && FetchDetails.PhoneNumber == CatchFromPhNo);
                if (ValidateTransaction != null)
                {
                    //Updating Receiver's Balance
                    var    ReceivingUserDetails  = context.CustomerBankDetailsConfidentials.Single(ReceiversAccountNumberIFSC => ReceiversAccountNumberIFSC.AccountNumber == CatchToAccNo && ReceiversAccountNumberIFSC.IFSC == CatchToIFSC);
                    double ReceivingUserBalance  = Convert.ToDouble(ReceivingUserDetails.Balance);
                    double UpdateReceiverBalance = Math.Abs(ReceivingUserBalance + CatchAmount);
                    ReceivingUserDetails.Balance = UpdateReceiverBalance.ToString();
                    //Updating Sender's Balance
                    var    SendingUserDetails  = context.CustomerBankDetailsConfidentials.Single(SendingUserPhoneNumber => SendingUserPhoneNumber.PhoneNumber == CatchFromPhNo);
                    double SendingUserBalance  = Convert.ToDouble(SendingUserDetails.Balance);
                    double UpdateSenderBalance = Math.Abs(SendingUserBalance - CatchAmount);
                    SendingUserDetails.Balance = UpdateSenderBalance.ToString();
                    //Adding Transaction details
                    //var DetailsOfReceiver = context.BankDetails.Single(ReceiversAccountNumberIFSC => ReceiversAccountNumberIFSC.AccountNumber == CatchToAccNo && ReceiversAccountNumberIFSC.IFSC == CatchToIFSC);
                    string   ReceiversPhoneNumber = ReceivingUserDetails.PhoneNumber;
                    var      ReceiverDetails      = context.Customers.Single(FetchDetails => FetchDetails.PhoneNumber == ReceiversPhoneNumber);
                    string   ReceiversName        = ReceiverDetails.FirstName + " " + ReceiverDetails.LastName;
                    var      DetailsOfSender      = context.Customers.Single(FetchDetails => FetchDetails.PhoneNumber == CatchFromPhNo);
                    string   SendersName          = DetailsOfSender.FirstName + " " + DetailsOfSender.LastName;
                    string   CurrentTransactionId = GenerateTransactionId();
                    string   FromCardNo           = SendingUserDetails.CardNumber;
                    string   ToCardNo             = ReceivingUserDetails.CardNumber;
                    DateTime TransactionTime      = DateTime.Now;
                    context.Transactions.Add(new Transaction(ReceiversName, SendersName, CurrentTransactionId, CatchAmount.ToString(), FromCardNo, ToCardNo, TransactionTime, "credit"));
                    context.SaveChanges();
                    ViewBag.Message = "Transferred Successfully.";
                }
            }
            catch (Exception e)
            {
                ViewBag.Message = e;
                //ViewBag.Message = "Transaction failed.";
            }
            return(View());
        }
        public void TestNoTransactionEligibleForOffer()
        {
            var upi        = new UPI();
            var netBanking = new NetBanking();

            OfferEligibilityManager offerEligibilityManager = new OfferEligibilityManager(new InMemoryStorage());

            offerEligibilityManager.SetMaxmimumTrasactionAmountEligibleForOffer(upi, 1000);
            offerEligibilityManager.SetMaxmimumTrasactionAmountEligibleForOffer(netBanking, 2000);

            TransactionManager transactionManager = new TransactionManager();

            transactionManager.makeTransaction(upi, 500);

            TransactionAmountTracker transactionAmountTracker = new TransactionAmountTracker(transactionManager, offerEligibilityManager);

            Assert.Equal(false, transactionAmountTracker.IsUserEligibleForOffer(netBanking));
        }
Esempio n. 10
0
        public ActionResult ValidateUPIPINForFasttag(UPI upi)
        {
            string CatchRechargersPhoneNumber = TempData.Peek("PhoneNumber").ToString();
            string CatchVehicleNumber         = TempData.Peek("VehicleNumber").ToString();
            double CatchAmountToRecharge      = Convert.ToDouble(TempData.Peek("AmountToRechargeFasttag"));

            try
            {
                var ValdiateDetails = context.UPIs.Single(FetchDetails => FetchDetails.UPIPin == upi.UPIPin && FetchDetails.PhoneNumber == CatchRechargersPhoneNumber);
                if (ValdiateDetails != null)
                {
                    //Updating Wallet amount
                    var    CatchVehiclesFasttagDetails = context.Fasttags.Single(FetchDetails => FetchDetails.CarNumber == CatchVehicleNumber);
                    double CurrentWalletAmount         = Convert.ToDouble(CatchVehiclesFasttagDetails.WalletAmount);
                    double UpdateWalletAmount          = CurrentWalletAmount + CatchAmountToRecharge;
                    CatchVehiclesFasttagDetails.WalletAmount = UpdateWalletAmount.ToString();
                    //Updating balance
                    var    RechargersDetails     = context.CustomerBankDetailsConfidentials.Single(FetchDetails => FetchDetails.PhoneNumber == CatchRechargersPhoneNumber);
                    double CashBackEarned        = CashBack(CatchAmountToRecharge);
                    double CurrentAccountBalance = Convert.ToDouble(RechargersDetails.Balance);
                    double UpdatedAccountBalance = CurrentAccountBalance - CatchAmountToRecharge + CashBackEarned;
                    RechargersDetails.Balance = UpdatedAccountBalance.ToString();
                    ViewBag.CashBackEarned    = CashBackEarned;
                    //Updating Transaction details
                    var      DetailsOfSender      = context.Customers.Single(FetchDetails => FetchDetails.PhoneNumber == CatchRechargersPhoneNumber);
                    string   SendersName          = DetailsOfSender.FirstName + " " + DetailsOfSender.LastName;
                    string   CurrentTransactionId = GenerateTransactionId();
                    DateTime TransactionTime      = DateTime.Now;
                    context.Transactions.Add(new Transaction("Fastag", SendersName, CurrentTransactionId, CatchAmountToRecharge.ToString(), RechargersDetails.CardNumber, null, TransactionTime, "Paid to"));
                    ViewBag.TransactionStatus = "Fast Tag wallet recharged successfully.";
                    context.SaveChanges();
                }
                else
                {
                    ViewBag.TransactionStatus = "Fast Tag wallet recharged unsuccessfully, please try again.";
                }
            }
            catch
            {
                ViewBag.Message = "Incorrect UPI Pin.";
            }
            return(View());
        }
Esempio n. 11
0
        /// <summary>
        /// Attempts to classify the trades within the document using the ISDA
        /// taxonomy defined for regulatory reporting and generate an example
        /// UPI.
        /// </summary>
        /// <param name="list">A set of context elements to analyse.</param>
        private void DoIsdaClassify(XmlNodeList list)
        {
            foreach (XmlElement element in list)
            {
                XmlDocument infoset     = ProductInfoset.CreateInfoset(element);
                XmlElement  infosetRoot = infoset.DocumentElement;

                Category assetClass  = ISDATaxonomy.AssetClassForInfoset(infosetRoot);
                Category productType = ISDATaxonomy.ProductTypeForInfoset(infosetRoot);
                UPI      upi         = UPI.ForProductInfoset(infosetRoot, productType);

                System.Console.Write(": Trade (");
                System.Console.Write((assetClass != null) ? assetClass.ToString() : "UNKNOWN");
                System.Console.Write(" / ");
                System.Console.Write((productType != null) ? productType.ToString() : "UNKNOWN");
                System.Console.Write(" / ");
                System.Console.Write((upi != null) ? upi.ToString() : "UNKNOWN");
                System.Console.WriteLine(")");
            }
        }
Esempio n. 12
0
        public ActionResult ValidateUPIPINForMobileRecharge(UPI upi)
        {
            string CatchFromPhoneNumber      = TempData.Peek("PhoneNumber").ToString();
            string CatchRechargeePhoneNumber = TempData.Peek("RechargeePhoneNumber").ToString();
            double CatchAmountToRecharge     = Convert.ToDouble(TempData.Peek("AmountToRecharge"));

            try
            {
                var ValidateDetails = context.UPIs.Single(FetchDetails => FetchDetails.UPIPin == upi.UPIPin && FetchDetails.PhoneNumber == CatchFromPhoneNumber);
                if (ValidateDetails != null)
                {
                    var RechargersDetails = context.CustomerBankDetailsConfidentials.Single(FetchDetails => FetchDetails.PhoneNumber == CatchFromPhoneNumber);
                    //Updating Mobile Recharge Balance
                    var    RechargeeDetails     = context.MobileCompanies.Single(FetchDetails => FetchDetails.PhoneNumber == CatchRechargeePhoneNumber);
                    double CurrentMobileBalance = Convert.ToDouble(RechargeeDetails.Balance);
                    double UpdatedBalance       = CurrentMobileBalance + CatchAmountToRecharge;
                    RechargeeDetails.Balance = UpdatedBalance.ToString();
                    //Generating CashBank
                    double CashBackEarned = CashBack(CatchAmountToRecharge);
                    TotalRewards = TotalRewards + CashBackEarned;
                    var    AddCashBackToAccount  = context.CustomerBankDetailsConfidentials.Single(FetchDetails => FetchDetails.PhoneNumber == CatchFromPhoneNumber);
                    double CurrentAccountBalance = Convert.ToDouble(AddCashBackToAccount.Balance);
                    double UpdateAccountBalance  = CurrentAccountBalance - CatchAmountToRecharge + CashBackEarned;
                    AddCashBackToAccount.Balance = UpdateAccountBalance.ToString();
                    ViewBag.CashBackEarned       = CashBackEarned;
                    ViewBag.TransactionStatus    = "Mobile recharged successfully.";
                    context.SaveChanges();
                }
                else
                {
                    ViewBag.TransactionStatus = "Incorrect UPI Pin";
                }
            }
            catch
            {
                ViewBag.TransactionStatus = "Transaction failed.";
            }
            return(View());
        }
Esempio n. 13
0
        public ActionResult ValidateUPIPINForSelf(UPI upi)
        {
            string CatchPhoneNumber         = TempData.Peek("PhoneNumber").ToString();
            string CatchToDebitCard         = TempData.Peek("CardNo").ToString();
            string CatchFromDebitCard       = TempData.Peek("FromDebitCardNumber").ToString();
            string CatchFromCVV             = TempData.Peek("FromCVV").ToString();
            double CatchTheAmountToTransfer = Convert.ToDouble(TempData.Peek("AmountToTransferForSelf"));

            try
            {
                var ValidateTransaction = context.UPIs.Single(FetchDetails => FetchDetails.UPIPin == upi.UPIPin && FetchDetails.PhoneNumber == CatchPhoneNumber);
                if (ValidateTransaction != null)
                {
                    //Updating To Debit Card Balance
                    var    ToDebitCard = context.CustomerBankDetailsConfidentials.Single(FetchDetails => FetchDetails.CardNumber == CatchToDebitCard);
                    double BalanceToBeUpdatedInReceiver = Convert.ToDouble(ToDebitCard.Balance);
                    double UpdateBalanceInReceiver      = Math.Abs(BalanceToBeUpdatedInReceiver + CatchTheAmountToTransfer);
                    ToDebitCard.Balance = UpdateBalanceInReceiver.ToString();
                    //Updating From Debit Card Balance
                    var    FromDebitCardDetails       = context.CustomerBankDetailsConfidentials.Single(FetchDetails => FetchDetails.CardNumber == CatchFromDebitCard && FetchDetails.CVV == CatchFromCVV);
                    var    BalanceToBeUpdatedInSender = Convert.ToDouble(FromDebitCardDetails.Balance);
                    double UpdateBalanceInSender      = Math.Abs(BalanceToBeUpdatedInSender - CatchTheAmountToTransfer);
                    FromDebitCardDetails.Balance = UpdateBalanceInSender.ToString();
                    //Adding Transaction History
                    var      DetailsOfSelf        = context.Customers.Single(FetchDetails => FetchDetails.PhoneNumber == CatchPhoneNumber);
                    string   Name                 = DetailsOfSelf.FirstName + " " + DetailsOfSelf.LastName;
                    string   CurrentTransactionId = GenerateTransactionId();
                    DateTime TransactionTime      = DateTime.Now;
                    context.Transactions.Add(new Transaction(Name, Name, CurrentTransactionId, CatchTheAmountToTransfer.ToString(), CatchFromDebitCard, CatchToDebitCard, TransactionTime, "Transfer"));
                    context.SaveChanges();
                    return(RedirectToAction("PersonalAccounts", "Home"));
                }
            }
            catch
            {
                ViewBag.Message = "Transaction failed.";
            }
            return(View());
        }