public static bool CreateLineFeature(IFeatureLayer featureLayer, IPolyline pStopLine, LibEntity.StopLine stopLineEntity) { if (pStopLine == null || pStopLine.IsEmpty) { return false; } try { IFeatureClass featureClass = featureLayer.FeatureClass; if (featureClass.ShapeType == esriGeometryType.esriGeometryPolyline) { IDataset dataset = (IDataset)featureClass; IWorkspace workspace = dataset.Workspace; IWorkspaceEdit workspaceEdit = workspace as IWorkspaceEdit; workspaceEdit.StartEditing(false); workspaceEdit.StartEditOperation(); IFeature feature = featureClass.CreateFeature(); Common.DataEditCommon.ZMValue(feature, pStopLine); //几何图形Z值处理 feature.Shape = pStopLine; //编号 int iFieldID = feature.Fields.FindField("BID"); if (iFieldID > -1) feature.Value[iFieldID] = stopLineEntity.binding_id; //名称 iFieldID = feature.Fields.FindField("NAME"); if (iFieldID > -1) feature.Value[iFieldID] = stopLineEntity.stop_line_name; feature.Store(); workspaceEdit.StopEditOperation(); workspaceEdit.StopEditing(true); //GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, null); GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.Extent = pStopLine.Envelope; GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.Extent.Expand(1.5, 1.5, true); GIS.Common.DataEditCommon.g_pMyMapCtrl.Map.SelectFeature(featureLayer, feature); GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, null, null); return true; } return false; } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("创建停采线要素出错:" + ex.Message); return false; } }
// PUT api/<controller>/5 public long Put(string id, LibEntity item) { long ret = LibDatabase.Current.Update(id, item); if (ret > 0) { // 更新内存 2016-9-13 jane dp2WeiXinService.Instance.LibManager.UpdateLib(id); } dp2WeiXinService.Instance._areaMgr.SaveLib(item); return(ret); }
public ApiResult UpdateUserInfo(string userId, string infoType) { ApiResult result = new ApiResult(); string error = ""; if (infoType == "libName") { WxUserItem user = WxUserDatabase.Current.GetById(userId); LibEntity lib = LibDatabase.Current.GetLibById1(user.libId); user.libName = lib.libName; user.libraryCode = ""; user.bindLibraryCode = ""; WxUserDatabase.Current.Update(user); } return(result); }
// POST api/<controller> public LibSetResult Post(LibEntity item) { LibSetResult result = new LibSetResult(); string strError = ""; LibEntity outputItem = null; int nRet = dp2WeiXinService.Instance.AddLib(item, out outputItem, out strError);// libDb.Add(item); if (nRet == -1) { result.errorCode = -1; result.errorInfo = strError; } result.lib = outputItem; // 更新内存 2016-9-13 jane dp2WeiXinService.Instance.LibManager.AddLib(item); dp2WeiXinService.Instance._areaMgr.SaveLib(item); return(result); }
public string GetBiblioSummary(string id, [FromUri] string format, string libId) { string strSummary = "未实现"; LibEntity lib = dp2WeiXinService.Instance.GetLibById(libId); if (lib == null) { return("未找到id为[" + libId + "]的图书馆定义。"); } if (format == "more-summary") { strSummary = dp2WeiXinService.Instance.GetBarcodesSummary(lib, id); return(strSummary); } else if (format == "summary") { string strRecPath = ""; string strError = ""; int nRet = dp2WeiXinService.Instance.GetBiblioSummary(lib, id, "", out strSummary, out strRecPath, out strError); if (nRet == -1 || nRet == 0) { strSummary = strError; } return(strSummary); } return("未实现的风格:" + format); }
public ApiResult GetTemplate(string group, string libId, string subject) { ApiResult result = new ApiResult(); //result.info = "test"; LibEntity lib = dp2WeiXinService.Instance.GetLibById(libId); if (lib == null) { result.errorCode = -1; result.errorInfo = "未找到id为'" + libId + "'的图书馆"; return(result); } string file = dp2WeiXinService.Instance.weiXinDataDir + "/lib/" + "template"//lib.capoUserName + "/home/" + subject + ".txt"; // 文件存在,取出文件 的内容 string text = ""; string strError = ""; if (System.IO.File.Exists(file) == true) { Encoding encoding; // 能自动识别文件内容的编码方式的读入文本文件内容模块 // parameters: // lMaxLength 装入的最大长度。如果超过,则超过的部分不装入。如果为-1,表示不限制装入长度 // return: // -1 出错 strError中有返回值 // 0 文件不存在 strError中有返回值 // 1 文件存在 // 2 读入的内容不是全部 int nRet = FileUtil.ReadTextFileContent(file, -1, out text, out encoding, out strError); if (nRet == -1 || nRet == 0) { goto ERROR1; } if (nRet == 2) { strError = "FileUtil.ReadTextFileContent() error"; goto ERROR1; } result.info = text; } return(result); ERROR1: result.errorInfo = strError; result.errorCode = -1; return(result); }
/// <summary> /// /// </summary> /// <param name="weixinId"></param> /// <param name="libId"></param> /// <param name="msgId"></param> /// <param name="style">browse/full</param> /// <returns></returns> public WxMessageResult GetMessage(string weixinId, string group, string libId, string msgId, string subject, string style) { WxMessageResult result = new WxMessageResult(); string strError = ""; strError = dp2WeiXinService.checkGroup(group); if (strError != "") { result.errorInfo = strError; result.errorCode = -1; return(result); } if (HttpContext.Current.Session[WeiXinConst.C_Session_sessioninfo] == null) { result.errorInfo = "session失效。"; result.errorCode = -1; return(result); } SessionInfo sessionInfo = (SessionInfo)HttpContext.Current.Session[WeiXinConst.C_Session_sessioninfo]; if (sessionInfo == null) { result.errorInfo = "session失效2。"; result.errorCode = -1; return(result); } // 检查下有无绑定工作人员账号 result.userName = ""; string userName = ""; string libraryCode = ""; if (string.IsNullOrEmpty(weixinId) == false) { // 查找当前微信用户绑定的工作人员账号 WxUserItem user = sessionInfo.Active; //WxUserDatabase.Current.GetWorker(weixinId, libId); if (user != null) { libraryCode = user.bindLibraryCode; // 检索是否有权限 _wx_setbbj string needRight = dp2WeiXinService.GetNeedRight(group); LibEntity lib = dp2WeiXinService.Instance.GetLibById(libId); if (lib == null) { result.errorInfo = "未找到id为[" + libId + "]的图书馆定义。"; result.errorCode = -1; return(result); } int nHasRights = dp2WeiXinService.Instance.CheckRights(user, lib, needRight, out strError); if (nHasRights == -1) { result.errorInfo = strError; result.errorCode = -1; return(result); } if (nHasRights == 1) { userName = user.userName; } else { userName = ""; } } } result.userName = userName; List <MessageItem> list = null; int nRet = dp2WeiXinService.Instance.GetMessage(group, libId + "/" + libraryCode, msgId, subject, style, out list, out strError); if (nRet == -1) { result.errorCode = -1; result.errorInfo = strError; } result.items = list; result.errorCode = nRet; result.errorInfo = strError; return(result); }
public int InitViewBag(SessionInfo sessionInfo, out string strError) { strError = ""; ViewBag.AppName = sessionInfo.gzh.appNameCN; ViewBag.weixinId = sessionInfo.WeixinId; if (sessionInfo.Active != null) { // 取出上次记住的图书推荐栏目 if (Request.Path == "/Library/Book") { ViewBag.remeberBookSubject = sessionInfo.Active.bookSubject; } //设到ViewBag里 string userName = ""; string userNameInfo = ""; if (sessionInfo.Active.type == WxUserDatabase.C_Type_Worker) { userName = sessionInfo.Active.userName; userNameInfo = userName; ViewBag.isPatron = 0; } else { userName = sessionInfo.Active.readerBarcode; userNameInfo = sessionInfo.Active.readerName;// +"["+sessionInfo.Active.readerBarcode+"]"; ViewBag.isPatron = 1; } ViewBag.userName = userName; ViewBag.userNameInfo = userNameInfo; ViewBag.userId = sessionInfo.Active.id; string libName = sessionInfo.Active.libName;//sessionInfo.CurrentLib.Entity.libName; if (string.IsNullOrEmpty(sessionInfo.Active.bindLibraryCode) == false) { libName = sessionInfo.Active.bindLibraryCode; } string libId = sessionInfo.Active.libId; ViewBag.LibName = "[" + libName + "]"; ViewBag.PureLibName = libName; ViewBag.LibId = libId; ViewBag.LibraryCode = sessionInfo.Active.bindLibraryCode; //这里用绑定的图书馆 20180313 LibEntity libEntity = sessionInfo.CurrentLib.Entity; //dp2WeiXinService.Instance.GetLibById(libId); if (libEntity != null && libEntity.state == "到期" && Request.Path.Contains("/Patron/SelectLib") == false) //选择图书馆界面除外 { strError = "服务已到期,请联系图书馆工作人员。"; return(-1); } ViewBag.showPhoto = sessionInfo.Active.showPhoto; ViewBag.showCover = sessionInfo.Active.showCover; ViewBag.LibState = sessionInfo.CurrentLib.State; if (sessionInfo.CurrentLib.State == LibraryManager.C_State_Hangup) //checkLibState == true && { string warn = LibraryManager.GetLibHungWarn(sessionInfo.CurrentLib); if (string.IsNullOrEmpty(warn) == false) { strError = warn; return(-1); } } } // 书目查询 与 借还 使用 JSSDK try { if (Request.Path.Contains("/Biblio/Index") == true || Request.Path.Contains("/Library/Charge2") == true) { GzhCfg gzh = sessionInfo.gzh; bool bJsReg = JsApiTicketContainer.CheckRegistered(gzh.appId); // 注意这里有时异常 JsSdkUiPackage package = JSSDKHelper.GetJsSdkUiPackage(gzh.appId, gzh.secret, Request.Url.AbsoluteUri);//http://localhost:15794/Library/Charge //http://www.dp2003.com/dp2weixin/Library/Charge ViewData["AppId"] = gzh.appId; ViewData["Timestamp"] = package.Timestamp; ViewData["NonceStr"] = package.NonceStr; ViewData["Signature"] = package.Signature; } } catch (Exception ex) { } return(0); }
// 书目查询主界面 public ActionResult Index(string code, string state) { // 登录检查 string strError = ""; int nRet = 0; // 检查当前是否已经选择了图书馆绑定了帐号 WxUserItem activeUser = null; nRet = this.GetActive(code, state, out activeUser, out strError); if (nRet == -1) { goto ERROR1; } if (nRet == 0) { ViewBag.RedirectInfo = dp2WeiXinService.GetSelLibLink(state, "/Biblio/Index?a=1");// ("书目查询", "/Biblio/Index?a=1", lib.libName); return(View()); } // nRet = this.CheckLogin(code, state, out strError); //if (nRet == -1) //{ // goto ERROR1; //} //if (nRet == 0) //{ // return Redirect("~/Account/Bind?from=web"); //} // 如果当前图书馆是不公开书目,则出现提示 LibEntity lib = dp2WeiXinService.Instance.GetLibById(ViewBag.LibId); if (lib == null) { strError = "未设置当前图书馆。"; goto ERROR1; } string weixinId = ViewBag.weixinId; // (string)Session[WeiXinConst.C_Session_WeiXinId]; if (lib.noShareBiblio == 1) { List <WxUserItem> users = WxUserDatabase.Current.Get(weixinId, lib.id, -1); if (users.Count == 0) { ViewBag.RedirectInfo = dp2WeiXinService.GetLinkHtml("书目查询", "/Biblio/Index?a=1", lib.libName); return(View()); } } WxUserItem userItem1 = WxUserDatabase.Current.GetActive(weixinId); if (userItem1 != null) { ViewBag.PatronBarcode = userItem1.readerBarcode; } string match = lib.match; if (String.IsNullOrEmpty(match) == true) { match = "left"; } ViewBag.Match = match; return(View()); ERROR1: ViewBag.Error = strError; return(View()); }
public ActionResult BookMsg(string code, string state, string libId, string userName, string subject) { string strError = ""; int nRet = 0; // 检查当前是否已经选择了图书馆绑定了帐号 WxUserItem activeUser = null; nRet = this.GetActive(code, state, out activeUser, out strError); if (nRet == -1) { goto ERROR1; } if (nRet == 0) { ViewBag.RedirectInfo = dp2WeiXinService.GetSelLibLink(state, "/Library/BookMsg"); return(View()); } if (String.IsNullOrEmpty(libId) == true) { strError = "libId参数不能为空"; goto ERROR1; } if (String.IsNullOrEmpty(subject) == true) { strError = "subject参数不能为空"; goto ERROR1; } // 如果当前图书馆是不公开书目,则出现提示 LibEntity lib = dp2WeiXinService.Instance.GetLibById(libId); if (lib == null) { strError = "未设置当前图书馆。"; goto ERROR1; } string weixinId = ViewBag.weixinId; // (string)Session[WeiXinConst.C_Session_WeiXinId]; if (lib.noShareBiblio == 1) { List <WxUserItem> users = WxUserDatabase.Current.Get(weixinId, lib.id, -1); if (users.Count == 0 || (users.Count == 1 && users[0].userName == "public")) { ViewBag.RedirectInfo = dp2WeiXinService.GetLinkHtml("好书推荐", "/Library/BookSubject", lib.libName); return(View()); } } ViewBag.LibId = libId; ViewBag.userName = userName; ViewBag.subject = subject; List <MessageItem> list = new List <MessageItem>(); nRet = dp2WeiXinService.Instance.GetMessage(dp2WeiXinService.C_Group_Book, libId + "/" + activeUser.bindLibraryCode, "", subject, "browse", out list, out strError); if (nRet == -1) { goto ERROR1; } return(View(list)); ERROR1: ViewBag.Error = strError; return(View());//Content(strError); }
// 内务 public ActionResult Charge2(string code, string state) { string strError = ""; int nRet = 0; // 检查当前是否已经选择了图书馆绑定了帐号 WxUserItem activeUser = null; nRet = this.GetActive(code, state, out activeUser, out strError); if (nRet == -1) { goto ERROR1; } if (nRet == 0) { ViewBag.RedirectInfo = dp2WeiXinService.GetSelLibLink(state, "/Library/Charge2"); return(View()); } //绑定的工作人员账号 需要有权限 string weixinId = ViewBag.weixinId;//(string)Session[WeiXinConst.C_Session_WeiXinId]; string libId = ViewBag.LibId; bool canBorrow = true; bool canReturn = true; if (activeUser == null) { strError = "当前活动帐户不存在"; goto ERROR1; } //WxUserItem user = sessionInfo.Active;// WxUserDatabase.Current.GetWorker(weixinId, ViewBag.LibId); // 未绑定 if (activeUser == null || activeUser.userName == "public") { canBorrow = false; canReturn = false; ViewBag.RedirectInfo = dp2WeiXinService.GetLinkHtml("借还窗", "/Library/Charge2", true); return(View()); } if (activeUser.type == WxUserDatabase.C_Type_Worker) { if (activeUser.rights.Contains("borrow") == false) { canBorrow = false; } if (activeUser.rights.Contains("return") == false) { canReturn = false; } } else { //读者如果有权限可以借还,但都不可以还书。 if (activeUser.rights.Contains("return") == false) { canReturn = false; } ViewBag.patronBarcode = activeUser.readerBarcode; } if (canBorrow == false) { ViewBag.canBorrow = "disabled"; } if (canReturn == false) { ViewBag.canReturn = "disabled"; } LibEntity lib = dp2WeiXinService.Instance.GetLibById(libId); if (lib == null) { strError = "未找到id为" + libId + "的图书馆"; goto ERROR1; } // 是否校验条码 //ViewBag.verifyBarcode = lib.verifyBarcode; //设到ViewBag里 string userName = ""; if (activeUser.type == WxUserDatabase.C_Type_Worker) { userName = activeUser.userName; ViewBag.isPatron = 0; } else { userName = activeUser.readerBarcode; ViewBag.isPatron = 1; } ViewBag.userName = userName; ViewBag.userId = activeUser.id; // 关注馆藏去掉前面 //string clearLocs = ""; //if (string.IsNullOrEmpty(user.selLocation) == false) //{ // string[] selLoc = user.selLocation.Split(new char[] { ',' }); // foreach (string loc in selLoc) // { // string tempLoc = ""; // int nIndex = loc.IndexOf('/'); // if (nIndex > 0) // tempLoc = loc.Substring(nIndex+1); // if (clearLocs != "") // clearLocs += ","; // clearLocs += tempLoc; // } //} ViewBag.Location = SubLib.ParseToView(activeUser.selLocation); ViewBag.verifyBarcode = activeUser.verifyBarcode; ViewBag.audioType = activeUser.audioType; return(View(activeUser)); ERROR1: ViewBag.Error = strError; return(View()); }
/// <summary> /// 根据session信息初始化界面信息 /// </summary> /// <param name="sessionInfo"></param> /// <param name="strError"></param> /// <returns> /// -1 出错 /// 0 成功 /// </returns> private int InitViewBag(SessionInfo sessionInfo, bool isCheckLibState, out string strError) { strError = ""; // 书目查询 与 借还 使用 JSSDK try { //if (Request.Path.Contains("/Biblio/Index") == true // || Request.Path.Contains("/Library/Charge2") == true // || Request.Path.Contains("/Account/ScanQRCodeBind") == true) //{ GzhCfg gzh = sessionInfo.gzh; bool bJsReg = JsApiTicketContainer.CheckRegistered(gzh.appId); // 注意这里有时异常 JsSdkUiPackage package = JSSDKHelper.GetJsSdkUiPackage(gzh.appId, gzh.secret, Request.Url.AbsoluteUri);//http://localhost:15794/Library/Charge //http://www.dp2003.com/dp2weixin/Library/Charge ViewData["AppId"] = gzh.appId; ViewData["Timestamp"] = package.Timestamp; ViewData["NonceStr"] = package.NonceStr; ViewData["Signature"] = package.Signature; //} } catch (Exception ex) { } ViewBag.AppName = sessionInfo.gzh.appNameCN; ViewBag.weixinId = sessionInfo.WeixinId; // 没有当前帐户时,直接返回 if (sessionInfo.ActiveUser == null) { return(0); } //===== // 取出上次记住的图书推荐栏目 if (Request.Path == "/Library/Book") { ViewBag.remeberBookSubject = sessionInfo.ActiveUser.bookSubject; } //设到ViewBag里,当前帐户信息 string userName = ""; string userNameInfo = ""; if (sessionInfo.ActiveUser.type == WxUserDatabase.C_Type_Worker) { userName = sessionInfo.ActiveUser.userName; userNameInfo = userName; ViewBag.isPatron = 0; } else { userName = sessionInfo.ActiveUser.readerBarcode; userNameInfo = sessionInfo.ActiveUser.readerName;// +"["+sessionInfo.Active.readerBarcode+"]"; ViewBag.isPatron = 1; } ViewBag.userName = userName; ViewBag.userNameInfo = userNameInfo; ViewBag.userId = sessionInfo.ActiveUser.id; // 2020-2-29 在配置文件中增加读者库配置 string patronDbName = ""; string libName = sessionInfo.ActiveUser.libName;//sessionInfo.CurrentLib.Entity.libName; // 2019/05/06 显示的名称依据libcfg.xml的配置 LibModel libCfg = dp2WeiXinService.Instance._areaMgr.GetLibCfg(sessionInfo.ActiveUser.libId, sessionInfo.ActiveUser.bindLibraryCode); if (libCfg != null) { libName = libCfg.name; patronDbName = libCfg.patronDbName; } ViewBag.PatronDbName = patronDbName; ViewBag.LibName = "[" + libName + "]"; ViewBag.PureLibName = libName; ViewBag.LibId = sessionInfo.ActiveUser.libId; ViewBag.LibraryCode = sessionInfo.ActiveUser.bindLibraryCode; //这里用绑定的图书馆 20180313 // 到期的图书馆应该不会显示出来,所以这一段后面可以删除 2020-2-29 { LibEntity libEntity = sessionInfo.CurrentLib.Entity; //dp2WeiXinService.Instance.GetLibById(libId); if (libEntity != null && libEntity.state == "到期" && Request.Path.Contains("/Patron/SelectOwnerLib") == false) //选择图书馆界面除外 { strError = "服务已到期,请联系图书馆工作人员。"; return(-1); } } ViewBag.LibState = sessionInfo.CurrentLib.IsHangup.ToString(); if (isCheckLibState == true && sessionInfo.CurrentLib.IsHangup == true) { // 获取服务器不通文字描述 string warn = LibraryManager.GetLibHungWarn(sessionInfo.CurrentLib, true); if (string.IsNullOrEmpty(warn) == false) { strError = warn; return(-1); } } return(0); }