public HttpResponseMessage PostValidateCode([FromBody] ValidateInputViewModel validate) { HttpResponseMessage resp = null; var hasPhone = db.Validations.Find(validate.phone); if (hasPhone == null) { sms.PhoneNumber = validate.phone; var result = sms.send(); //var code = sms.responseFormat(result); var data = new Validation() { phone = validate.phone, code = sms.code, isValidate = "N", createAt = DateTime.Now }; try { db.Validations.Add(data); db.SaveChanges(); OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.OK), input = null, validate = validate, message = "發送成功,請至您的手機查看驗證碼" }; resp = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; } catch (DbUpdateException ex) { OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.Conflict), input = null, validate = validate, message = "此門號已被驗證過,無法再驗證" }; resp = new HttpResponseMessage(HttpStatusCode.Conflict) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; } } else if (hasPhone != null && hasPhone.isValidate != "N") { OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.BadRequest), input = null, validate = validate, message = "此門號已被驗證過,無法再驗證" }; resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; } else { OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.Conflict), input = null, validate = validate, message = "簡訊驗證碼已經產生,請確認您的簡訊驗證碼" }; resp = new HttpResponseMessage(HttpStatusCode.Conflict) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; } return(resp); }
public HttpResponseMessage PostValidate([FromBody] ValidateInputViewModel validate) { HttpResponseMessage resp = null; var data = db.Validations.Find(validate.phone); if (data == null) { OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.NotFound), input = null, validate = validate, message = "找不到手機門號,請確認您有取得簡訊驗證碼再行驗證" }; resp = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; return(resp); } else if (data.code == validate.code && data.isValidate == "N") { data.isValidate = "Y"; try { db.SaveChanges(); OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.OK), input = null, validate = validate, message = "驗證成功" }; resp = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; return(resp); } catch (DbUpdateException ex) { OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.InternalServerError), input = null, validate = validate, message = ex.Message }; resp = new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; return(resp); } } else if (data.code != validate.code && data.isValidate == "N") //驗證碼不對 { OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.BadRequest), input = null, validate = validate, message = "驗證碼錯誤,請再確認您手機簡訊中的驗證碼" }; resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; return(resp); } else { OutputViewModel output = new OutputViewModel() { status = Convert.ToInt32(HttpStatusCode.Unauthorized), input = null, validate = validate, message = "此門號已被驗證過,無法再驗證" }; resp = new HttpResponseMessage(HttpStatusCode.Unauthorized) { Content = new ObjectContent <OutputViewModel>(output, new JsonMediaTypeFormatter()) }; return(resp); } }