Esempio n. 1
0
        public ActionResult DeleteConfirmed(int id)
        {
            sec_mobile_verify sec_mobile_verify = db.sec_mobile_verify.Find(id);

            db.sec_mobile_verify.Remove(sec_mobile_verify);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
 public ActionResult Edit([Bind(Include = "id,user_id,mobile,code,is_used,created_at,verification_id")] sec_mobile_verify sec_mobile_verify)
 {
     if (ModelState.IsValid)
     {
         db.Entry(sec_mobile_verify).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(sec_mobile_verify));
 }
Esempio n. 3
0
        public ActionResult Create([Bind(Include = "id,user_id,mobile,code,is_used,created_at,verification_id")] sec_mobile_verify sec_mobile_verify)
        {
            if (ModelState.IsValid)
            {
                db.sec_mobile_verify.Add(sec_mobile_verify);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(sec_mobile_verify));
        }
Esempio n. 4
0
        // GET: sec_mobile_verify/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            sec_mobile_verify sec_mobile_verify = db.sec_mobile_verify.Find(id);

            if (sec_mobile_verify == null)
            {
                return(HttpNotFound());
            }
            return(View(sec_mobile_verify));
        }
Esempio n. 5
0
        public async Task <APIResult <bool> > SendVerifyCode(string Mobile)
        {
            //int uid = APIRequest.User(HttpContext.Current.Request).Entity.id;
            //using (MainEntities ctx = new MainEntities())
            //{
            string trueMobile = Mobile;

            if (General.ValidateMobile(Mobile, out trueMobile))
            {
                Mobile = trueMobile;
            }
            else
            {
                return(APIResult <bool> .Error(ResponseCode.UserValidationField, "Invalid mobile number!"));
            }


            //var dublicated = ctx.tbl_accounts.Include("sec_users").Where(a => a.mobile == Mobile && a.sec_users.phone_verified == true ).Count();

            //if (dublicated > 0)
            //    return APIResult<bool>.Error(ResponseCode.UserDoublicate, "This mobile is already exists in our database!");
            //}

            var sms_url = Settings.AppSetting.FirstOrDefault(a => a.setting_key == "sms_url").setting_value;

            if (sms_url != null && sms_url != "")
            {
                using (var client = new HttpClient())
                {
                    Random random = new Random();
                    var    code   = random.Next(100000, 999999);

                    using (MainEntities ctx = new MainEntities())
                    {
                        DateTime expiredTime = DateTime.Now.Add(new TimeSpan(0, -10, 0));

                        sec_mobile_verify vm = ctx.sec_mobile_verify.Where(a => a.mobile == Mobile && a.is_used == false && a.created_at > expiredTime).OrderByDescending(a => a.id).FirstOrDefault();
                        if (vm != null)
                        {
                            code                = int.Parse(vm.code);
                            vm.created_at       = DateTime.Now;
                            ctx.Entry(vm).State = System.Data.Entity.EntityState.Modified;
                        }
                        else
                        {
                            vm            = new sec_mobile_verify();
                            vm.mobile     = Mobile;
                            vm.code       = code.ToString();
                            vm.created_at = DateTime.Now;
                            ctx.sec_mobile_verify.Add(vm);
                        }


                        if (ctx.SaveChanges() > 0)
                        {
                            var uri      = new Uri(sms_url.Replace("##mobile##", Mobile).Replace("##code##", code.ToString()));
                            var response = await client.PostAsJsonAsync(uri, "");

                            var smsResult = await response.Content.ReadAsStringAsync();

                            if (response.IsSuccessStatusCode && smsResult.Contains("success"))
                            {
                                return(APIResult <bool> .Success(true, "API_SUCCESS"));
                            }
                            else
                            {
                                Logger.log(string.Format("SMSErorr: Code={0},Mobile={1} \r\n {2}", code, Mobile, smsResult));
                            }
                        }
                    }
                    return(APIResult <bool> .Error(ResponseCode.BackendInternalServer, "Bad Request!"));
                }
            }
            return(APIResult <bool> .Error(ResponseCode.BackendInternalServer, "API_SUCCESS"));
        }