public ActionResult buy_prepaid_cards(string operator_name)
        {
            string v = db.pre_cards.Where(r => r.operator_name == operator_name).Select(r => r.pre_number).FirstOrDefault();

            //List<double> card_amount = new List<double>();
            ViewBag.card_number = v;

            //remove card number
            var s  = db.pre_cards.Where(r => r.operator_name == operator_name).ToList();
            var s1 = s.Where(r => r.pre_number == v).FirstOrDefault();

            db.pre_cards.Remove(s1);

            //deducting wallet money
            var x = db.userprofiles.Where(r => r.username == User.Identity.Name).FirstOrDefault();

            x.wallet_money    = x.wallet_money - 50;
            db.Entry(x).State = EntityState.Modified;

            //adding transection history
            transection_final tf = new transection_final();

            tf.ammount   = 50;
            tf.send_to   = v;
            tf.sent_date = DateTime.Now;
            tf.status    = "Prepaid card";
            tf.username  = User.Identity.Name;
            db.transection_finals.Add(tf);
            db.SaveChanges();
            db.SaveChanges();
            return(PartialView("buy_prepaid_cards1"));
        }
        public ActionResult refill_by_wallet(Transection tr)
        {
            if (ModelState.IsValid)
            {
                //updating wallet money info
                var x = db.userprofiles.Where(r => r.username == tr.username).FirstOrDefault();
                x.wallet_money    = x.wallet_money - tr.transection_ammount;
                db.Entry(x).State = EntityState.Modified;
                db.SaveChanges();

                //updating refill history
                transection_final tf = new transection_final();
                //User_refill_history r_h = new User_refill_history();
                tf.ammount   = tr.transection_ammount;
                tf.send_to   = tr.mo_number;
                tf.sent_date = tr.transection_date;
                tf.status    = "Pending";
                tf.username  = tr.username;
                db.transection_finals.Add(tf);
                db.SaveChanges();
                return(RedirectToAction("myprofile"));
            }
            else
            {
                ModelState.AddModelError(" ", "Please provide valid data");
            }
            return(PartialView(tr));
        }
        public ActionResult Thank_You_post()
        {
            if (Request.IsAuthenticated)
            {
                string s = User.Identity.Name;
                //checking deposit in wallet teporary folder
                var x = db.wallet_deposit_temp.Where(r => r.username == s).FirstOrDefault();
                if (!string.IsNullOrEmpty(x.username))
                {
                    //var x1 = x.ToArray();
                    user_deposit_history udh = new user_deposit_history();
                    udh.username        = s;
                    udh.deposit_status  = "Approved";
                    udh.deposit_date    = x.deposit_date;
                    udh.deposit_ammount = x.deposit_ammount;
                    db.wallet_deposit_temp.Remove(x);
                    db.deposit_history.Add(udh);

                    //updating user wallet money

                    var p = db.userprofiles.Where(r => r.username == s).FirstOrDefault();
                    p.wallet_money    = p.wallet_money + x.deposit_ammount;
                    db.Entry(p).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("myprofile", "Home"));
                }
                //updating instant refill history
                transection_final tf = new transection_final();
                var y = db.refil_history.Where(r => r.username == s).FirstOrDefault();
                tf.username  = y.username;
                tf.status    = y.status;
                tf.sent_date = y.sent_date;
                tf.send_to   = y.send_to;
                tf.ammount   = y.ammount;
                db.transection_finals.Add(tf);
                db.refil_history.Remove(y);
                db.SaveChanges();
            }
            else
            {
                /*string s = "UnknowN";
                 * //updating instant refill history
                 * transection_final tf = new transection_final();
                 * //var y = db.refil_history.Where(r => r.username == s).FirstOrDefault();
                 * tf.username = s;
                 * tf.status = "Pending";
                 * tf.sent_date =  DateTime.Now;
                 * tf.send_to = "Instant recharge";
                 * tf.ammount = 0;
                 *
                 * db.transection_finals.Add(tf);
                 * //db.refil_history.Remove(y);
                 * db.SaveChanges();*/
                return(RedirectToAction("myprofile", "Home"));
            }

            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult refill_by_wallet_bangla(Transection tr)
        {
            if (ModelState.IsValid)
            {
                //updating wallet money info
                var x = db.userprofiles.Where(r => r.username == tr.username).FirstOrDefault();
                x.wallet_money    = x.wallet_money - tr.transection_ammount;
                db.Entry(x).State = EntityState.Modified;
                db.SaveChanges();

                //updating refill history
                transection_final tf = new transection_final();
                //User_refill_history r_h = new User_refill_history();
                tf.ammount   = tr.transection_ammount;
                tf.send_to   = tr.mo_number;
                tf.sent_date = tr.transection_date;
                tf.status    = "Pending";
                tf.username  = tr.username;
                db.transection_finals.Add(tf);
                db.SaveChanges();

                //send mail
                MailMessage  message      = new MailMessage();
                var          fromAddress  = "*****@*****.**";
                var          toAddress    = "*****@*****.**";
                const string fromPassword = "******";
                string       subject      = "Wallet refill-bangla";
                string       body         = string.Format("{0} has sent {1} to {2}", User.Identity.Name, tr.transection_ammount, tr.mo_number);
                SmtpClient   smtp         = new SmtpClient
                {
                    Host        = "mail.paymobd.com",
                    Port        = 587,
                    EnableSsl   = false,
                    Credentials = new NetworkCredential(fromAddress, fromPassword)
                };
                smtp.Send(fromAddress, toAddress, subject, body);

                Thread.Sleep(2000);
                return(RedirectToAction("order_confirm_bangla"));
            }
            else
            {
                ModelState.AddModelError(" ", "Please provide valid data");
            }
            return(PartialView(tr));
        }
        public ActionResult Thank_You_post()
        {
            string s;

            if (Request.IsAuthenticated)
            {
                s = User.Identity.Name;
            }
            else
            {
                s = "UnknowN";
            }

            if (Request.IsAuthenticated)
            {
                //checking deposit in wallet teporary folder
                var x = db.wallet_deposit_temp.Where(r => r.username == s).ToList();
                if (x.Count() > 0)
                {
                    var x1 = x.ToArray();
                    user_deposit_history udh = new user_deposit_history();
                    udh.username        = s;
                    udh.deposit_status  = "Approved";
                    udh.deposit_date    = x1[0].deposit_date;
                    udh.deposit_ammount = x1[0].deposit_ammount;
                    db.deposit_history.Add(udh);
                    db.wallet_deposit_temp.Remove(x1[0]);

                    //updating user wallet money

                    var p = db.userprofiles.Where(r => r.username == s).FirstOrDefault();
                    p.wallet_money    = p.wallet_money + x1[0].deposit_ammount;
                    db.Entry(p).State = EntityState.Modified;
                    db.SaveChanges();


                    return(RedirectToAction("Index", "Home"));
                }

                //updating instant refill history
                transection_final tf = new transection_final();
                var y = db.refil_history.Where(r => r.username == s).FirstOrDefault();
                tf.username  = y.username;
                tf.status    = y.status;
                tf.sent_date = y.sent_date;
                tf.send_to   = y.send_to;
                tf.ammount   = y.ammount;
                db.transection_finals.Add(tf);
                db.refil_history.Remove(y);
                db.SaveChanges();
            }
            else
            {
                //updating instant refill history
                transection_final tf = new transection_final();
                var y = db.refil_history.Where(r => r.username == s).FirstOrDefault();
                tf.username  = y.username;
                tf.status    = y.status;
                tf.sent_date = y.sent_date;
                tf.send_to   = y.send_to;
                tf.ammount   = y.ammount;
                db.transection_finals.Add(tf);
                db.refil_history.Remove(y);
                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            return(RedirectToAction("Index", "Home"));
        }