/// <summary> /// 创建或者更新客户资料 /// </summary> /// <param name="model"></param> /// <returns></returns> public long CreateOrUpdate(CardSubItem model) { if (string.IsNullOrEmpty(_ConnectionString)) { LogHelper.Log("CardData-CreateOrUpdate:" + "File ERROR"); return(0); } try { bool isExist = model.id > 0; LockUtils.LockEnter(_ConnectionString); DapperHelper db = new DapperHelper(this._ConnectionString); if (isExist) { //仅仅更新 try { var param = ConvertHelper <CardSubItem> .ModelToDic(model); db.Update <CardSubItem>(param, "id", model.id); return(model.id); } catch (Exception ex) { LogHelper.Log("CardData-CreateOrUpdate:" + ex.ToString()); } finally { db.Close(); } } else { //新增 try { return(CheckData.Check_Long(db.ExecuteScalar(DapperHelper.CompileInsert <CardSubItem>(model, "id", "sl"), model))); } catch (Exception ex) { LogHelper.Log("CardData-CreateOrUpdate:" + ex.ToString()); } finally { db.Close(); } } } catch (Exception ex) { LogHelper.Log("CardData-CreateOrUpdate:" + ex.ToString()); } finally { LockUtils.LockExit(_ConnectionString); } return(0); }
public string CreateCard(string data) { try { JObject job = JObject.Parse(data); var item = new CardItem(); item.desc = CheckData.Check_String(job["desc"]); item.name = CheckData.Check_String(job["name"]); item.openid = OpenId; item.phone = CheckData.Check_String(job["phone"]); item.wx = CheckData.Check_String(job["wx"]); var imgurl = CheckData.Check_String(job["headimg"]); var path = Path.Combine(Config.AccountDataDir, this.OpenId + "\\files\\avatars\\"); string filename = GetFile(imgurl, path); item.headimg = filename; var db = new CardData(OpenId); long id = db.CreateOrUpdate(item); if (id > 0) { foreach (var img in job["resimg"]) { var sub = new CardSubItem(); sub.cardid = id; var imgPath = Path.Combine(Config.AccountDataDir, this.OpenId + "\\files\\img\\"); string filename2 = GetFile(CheckData.Check_String(img), imgPath); sub.path = filename2; db.CreateOrUpdate(sub); } string url = "http://" + Config.RootURL + $"/cardshare/get?openid={item.openid}&id={id}"; string avatarsPath = Path.Combine(Config.AccountDataDir, this.OpenId + "\\files\\avatars\\" + filename); string base64 = QrCodeCreater.GetQrCodeImgBase64(url, avatarsPath); if (base64.IsNotEmpty()) { return(OK(base64)); } } } catch (Exception e) { LogHelper.Log(e.Message); } return(Error("抱歉,生成失败。")); }