Ejemplo n.º 1
0
        public ActionResult DeleteCheckAccount(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            creditcard creditcard = db.creditcard.Find(id);

            if (creditcard == null)
            {
                return(HttpNotFound());
            }

            account creditCardAccount = creditcard.account;

            if (creditCardAccount.creditcard.Count == 1)
            {
                if (creditCardAccount.balance > 0)
                {
                    return(Json("LAST_CARD_NON_ZERO_BALANCE"));
                }
                return(Json("LAST_CARD"));
            }

            return(Json("DELETE"));
        }
Ejemplo n.º 2
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            creditcard creditcard = db.creditcard.Find(id);

            if (creditcard == null)
            {
                return(HttpNotFound());
            }

            account creditCardAccount = creditcard.account;

            db.creditcard.Remove(creditcard);

            if (creditCardAccount.creditcard.Count == 0)
            {
                db.account.Remove(creditCardAccount);
            }

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 3
0
        public ActionResult DeleteConfirmed(int id)
        {
            creditcard creditcard = db.card_table.Find(id);

            db.card_table.Remove(creditcard);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 4
0
 public ActionResult Edit([Bind(Include = "id,email_address,creditcard_number,cvc,Card_Holder")] creditcard creditcard)
 {
     if (ModelState.IsValid)
     {
         db.Entry(creditcard).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(creditcard));
 }
Ejemplo n.º 5
0
        public ActionResult Create([Bind(Include = "cardnumber")] creditcard creditcard)
        {
            if (ModelState.IsValid)
            {
                db.creditcards.Add(creditcard);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(creditcard));
        }
Ejemplo n.º 6
0
        public ActionResult addcredit(string first_name, string surname, string card_number,
                                      int month, int year, string ccv, string address, string country, string state, string city,
                                      string postal_code, string phone)
        {
            try
            {
                long       userId         = (long)Session["USER_ID"];
                creditcard creditcardItem = entities.creditcards.Where(m => m.user_id == userId).FirstOrDefault();

                if (creditcardItem == null)
                {
                    creditcardItem                 = new creditcard();
                    creditcardItem.first_name      = first_name;
                    creditcardItem.surname         = surname;
                    creditcardItem.card_number     = card_number;
                    creditcardItem.ccv             = ccv;
                    creditcardItem.address         = address;
                    creditcardItem.country         = country;
                    creditcardItem.state           = state;
                    creditcardItem.city            = city;
                    creditcardItem.postal_code     = postal_code;
                    creditcardItem.phone           = phone;
                    creditcardItem.user_id         = userId;
                    creditcardItem.expiration_date = new DateTime(year, month, 1);
                    creditcardItem.created_at      = DateTime.Now;
                    creditcardItem.updated_at      = DateTime.Now;
                    entities.creditcards.Add(creditcardItem);
                }
                else
                {
                    creditcardItem.first_name      = first_name;
                    creditcardItem.surname         = surname;
                    creditcardItem.card_number     = card_number;
                    creditcardItem.ccv             = ccv;
                    creditcardItem.address         = address;
                    creditcardItem.country         = country;
                    creditcardItem.state           = state;
                    creditcardItem.city            = city;
                    creditcardItem.postal_code     = postal_code;
                    creditcardItem.phone           = phone;
                    creditcardItem.expiration_date = new DateTime(year, month, 1);
                    creditcardItem.updated_at      = DateTime.Now;
                }

                entities.SaveChanges();
                return(Redirect(Url.Action("balance", "cuotas")));
            }
            catch (Exception ex)
            {
                return(Redirect(Url.Action("balance", "cuotas")));
            }
        }
Ejemplo n.º 7
0
        // GET: creditcards/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            creditcard creditcard = db.card_table.Find(id);

            if (creditcard == null)
            {
                return(HttpNotFound());
            }
            return(View(creditcard));
        }
Ejemplo n.º 8
0
        // GET: creditcards/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            creditcard creditcard = db.creditcards.Find(id);

            if (creditcard == null)
            {
                return(HttpNotFound());
            }
            return(View(creditcard));
        }
Ejemplo n.º 9
0
        public ActionResult Edit([Bind(Include = "cardID,cardNumber,expirationDate,securityCode,customerFirstName,customerLastName,accountID")] creditcard creditcard)
        {
            if (db.creditcard.Where(x => x.cardNumber == creditcard.cardNumber && x.cardID != creditcard.cardID).Count() > 0)
            {
                ModelState.AddModelError("cardNumber", "Credit card number all ready exists.");
            }

            if (ModelState.IsValid)
            {
                db.Entry(creditcard).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(creditcard));
        }
Ejemplo n.º 10
0
        public ActionResult Create([Bind(Include = "id,email_address,creditcard_number,cvc,Card_Holder")] creditcard creditcard)
        {
            if (ModelState.IsValid)
            {
                if (creditcard.Card_Holder == null || creditcard.creditcard_number == null || creditcard.cvc == null)
                {
                    ViewBag.data = "All fields must be completed";
                    return(View());
                }
                db.card_table.Add(creditcard);
                db.SaveChanges();
                ViewBag.confirmation = "you have successfully booked! Have a nice trip ";
                return(RedirectToAction("Index", "Customers"));
            }

            return(View(creditcard));
        }
Ejemplo n.º 11
0
        public async Task <ActionResult> MakePayment(decimal cost, decimal taxCharge, decimal penalty)
        {
            try
            {
                long       communityAct   = Convert.ToInt64(Session["CURRENT_COMU"]);
                string     paymentType    = "CC"; // CreditCard
                bool       makePayment    = false;
                long       userId         = (long)Session["USER_ID"];
                user       curUser        = entities.users.Find(userId);
                long       adminId        = (long)curUser.create_userid;
                fee        feeItem        = entities.fees.Where(m => m.user_id == adminId && m.community_id == communityAct).FirstOrDefault();
                bank       adminBankItem  = entities.banks.Find(feeItem.bank_id);
                string     bank_account   = adminBankItem.account_number;
                string     routing_number = adminBankItem.route_number;
                string     account_name   = adminBankItem.account_name;
                user       adminUser      = entities.users.Find(adminId);
                decimal    totalAmount    = cost + taxCharge + penalty;
                creditcard creditcardItem = entities.creditcards.Where(m => m.user_id == userId).FirstOrDefault();
                StripeConfiguration.SetApiKey(ep.GetStripeSecretKey());

                if (creditcardItem != null)
                {
                    DateTime expire_date = (DateTime)creditcardItem.expiration_date;
                    var      options     = new TokenCreateOptions
                    {
                        Card = new CreditCardOptions
                        {
                            Number   = creditcardItem.card_number, //"4000 0000 0000 0077", //creditcardItem.card_number,//"4242424242424242"
                            ExpYear  = expire_date.Year,           //2020
                            ExpMonth = expire_date.Month,
                            Cvc      = creditcardItem.ccv
                        }
                    };
                    var   service     = new TokenService();
                    Token stripeToken = service.Create(options);
                    int   pc          = await PaymentCredit(stripeToken.Id, Convert.ToInt32(cost * 100),
                                                            bank_account, routing_number, account_name);

                    if (pc == 1)
                    {
                        paymentType = "CC";
                        makePayment = true;
                    }
                }
                else
                {
                    bank userBank = entities.banks.Where(m => m.user_id == userId).FirstOrDefault();
                    if (userBank != null)
                    {
                        var options = new TokenCreateOptions
                        {
                            BankAccount = new BankAccountOptions
                            {
                                Country           = "US",
                                Currency          = "usd",
                                AccountHolderName = userBank.account_name,  //"Jenny Rosen"
                                AccountHolderType = "individual",
                                RoutingNumber     = userBank.route_number,  //"110000000"
                                AccountNumber     = userBank.account_number //"000123456789"
                            }
                        };
                        var   service     = new TokenService();
                        Token stripeToken = service.Create(options);
                        int   ach         = await PaymentAch(stripeToken.Id, Convert.ToInt32(totalAmount * 100),
                                                             bank_account, routing_number);

                        if (ach == 1)
                        {
                            paymentType = "ACH";
                            makePayment = true;
                        }
                    }
                }

                if (makePayment == true)
                {
                    transaction transItem = new transaction();

                    if (transItem.balance != null)
                    {
                        decimal originBalance = (decimal)transItem.balance;
                        transItem.balance = originBalance + totalAmount;
                    }
                    else
                    {
                        transItem.balance = totalAmount;
                    }
                    transItem.credit    = 0;
                    transItem.debit     = totalAmount;
                    transItem.date_info = DateTime.Now;
                    transItem.kind      = "Factura";
                    transItem.state     = "Factura";
                    transItem.trans_id  = "";
                    entities.transactions.Add(transItem);

                    payment paymentItem = new payment();
                    paymentItem.method       = paymentType;
                    paymentItem.date_issue   = DateTime.Now;
                    paymentItem.date_payment = null;
                    paymentItem.email        = adminUser.email;
                    paymentItem.first_name   = adminUser.first_name1;
                    paymentItem.surname      = adminUser.last_name1;
                    paymentItem.to_user_id   = adminId;
                    paymentItem.quantity     = totalAmount;
                    paymentItem.user_id      = userId;
                    paymentItem.state        = true;
                    entities.payments.Add(paymentItem);
                    entities.SaveChanges();
                }

                return(Redirect(Url.Action("estado", "cuotas")));
            }
            catch (Exception ex)
            {
                return(Redirect(Url.Action("balance", "cuotas")));
            }
        }
Ejemplo n.º 12
0
        public ActionResult ProcessTransaction(int id)
        {
            transaction currentTransaction = null;
            String      currentCardNumber  = null;
            creditcard  currentCard        = null;
            account     currentAccount     = null;
            int         currentCardCount   = 0;

            currentTransaction             = db.transaction.Where(x => x.transactionID == id).FirstOrDefault();
            currentTransaction.isProcessed = true;
            currentTransaction.isEncrypted = false;
            currentCardNumber = currentTransaction.cardNumber;
            currentCardCount  = db.creditcard.Where(x => x.cardNumber == currentCardNumber).Count();
            currentTransaction.timeOfResponse = DateTime.Now;

            if (currentCardCount < 1)
            {
                currentTransaction.status = false;
                db.SaveChanges();
                return(PartialView("_DetailTransactionRowPartial", currentTransaction));
            }
            else
            {
                currentCard    = db.creditcard.Where(x => x.cardNumber == currentCardNumber).FirstOrDefault();
                currentAccount = currentCard.account;
            }

            if (!currentTransaction.expirationDate.Equals(currentCard.expirationDate) ||
                !((currentTransaction.securityCode) == (currentCard.securityCode)))
            {
                currentTransaction.status = false;
                db.SaveChanges();
                return(PartialView("_DetailTransactionRowPartial", currentTransaction));
            }

            var totalSpendingCredit = currentAccount.spendingLimit - currentAccount.balance;

            currentTransaction.cardID = currentCard.cardID;

            if (currentTransaction.expirationDate < DateTime.Now)
            {
                currentTransaction.status = false;
                db.SaveChanges();
                return(PartialView("_DetailTransactionRowPartial", currentTransaction));
            }

            if (currentTransaction.isCredit && currentTransaction.amount < totalSpendingCredit)
            {
                //transaction approved
                currentTransaction.status = true;
                currentAccount.balance    = currentAccount.balance + currentTransaction.amount;
                db.SaveChanges();
            }

            else if (!currentTransaction.isCredit)
            {
                //transaction approved
                currentTransaction.status = true;
                currentAccount.balance    = currentAccount.balance - currentTransaction.amount;
                db.SaveChanges();
            }

            else
            {
                //transaction declined
                currentTransaction.status = false;
                db.SaveChanges();
            }

            return(PartialView("_DetailTransactionRowPartial", currentTransaction));
        }