public JsonResult IdCardRequest(IDCardRequest iDCardRequest) { try { DBManager db = new DBManager("CustomerServicePortal"); foreach (var item in iDCardRequest.iDCardType_Quantities) { string Commandtext = "Fill_IDCardRequestDetails"; var parameters = new List<IDbDataParameter>(); parameters.Add(db.CreateParameter("@SSN", iDCardRequest.EMSSN, DbType.String)); parameters.Add(db.CreateParameter("@RequestNotes", iDCardRequest.RquestNotes, DbType.String)); parameters.Add(db.CreateParameter("@Name", iDCardRequest.Name, DbType.String)); parameters.Add(db.CreateParameter("@Gender", iDCardRequest.Gender, DbType.String)); parameters.Add(db.CreateParameter("@Requester", User.Identity.Name, DbType.String)); parameters.Add(db.CreateParameter("@IDCardType",item.IDCardType, DbType.String)); parameters.Add(db.CreateParameter("@IDCardQuantity",item.IDCardQuantity, DbType.String)); db.Insert(Commandtext, CommandType.StoredProcedure, parameters.ToArray()); } } catch (Exception EX) { return Json(false, JsonRequestBehavior.AllowGet); } return Json(true, JsonRequestBehavior.AllowGet); }
/// <summary> /// 身份证识别 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <IDCardResponse> DetectAsync(IDCardRequest request) { Throws.ArgumentNullException(request, nameof(request)); Throws.ArgumentNullException(request.ImgUrl, nameof(request.ImgUrl)); try { var httpClient = this._options.HttpClient; var httpRequest = BuildHttpRequestMessage(request); var response = await httpClient.RequestJsonAsync <TencentOCRResponse>(httpRequest); var result = response.Result_List.First(); var resultData = result.Data; var validDate = resultData.Valid_date.Default("").Split('-'); string startDate = null; string endDate = null; if (validDate?.Length == 2) { startDate = validDate[0]; endDate = validDate[1]; } return(new IDCardResponse { Success = result.Code == 0, Message = result.Message, Result = new IDCard { //正面 Address = resultData.Address, Birth = resultData.Birth, Id = resultData.Id, Name = resultData.Name, Nation = resultData.Nation, Gender = EnumObject.GetNullableEnumFromDescription <Gender>(resultData.Sex), //反面 Authority = resultData.Authority, StartDate = startDate, EndDate = endDate } }); } catch (Exception ex) { return(new IDCardResponse { Success = false, Message = ex.Message }); } }
/// <summary> /// 身份证识别 /// </summary> /// <param name='request'></param> /// <returns></returns> public async Task <IDCardResponse> DetectAsync(IDCardRequest request) { Throws.ArgumentNullException(request, nameof(request)); Throws.ArgumentNullException(request.ImgUrl, nameof(request.ImgUrl)); try { var httpClient = this._options.HttpClient; var httpRequest = await BuildHttpRequestMessage(request); var response = await httpClient.RequestJsonAsync <AliyunOCRResponse>(httpRequest); var result = response .Outputs .FirstOrDefault() .OutputValue .DataValue; return(new IDCardResponse { Success = result.Success, Result = new IDCard { //正面 Id = result.Num, Address = result.Address, Birth = result.Birth, Name = result.Name, Nation = result.Nationality, Gender = EnumObject.GetNullableEnumFromDescription <Gender>(result.Sex), //反面 Authority = result.Issue, StartDate = result.Start_date, EndDate = result.End_date } }); } catch (Exception ex) { return(new IDCardResponse { Success = false, Message = ex.Message }); } }
public ActionResult RequestIDCardHtml(string SSN,string Name,string Gender) { IDCardRequest iDCardRequest = new IDCardRequest(); string viewContent = ""; try { iDCardRequest.EMSSN = SSN; iDCardRequest.Gender = Gender; iDCardRequest.Name = Name; viewContent = ConvertViewToString("_RequestIdCardPartialView", iDCardRequest); } catch (Exception ex) { throw; } return Json(new { viewContent = viewContent }, JsonRequestBehavior.AllowGet); }
private HttpRequestMessage BuildHttpRequestMessage(IDCardRequest request) { var httpRequest = new HttpRequestMessage(HttpMethod.Post, _options.Apiurl); httpRequest.Headers.Authorization = new AuthenticationHeaderValue("Basic", BuildSignature()); var requestJson = new { appid = this._options.AppId, bucket = this._options.Bucket, cart_type = (int)request.Type, url_list = new List <string> { request.ImgUrl } }.ToJson(); httpRequest.Content = new StringContent(requestJson, Encoding.UTF8, "application/json"); return(httpRequest); }
/// <summary> /// /// </summary> /// <param name="request"></param> /// <returns></returns> private async Task <HttpRequestMessage> BuildHttpRequestMessage(IDCardRequest request) { var httpRequest = new HttpRequestMessage(HttpMethod.Post, this._options.Url); httpRequest.Headers.Authorization = new AuthenticationHeaderValue("APPCODE", this._options.Appcode); var httpClient = this._options.HttpClient; var imageBytes = await httpClient.GetByteArrayAsync(request.ImgUrl); var imageBase64 = imageBytes.GetBase64(); var requestJson = new { inputs = new List <object> { new { image = new { dataType = 50, dataValue = imageBase64 }, configure = new { dataType = 50, dataValue = new { side = request.Type.ToString().ToLower() } } } } }.ToJson(); httpRequest.Content = new StringContent(requestJson, Encoding.UTF8, "application/json"); return(httpRequest); }