Example #1
0
 public ActionResult buyTransPage(string id)
 {
     try
     {
         if (id == null)
         {
             id = Session["transID"].ToString();
         }
         Session["transID"] = id;
         AzureConnection db         = new AzureConnection();
         trans_history   trans_data = db.trans_history.Where(a => a.id.ToString() == id).FirstOrDefault();
         ViewData["btc_amount"] = trans_data.btc;
         ViewData["sellerName"] = trans_data.user_seller.username;
         ViewData["cash"]       = trans_data.cash;
         ViewData["walletID"]   = trans_data.buyerWallet == null ? "" : trans_data.buyerWallet;
         ViewData["transID"]    = trans_data.id;
         if (trans_data.buyTime == null)
         {
             trans_data.buyTime = DateTime.UtcNow;
             db.SaveChanges();
             ViewData["buyTime"] = 0;
             return(View());
         }
         else
         {
             TimeSpan diff = (TimeSpan)(DateTime.UtcNow - trans_data.buyTime);
             ViewData["buyTime"] = diff.TotalSeconds;
             return(View());
         }
     }
     catch
     {
         return(RedirectToAction("", "Home"));
     }
 }
Example #2
0
        public ActionResult bankDetail()
        {
            string          transID    = Session["transID"].ToString();
            AzureConnection db         = new AzureConnection();
            trans_history   trans_data = db.trans_history.Where(a => a.id.ToString() == transID).FirstOrDefault();

            ViewData["REFERENCE"] = trans_data.REFERENCE;
            return(View());
        }
Example #3
0
        public JsonResult getBalance()
        {
            string          cur_balance;
            string          transID    = Session["transID"].ToString();
            AzureConnection db         = new AzureConnection();
            trans_history   trans_data = db.trans_history.Where(a => a.id.ToString() == transID).FirstOrDefault();

            cur_balance = "" + trans_data.holdAmount;
            return(Json(cur_balance, JsonRequestBehavior.AllowGet));
        }
Example #4
0
        public JsonResult isBTCHolded()
        {
            string          transID    = Session["transID"].ToString();
            AzureConnection db         = new AzureConnection();
            trans_history   trans_data = db.trans_history.Where(a => a.id.ToString() == transID).FirstOrDefault();

            if (trans_data.holdBTC == true)
            {
                return(Json("success", JsonRequestBehavior.AllowGet));
            }
            return(Json("failed", JsonRequestBehavior.AllowGet));
        }
Example #5
0
        public ActionResult uploadRecipt(HttpPostedFileBase file)
        {
            try
            {
                string transID = Session["transID"].ToString();
                if (file == null)
                {
                    return(View("uploadReciptPage"));
                }

                AzureConnection db         = new AzureConnection();
                trans_history   trans_data = db.trans_history.Where(a => a.id.ToString() == transID).FirstOrDefault();
                if (Session["uploadType"].ToString() == "recieve")
                {
                    trans_data.recieveCash = true;
                    trans_data.sentBTC     = true;
                    trans_data.status      = "complete";
                    db.SaveChanges();
                    ApiHelper.BlockApi.withDrawByAddress(trans_data.holdWallet, trans_data.buyerWallet, (trans_data.btc - 0.00011795).ToString());
                    string body;
                    body = "Dear " + trans_data.user_buyer.username + "<br/><br/>" + " We have just sent to your wallet, " + (trans_data.btc - 0.00011795) + " BTC (0.00011795 BTC is transaction fee). Transaction completed with user " + trans_data.user_seller.username + "<br/>Thank you";
                    Variables.sendEmail(trans_data.user_buyer.email, body);
                    string path = System.IO.Path.Combine(Server.MapPath("~/Uploads/"), "receive" + transID + ".png");
                    file.SaveAs(path);
                    return(RedirectToAction("", "Home"));
                }
                else if (Session["uploadType"].ToString() == "sent")
                {
                    trans_data.sentCash = true;
                    db.SaveChanges();
                    string body;
                    string link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, "/Contract/recievedWire?transID=" + trans_data.id);
                    body = "Dear " + trans_data.user_seller.username + "<br/><br/>" +
                           "User " + trans_data.user_buyer.username + " has just notified us that the wire of $" + trans_data.cash + " has been sent to your bank account ending in " + trans_data.IBAN.Substring(trans_data.IBAN.Length - 4) + ". Please look your bank account as it will reach very soon. You need to confirm receipt by pressing the button below, after receiving the funds." + "<br/><br/><a href='" + link + "' class='btn btn-primary'>" + "I have receipt the wire.Thank you</a>";;
                    Variables.sendEmail(trans_data.user_seller.email, body);

                    string path = System.IO.Path.Combine(Server.MapPath("~/Uploads/"), "sent" + transID + ".png");
                    file.SaveAs(path);
                    return(RedirectToAction("", "Home"));
                }
                else
                {
                    return(RedirectToAction("", "Home"));
                }
            }
            catch
            {
                return(RedirectToAction("", "Home"));
            }
        }
Example #6
0
        public JsonResult saveWalletID(string walletID)
        {
            var isValid = BlockApi.validateAddress(walletID);

            if (isValid == false)
            {
                return(Json("failed", JsonRequestBehavior.AllowGet));
            }
            string          transID    = Session["transID"].ToString();
            AzureConnection db         = new AzureConnection();
            trans_history   trans_data = db.trans_history.Where(a => a.id.ToString() == transID).FirstOrDefault();

            trans_data.buyerWallet = walletID;
            Session["buyerWallet"] = walletID;
            db.SaveChanges();
            return(Json("success", JsonRequestBehavior.AllowGet));
        }
Example #7
0
 public ActionResult proceed(int userID, int transID)
 {
     try
     {
         AzureConnection db   = new AzureConnection();
         trans_history   data = db.trans_history.Where(a => a.id == transID).FirstOrDefault();
         Session["transID"]     = transID;
         Session["btc_amount"]  = data.btc;
         Session["cash"]        = data.cash;
         Session["buyerEmail"]  = data.user_buyer.email;
         Session["buyerName"]   = data.user_buyer.username;
         Session["sellerEmail"] = data.user_seller.email;
         Session["sellerName"]  = data.user_seller.username;
         Session["holdWallet"]  = data.holdWallet;
         Session["user_type"]   = userID == data.buyer ? "old_buyer": "old_seller";
         db.SaveChanges();
         if (Session["username"] == null)
         {
             if (double.Parse(Session["cash"].ToString()) >= 1000 && data.user_seller.kycVerified == false)
             {
                 Session["isCreater"] = "no";
                 Session["next_url"]  = "/Verify/IdVerify";
             }
             else
             {
                 Session["next_url"] = userID == data.buyer ? "/Contract/buyTransPage" : "/Contract/bankDetail";
             }
             return(RedirectToAction("Login", "User_Login"));
         }
         else
         {
             if (double.Parse(Session["cash"].ToString()) >= 1000 && data.user_seller.kycVerified == false)
             {
                 return(RedirectToAction("IdVerify", "Verify"));
             }
             return(userID == data.buyer ? RedirectToAction("buyTransPage") :RedirectToAction("bankDetail"));
         }
     }
     catch
     {
         return(RedirectToAction("", "Home"));
     }
 }
Example #8
0
 public ActionResult sentWire(int transID)
 {
     try
     {
         AzureConnection db         = new AzureConnection();
         trans_history   trans_data = db.trans_history.Where(a => a.id == transID).FirstOrDefault();
         if (trans_data.sentCash == true)
         {
             return(RedirectToAction("", "Home"));
         }
         Session["uploadType"] = "sent";
         Session["qrkey"]      = trans_data.user_buyer.qrkey;
         Session["next_url"]   = "/Contract/uploadReciptPage";
         return(RedirectToAction("googleAuthPage", "Verify"));
     }
     catch
     {
         return(RedirectToAction("", "Home"));
     }
 }
Example #9
0
 public ActionResult saveBankDetail(string firstname, string lastname, string IBAN, string SWIFT)
 {
     try
     {
         string          transID    = Session["transID"].ToString();
         AzureConnection db         = new AzureConnection();
         trans_history   trans_data = db.trans_history.Where(a => a.id.ToString() == transID).FirstOrDefault();
         trans_data.firstname_seller = firstname;
         trans_data.lastname_seller  = lastname;
         trans_data.IBAN             = IBAN;
         trans_data.SWIFT            = SWIFT;
         db.SaveChanges();
         Session["next_url"] = "/Contract/sellTransPage";
         return(RedirectToAction("googleAuthPage", "Verify"));
     }
     catch
     {
         return(RedirectToAction("", "Home"));
     }
 }
Example #10
0
        public ActionResult sendEmailToOpp()
        {
            try
            {
                trans_history   data      = new trans_history();
                string          email     = Session["email"].ToString();
                AzureConnection db        = new AzureConnection();
                user_table      user_data = db.user_table.Where(a => a.email == email).FirstOrDefault();
                if (Session["user_type"].ToString() == "new_buyer" || Session["user_type"].ToString() == "old_buyer")
                {
                    data.buyer = user_data.id;
                    email      = Session["sellerEmail"].ToString();
                    user_table seller = db.user_table.Where(a => a.email == email).FirstOrDefault();
                    Session["sellerName"] = seller.username;
                    data.seller           = seller.id;
                }
                else
                {
                    data.seller = user_data.id;
                    email       = Session["buyerEmail"].ToString();
                    user_table buyer = db.user_table.Where(a => a.email == email).FirstOrDefault();
                    Session["buyerName"] = buyer.username;
                    data.buyer           = buyer.id;
                }

                data.btc         = double.Parse(Session["btc_amount"].ToString(), CultureInfo.InvariantCulture.NumberFormat);
                data.cash        = double.Parse(Session["cash"].ToString(), CultureInfo.InvariantCulture.NumberFormat);
                data.REFERENCE   = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10).ToUpper();
                data.status      = "pending";
                data.holdBTC     = false;
                data.sentBTC     = false;
                data.sentCash    = false;
                data.recieveCash = false;
                data.holdAmount  = 0;
                data.holdWallet  = BlockApi.getNewAddressWithRandom();
                db.trans_history.Add(data);
                db.SaveChanges();
                Session["holdWallet"] = data.holdWallet;
                Session["transID"]    = data.id;
                var         fromEmail = new MailAddress(WebConfigurationManager.AppSettings.Get("siteEmail"), "Lyohai");
                MailAddress toEmail;
                var         fromEmailPassword = WebConfigurationManager.AppSettings.Get("EmailPassword");
                string      subject           = "TRUSTBTC to you";
                string      body;
                if (Session["user_type"].ToString() == "new_buyer" || Session["user_type"].ToString() == "old_buyer")
                {
                    string proceed_link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, "/Contract/proceed?" + "userID=" + data.seller + "&transID=" + data.id);
                    toEmail = new MailAddress(data.user_seller.email);
                    body    = "Dear " + Session["sellerName"] + "<br/><br/>" +
                              "One of our members," + Session["username"].ToString() + " will pay you " + "<b>$" + Session["cash"].ToString() + "</b>, if you agree to pay <b>" + Session["btc_amount"].ToString() + "BTC</b>.We will handle all process and secure a smooth transaction for you, in 3 very easy steps." + "<br/><br/>If you are interested to proceed with this transaction, please click the botton below.<br/><br/> <a href='" + proceed_link + "'>" + "Proceed </a>";
                }
                else
                {
                    toEmail = new MailAddress(data.user_buyer.email);
                    string proceed_link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, "/Contract/proceed?" + "userID=" + data.buyer + "&transID=" + data.id);
                    body = "Dear " + Session["buyerName"] + "<br/><br/>" +
                           "One of our members," + Session["username"].ToString() + " will pay you " + "<b>" + Session["btc_amount"].ToString() + "BTC</b>, if you agree to pay <b>$" + Session["cash"].ToString() + "</b>.We will handle all process and secure a smooth transaction for you, in 3 very easy steps." + "<br/><br/>If you are interested to proceed with this transaction, please click the botton below.<br/><br/> <a href='" + proceed_link + "'>" + "Proceed </a>";
                }

                var smtp = new SmtpClient
                {
                    Host                  = "smtp-mail.outlook.com",
                    Port                  = 587,
                    EnableSsl             = true,
                    DeliveryMethod        = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    Credentials           = new NetworkCredential(fromEmail.Address, fromEmailPassword)
                };
                using (var message = new MailMessage(fromEmail, toEmail)
                {
                    Subject = subject,
                    Body = body,
                    IsBodyHtml = true
                })
                {
                    smtp.Send(message);
                }
                return(RedirectToAction("googleAuthPage", "Verify"));
            }
            catch
            {
                return(RedirectToAction("Index", "Home"));
            }
        }