/// <summary> /// 新增會員資料 /// </summary> /// <param name="memberInfo"></param> /// <returns></returns> public static int InsertMemberInfo(Models.Entity.MemberInfo memberInfo) { Log log = new Log(); try { using (var db = new HealthPaltformContext()) { db.MemberInfo.Add(memberInfo); //log return(db.SaveChanges()); } } catch (DbEntityValidationException ex) { log.Error($"產生與資料庫相關的錯誤\n" + $"Data:{ex.ToString()}"); return(-999); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.InputStream.Length <= 0) { Response.Clear(); Response.ContentType = "text/plain"; Response.StatusCode = 400; Response.TrySkipIisCustomErrors = true; Response.Write("4001 資料內容格式有誤或超出正常範圍"); Response.End(); log.Info("4001 資料內容格式有誤或超出正常範圍"); return; } System.Diagnostics.Debug.WriteLine(JsonConvert.SerializeObject(Request.Headers)); string documentContents; using (Stream receiveStream = Request.InputStream) { using (StreamReader readStream = new StreamReader(receiveStream, Request.ContentEncoding)) { documentContents = readStream.ReadToEnd(); //LOG.Debug("IP:" + Request.UserHostAddress); //LOG.Debug(documentContents + Environment.NewLine); } } System.Diagnostics.Debug.WriteLine(documentContents); string[] str = documentContents.Replace("\r\n", "\n").Split('\n'); Dictionary <string, string> dic = str.Where(x => !x.StartsWith("Feedback")).ToDictionary(x => x.Split('=')[0].Trim(), x => x.Substring(x.IndexOf('=') + 1).Trim()); if (dic.ContainsKey(string.Empty)) { dic.Remove(string.Empty); } ChangeValue(ref dic); TaiDocModel result = DictionaryToObject <TaiDocModel>(dic); List <Feedback> fbl = new List <Feedback>(); List <string> dif = str.Where(x => x.StartsWith("Feedback")).ToList(); foreach (string d in dif) //解析feedbak內容 { string t = d.Replace("Feedback", ""); t = d.Substring(d.IndexOf('=') + 1).Trim(); Dictionary <string, string> fb = t.Replace("@#@", "\n").Split('\n').ToDictionary(x => x.Split('=')[0].Trim(), x => x.Substring(x.IndexOf('=') + 1).Trim()); fbl.Add(DictionaryToObject <Feedback>(fb)); } if (fbl.Count > 0) { result.Feedback = fbl.ToList(); } var settings = new JsonSerializerSettings() { ContractResolver = new NullToEmptyStringResolver() }; string json = JsonConvert.SerializeObject(result, settings); log.Info($"TaiDoc解析完成的字串", json); #region APIDataSave var dbIDNo = DBService.MemberInfo.QueryMemberInfoByIDNo(result.Member_IDNo); if (string.IsNullOrEmpty(dbIDNo)) { log.Info($"新建會員資料"); //儲存該筆資料 var memberInfo = new Models.Entity.MemberInfo(); //取得系統ID var tmpID = ToolLibs.GetDateTimeNowDefaultString(); log.Info($"新建的會員資料ID:{tmpID}"); #region MemberInfo memberInfo.ID = tmpID; memberInfo.IDNo = result.Member_IDNo; memberInfo.Name = "Test"; memberInfo.Genger = 0; memberInfo.BDate = DateTime.Now; memberInfo.Tel = ""; memberInfo.Mobile = ""; memberInfo.Email = ""; memberInfo.Fax = ""; memberInfo.Occupation = ""; memberInfo.CreateDate = DateTime.Now; #endregion log.Trace("新增會員資料", memberInfo); DBService.MemberInfo.InsertMemberInfo(memberInfo); } //建立新的測量資料 var measuerInfo = new Models.Entity.MeasureInfo(); //傳入身份證字號 measuerInfo.MemberIDNo = result.Member_IDNo; //字串處理,將多餘的 \n \r 去除,並將數據帶入 measuerInfo.MIData = Regex.Replace(json, @"\n|\r", ""); //帶入現在時間 measuerInfo.MIDate = DateTime.Now; //新增資料,並紀錄新增後的UID var measureInfoID = DBService.MeasureInfo.InsertMeasureInfo(measuerInfo).ToString(); //將網址帶入的UID加密 var encryptID = ToolLibs.EncryptDES(measureInfoID, Config.DESKey, Config.DESIV); //組出網址 var encryptCodeURL = $"{Config.BaseURL}MInfo.aspx?UID={encryptID}"; log.Info($"回傳的網址", encryptCodeURL); #endregion TransferToTaiDoc(result); Response.Clear(); Response.ContentType = "text/plain"; Response.StatusCode = 200; Response.Write("200"); Response.End(); log.Info($"回傳的結果,Data:200"); } }