コード例 #1
0
        public JsonResult saveUserInfo(UserSignupPage data, HttpPostedFileBase file)
        {
            bool    Status  = false;
            string  message = "";
            JObject result  = new JObject();

            try
            {
                AzureConnection db = new AzureConnection();

                var IsExist = userExist(data);
                if (IsExist)
                {
                    message = "Already exist. If you have an account , please log in";
                }
                else
                {
                    user_table tbdata = new user_table();
                    if (file != null)
                    {
                        shufti_log id_log = new shufti_log();
                        id_log.time = DateTime.UtcNow;
                        var memStream = new MemoryStream();
                        file.InputStream.CopyTo(memStream);
                        byte[] imageBytes   = memStream.ToArray();
                        var    base64String = Convert.ToBase64String(imageBytes);
                        string reponse      = ApiHelper.KYCApi.verifyIDCard(base64String, data.firstname, data.lastname);
                        var    reponseData  = JObject.Parse(reponse);
                        if (reponseData["event"].ToString() == "verification.declined")
                        {
                            id_log.status          = "verification.declined";
                            id_log.declined_reason = reponseData["declined_reason"].ToString();
                            db.shufti_log.Add(id_log);
                            db.SaveChanges();
                            result["state"]   = false;
                            result["message"] = reponseData["declined_reason"];
                            return(Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet));
                        }
                        else if (reponseData["event"].ToString() == "verification.accepted")
                        {
                            string first_name = reponseData["verification_data"]["document"]["name"]["first_name"].ToString();
                            string last_name  = reponseData["verification_data"]["document"]["name"]["last_name"].ToString();
                            string birthday   = reponseData["verification_data"]["document"]["dob"].ToString();
                            id_log.status          = "verification.accepted";
                            id_log.first_name      = first_name;
                            id_log.last_name       = last_name;
                            id_log.birthday        = birthday;
                            id_log.document_number = reponseData["verification_data"]["document"]["document_number"].ToString();
                            id_log.expiry_date     = reponseData["verification_data"]["document"]["expiry_date"].ToString();
                            id_log.issue_date      = reponseData["verification_data"]["document"]["issue_date"].ToString();
                            db.shufti_log.Add(id_log);
                            db.SaveChanges();
                            var old_kyc = db.user_table.Where(a => a.firstname == first_name && a.lastname == last_name && a.kycVerified == true && a.birthday == birthday).FirstOrDefault();
                            if (old_kyc != null)
                            {
                                result["state"]   = false;
                                result["message"] = "Someone already used this document.";
                                return(Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet));
                            }

                            /*
                             * if (data.firstname.ToUpper() != first_name.ToUpper()||data.lastname.ToUpper() != last_name.ToUpper())
                             * {
                             *  result["state"] = false;
                             *  result["message"] = "Your info is not correct!";
                             *  return Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet);
                             * }*/
                            tbdata.birthday    = birthday;
                            tbdata.kycVerified = true;
                        }
                    }

                    tbdata.firstname     = data.firstname;
                    tbdata.lastname      = data.lastname;
                    tbdata.username      = data.username;
                    tbdata.email         = data.email;
                    tbdata.password      = data.password;
                    tbdata.emailVerified = false;
                    tbdata.phone         = Session["phoneNumber"].ToString();
                    tbdata.country       = Session["countryCode"].ToString();
                    tbdata.phoneVerified = false;
                    tbdata.kycVerified   = (file != null);
                    tbdata.qrkey         = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10);
                    tbdata.qrScanned     = false;
                    tbdata.signup        = DateTime.UtcNow;
                    tbdata.listme        = false;
                    tbdata.emailCode     = Guid.NewGuid();
                    SendVerificationLinkEmail(tbdata);
                    message = "Activate your email to complete your setup.We have sent activation link to your email: " + data.email;

                    Status = true;
                    db.user_table.Add(tbdata);
                    db.SaveChanges();
                    Session["email"]    = tbdata.email;
                    Session["username"] = tbdata.username;
                    Session["qrkey"]    = tbdata.qrkey;
                }
            }
            catch (Exception ex)
            {
                message = "Some error occured.Please try again";
            }
            result["state"]   = Status;
            result["message"] = message;
            return(Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
 public JsonResult uploadID(HttpPostedFileBase file)
 {
     try
     {
         JObject         result = new JObject();
         AzureConnection db     = new AzureConnection();
         shufti_log      id_log = new shufti_log();
         id_log.time = DateTime.UtcNow;
         string email     = Session["email"].ToString();
         var    user_data = db.user_table.Where(a => a.email == email).FirstOrDefault();
         var    memStream = new MemoryStream();
         file.InputStream.CopyTo(memStream);
         byte[] imageBytes   = memStream.ToArray();
         var    base64String = Convert.ToBase64String(imageBytes);
         string reponse      = ApiHelper.KYCApi.verifyIDCard(base64String, user_data.firstname, user_data.lastname);
         var    reponseData  = JObject.Parse(reponse);
         if (reponseData["event"].ToString() == "verification.declined")
         {
             id_log.status          = "verification.declined";
             id_log.declined_reason = reponseData["declined_reason"].ToString();
             db.shufti_log.Add(id_log);
             db.SaveChanges();
             result["state"]   = false;
             result["message"] = reponseData["declined_reason"];
             return(Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet));
         }
         else if (reponseData["event"].ToString() == "verification.accepted")
         {
             string first_name = reponseData["verification_data"]["document"]["name"]["first_name"].ToString();
             string last_name  = reponseData["verification_data"]["document"]["name"]["last_name"].ToString();
             string birthday   = reponseData["verification_data"]["document"]["dob"].ToString();
             id_log.status          = "verification.accepted";
             id_log.first_name      = first_name;
             id_log.last_name       = last_name;
             id_log.birthday        = birthday;
             id_log.document_number = reponseData["verification_data"]["document"]["document_number"].ToString();
             id_log.expiry_date     = reponseData["verification_data"]["document"]["expiry_date"].ToString();
             id_log.issue_date      = reponseData["verification_data"]["document"]["issue_date"].ToString();
             db.shufti_log.Add(id_log);
             db.SaveChanges();
             var old_kyc = db.user_table.Where(a => a.firstname == first_name && a.lastname == last_name && a.kycVerified == true && a.birthday == birthday).FirstOrDefault();
             if (old_kyc != null)
             {
                 result["state"]   = false;
                 result["message"] = "Someone already used this document.";
                 return(Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet));
             }
             user_data.birthday    = birthday;
             user_data.kycVerified = true;
             db.SaveChanges();
         }
         result["state"] = true;
         db.SaveChanges();
         if (Session["isCreater"].ToString() == "yes")
         {
             Session["next_url"] = "/Verify/sendEmailToOpp";
         }
         else if (Session["user_type"].ToString() == "old_seller")
         {
             Session["next_url"] = "/Contract/bankDetail";
         }
         else
         {
             Session["next_url"] = "/Contract/buyTransPage";
         }
         return(Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet));
     }
     catch
     {
         return(Json("", JsonRequestBehavior.AllowGet));
     }
 }