public ActionResult AuthorRenderToExcel(AuthorDetailQuery query, string strDict) { try { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.GroupID = 2; query.OrderStr = "AddDate DESC"; IList<AuthorDetailEntity> list = service.GetAuthorDetailList(query); if (list == null || list.Count <= 0) { return Content("没有数据不能导出,请先进行查询!"); } strDict = Server.UrlDecode(strDict); JavaScriptSerializer s = new JavaScriptSerializer(); Dictionary<string, object> JsonData = (Dictionary<string, object>)s.DeserializeObject(strDict); IDictionary<string, string> dict = ((object[])JsonData.First().Value).Select(p => (Dictionary<string, object>)p).ToDictionary(p => p["key"].ToString(), q => q["value"].ToString()); //获取学历[Education]数据字典显示名-dict2[list[i].Education].ToString() ISiteConfigFacadeService service2 = ServiceContainer.Instance.Container.Resolve<ISiteConfigFacadeService>(); DictValueQuery query2 = new DictValueQuery(); query2.JournalID = CurAuthor.JournalID; query2.DictKey = "Education"; IDictionary<int, string> dict2 = service2.GetDictValueDcit(query2); //获取职称[JobTitle]数据字典显示名-dict3[list[i].JobTitle].ToString() DictValueQuery query3 = new DictValueQuery(); query3.JournalID = CurAuthor.JournalID; query3.DictKey = "JobTitle"; IDictionary<int, string> dict3 = service2.GetDictValueDcit(query3); //替换字段内容 if (dict != null && dict.Count > 0) { for (int i = 0; i < list.Count; i++) { if (list[i].AuthorModel.GroupID == 2) list[i].ReserveField2 = "作者"; if (list[i].AuthorModel.Status == 1) list[i].ReserveField3 = "正常"; else list[i].ReserveField3 = "已停用"; list[i].ReserveField4 = dict2[list[i].Education].ToString(); list[i].ReserveField5 = dict3[list[i].JobTitle].ToString(); } } //移除字段 dict.Remove("Education"); dict.Remove("JobTitle"); //开始导出Excel RenderToExcel.ExportListToExcel<AuthorDetailEntity>(list, dict , null , "作者信息_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); return Content("导出成功!"); } catch (Exception ex) { LogProvider.Instance.Error("导出作者信息出现异常:" + ex.Message); return Content("导出作者信息异常!"); } }
/// <summary> /// 激活用户账号 /// </summary> public ActionResult Activate(long AuthorID, string Token) { if (!string.IsNullOrEmpty(Token)) { // 验证令牌正确性 TokenQuery tokenQuery = new TokenQuery(); tokenQuery.JournalID = SiteConfig.SiteID; tokenQuery.AuthorID = AuthorID; tokenQuery.Token = Token; tokenQuery.ExpireDate = DateTime.Now.AddMonths(-3); IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>(); TokenEntity tokenEntity = authorService.GetToken(tokenQuery); if (tokenEntity == null) { return Content("自动登录令牌不存在或已过期,请重新获取登录链接或<a href=\"" + SiteConfig.RootPath + "/\">输入用户名密码进行登录.</a>"); } AuthorInfoEntity currentAuthorEntity = new AuthorInfoEntity() { Status=1,AuthorID=AuthorID,GroupID=2}; //跟新作者账号为有效 authorService.EditMember(currentAuthorEntity); // 保存登录ticket // 验证是否是作者 IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); AuthorDetailQuery authorQuery = new AuthorDetailQuery(); authorQuery.JournalID = SiteConfig.SiteID; authorQuery.GroupID = 2; authorQuery.CurrentPage = 1; authorQuery.PageSize = 1; authorQuery.AuthorIDs = new long[] { AuthorID }; Pager<AuthorDetailEntity> authorPager = service.GetAuthorDetailPageList(authorQuery); if (authorPager != null && authorPager.ItemList.Count == 1) { AuthorInfoEntity authorEntity = new AuthorInfoEntity(); authorEntity.AuthorID = AuthorID; authorEntity.GroupID = 2; authorEntity.JournalID = SiteConfig.SiteID; authorEntity.Status = 1; authorEntity.RealName = authorPager.ItemList[0].AuthorModel.RealName; authorEntity.LoginName = authorPager.ItemList[0].AuthorModel.LoginName; TicketTool.SetCookie(authorEntity.AuthorID.ToString(), JsonConvert.SerializeObject(authorEntity), false); } else { return Content("请确认您的ID正确,或<a href=\"" + SiteConfig.RootPath + "/\">输入用户名密码进行登录.</a>"); } } Response.Redirect(SiteConfig.RootPath + "/", true); return Content(""); }
/// <summary> /// 将查询实体转换为Order语句 /// <param name="query">查询实体</param> /// <returns>获取Order语句,不包含Order</returns> /// </summary> public string AuthorDetailQueryToSQLOrder(AuthorDetailQuery query) { if (query.OrderStr != null && query.OrderStr.Trim() == "AddDate DESC") return "bAddDate DESC"; else return " a.PKID DESC"; }
public AuthorDetailEntity GetModel(AuthorDetailQuery query) { IAuthorDetailService service = ServiceContainer.Instance.Container.Resolve<IAuthorDetailService>(); AuthorDetailEntity model = service.GetAuthorDetailModel(query.AuthorID); return model; }
public ExecResult Del(AuthorDetailQuery query) { IAuthorDetailService service = ServiceContainer.Instance.Container.Resolve<IAuthorDetailService>(); return service.DelAuthorDetail(query.AuthorIDs); }
/// <summary> /// 获取所有符合查询条件的数据 /// </summary> /// <param name="authorDetailQuery">AuthorDetailQuery查询实体对象</param> /// <returns>List<AuthorDetailEntity></returns> public List<AuthorDetailEntity> GetAuthorDetailList(AuthorDetailQuery authorDetailQuery) { return AuthorDetailDataAccess.Instance.GetAuthorDetailList(authorDetailQuery); }
/// <summary> /// 获取审稿单内容 /// </summary> /// <param name="CID"></param> /// <param name="ExpertID"></param> /// <returns></returns> private string GetReviewBillContent(Int64 CID, Int64 EditorID, Int64 ExpertID, Int64 FlowLogID) { StringBuilder strHtml = new StringBuilder(); strHtml.AppendFormat(" <div style=\"text-align: center; font-family: 黑体; font-size: 16px; padding-bottom: 15px;\">《{0}》 审稿单</div>", SiteConfig.SiteName); #region 获取稿件信息 ContributionInfoQuery query = new ContributionInfoQuery(); query.JournalID = CurAuthor.JournalID; query.IsAuxiliary = false; query.CID = CID; IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); var CModel = service.GetContributionInfoModel(query); if (CModel == null) CModel = new ContributionInfoEntity(); #endregion #region 获取作者信息 AuthorDetailQuery query1 = new AuthorDetailQuery(); query1.JournalID = CurAuthor.JournalID; query1.AuthorIDs = new Int64[] { CModel.AuthorID, ExpertID }; var listAuthor = service.GetAuthorDetailList(query1).ToList(); var AModel = listAuthor.Find(p => p.AuthorID == CModel.AuthorID); var EModel = listAuthor.Find(p => p.AuthorID == ExpertID); if (AModel == null) AModel = new AuthorDetailEntity(); if (EModel == null) EModel = new AuthorDetailEntity(); ISiteConfigFacadeService service1 = ServiceContainer.Instance.Container.Resolve<ISiteConfigFacadeService>(); DictValueQuery query2 = new DictValueQuery(); query2.JournalID = SiteConfig.SiteID; query2.DictKey = EnumDictKey.JobTitle.ToString(); IDictionary<int, string> dict = service1.GetDictValueDcit(query2); string jobTitle = dict.ContainsKey(EModel.JobTitle) ? dict[EModel.JobTitle] : string.Empty; #endregion #region 获取审稿日志 IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>(); CirculationEntity cirEntity = new CirculationEntity(); cirEntity.CID = CID; cirEntity.JournalID = JournalID; cirEntity.GroupID = 1; IList<FlowLogInfoEntity> flowLogList = flowService.GetFlowLog(cirEntity); FlowLogInfoEntity LogSendModel = flowLogList.ToList().Find(p => p.FlowLogID == FlowLogID); //var LogModel = flowLogList.ToList().Where(p => p.SendUserID == ExpertID).FirstOrDefault(q => q.TargetStatusID == LogSendModel.TargetStatusID); var LogModel = flowLogList.ToList().Find(p => p.SendUserID == EditorID); if (LogModel == null) LogModel = new FlowLogInfoEntity(); if (LogSendModel == null) LogSendModel = new FlowLogInfoEntity(); #endregion strHtml.Append(flowService.GetReviewBillContentHead(CurAuthor.JournalID, ExpertID, CID)); strHtml.AppendFormat("<div style=\"padding: 0px 0px 5px 0px; font-size: 11pt; font-family: Times New Roman;\">稿件编号:{0}</div>" , CModel.CNumber); strHtml.Append("<table border=\"0\" class=\"mainTable\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\" width=\"100%\">"); strHtml.AppendFormat("<tr><td class=\"left\">稿件标题:</td><td class=\"right\" style=\"font-weight: bolder;\" colspan=\"3\">{0}</td></tr>" , CModel.Title); strHtml.AppendFormat("<tr><td class=\"left\">送审日期:</td><td class=\"right\">{0}</td><td class=\"left_m\">审毕日期:</td><td class=\"right\">{1}</td></tr>" , LogModel.AddDate, LogModel.DealDate); strHtml.AppendFormat("<tr><td class=\"left\">作者姓名:</td><td class=\"right\">{0}</td><td class=\"left_m\">单位:</td><td class=\"right\">{1}</td></tr>" , AModel.AuthorName, AModel.WorkUnit); strHtml.AppendFormat("<tr><td class=\"left\" style=\"width: 80px;\">对本稿的总评价:</td><td class=\"right\" style=\"padding: 5px 0px 10px 5px;\" colspan=\"3\">"); IFlowFacadeService service2 = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>(); strHtml.Append(service2.GetReviewBillContentStr(CurAuthor.JournalID, ExpertID, CID)); strHtml.Append("</td></tr>"); strHtml.Append("<tr><td class=\"left\" style=\"width: 80px;\">审稿意见:</td><td class=\"right\" style=\"padding: 5px 0px 10px 5px;\" colspan=\"3\">"); strHtml.Append(LogSendModel.DealAdvice); strHtml.Append("</td></tr>"); strHtml.AppendFormat("<tr><td class=\"left\">审稿人姓名:</td><td class=\"right\">{0}</td><td class=\"left_m\">身份证号:</td><td class=\"right\">{1}</td></tr>" , EModel.AuthorName, EModel.IDCard); strHtml.AppendFormat("<tr><td class=\"left\">联系电话:</td><td class=\"right\">{0}</td><td class=\"left_m\">Email:</td><td class=\"right\">{1}</td></tr>" , EModel.Mobile, EModel.AuthorModel.LoginName); strHtml.AppendFormat("<tr><td class=\"left\">通讯地址:</td><td class=\"right\">{0}</td><td class=\"left_m\">邮政编码:</td><td class=\"right\">{1}</td></tr>" , EModel.Address, EModel.ZipCode); strHtml.AppendFormat("<tr><td class=\"left\">研究方向:</td><td class=\"right\">{0}</td><td class=\"left_m\">职称:</td><td class=\"right\">{1}</td></tr>" , EModel.ResearchTopics, jobTitle); strHtml.Append("</table>"); return strHtml.ToString(); }
/// <summary> /// 获取作者Model /// </summary> /// <param name="AuthorID"></param> /// <returns></returns> private AuthorDetailEntity GetModel(Int64 AuthorID) { AuthorDetailEntity model = null; if (AuthorID > 0) { AuthorDetailQuery query = new AuthorDetailQuery(); query.JournalID = CurAuthor.JournalID; query.AuthorID = AuthorID; IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); model = service.GetAuthorDetailModel(query); } if (model == null) model = new AuthorDetailEntity(); IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>(); var list = authorService.GetFieldsSet(); if (list == null) list = new List<FieldsSet>(); list.Insert(0, new FieldsSet { DisplayName = "中文姓名", FieldName = "中文姓名", DBField = "AuthorName", IsShow = true, IsRequire = true }); model.FieldList = list.Where(p => p.IsShow).ToList(); if (model.AuthorModel == null) model.AuthorModel = new AuthorInfoEntity(); if (model.ExpertGroupList == null) model.ExpertGroupList = new List<ExpertGroupMapEntity>(); return model; }
/// <summary> /// 分页获取符合查询条件的数据 /// </summary> /// <param name="authorDetailQuery">AuthorDetailQuery查询实体对象</param> /// <returns>Pager<AuthorDetailEntity></returns> public Pager<AuthorDetailEntity> GetAuthorDetailPageList(AuthorDetailQuery authorDetailQuery) { return AuthorDetailBusProvider.GetAuthorDetailPageList(authorDetailQuery); }
/// <summary> /// 投稿主页 /// </summary> /// <param name="CID"></param> /// <returns></returns> public ActionResult Index(Int64 CID = 0) { var model = GetModelForModify(CID); var IsModifyFormat = Request["IsModifyFormat"]; if( (model.Status > 0) && (model.Status != 100) ) { return base.Content("当前稿件状态下不允许编辑!"); } if (model.Status <= 0 || model.Status == 100) { if (model.AuthorList == null || model.AuthorList.Count < 1) { if (CID == 0) { var authorModel = GetAuthorDetailModel(); if (authorModel.PKID == 0)/// TODO:因为提取用户详情信息时是左联,所以这里用详细信息中的必填项来判断是否设置了详情信息 { return Content("为了方便编辑与您联系,请先完善您的个人信息!<a href=\"" + SiteConfig.RootPath + "/AuthorDetail/UpdateSelf/\">设置个人信息</a>"); } model.AuthorList = new List<ContributionAuthorEntity>() { new ContributionAuthorEntity() { AuthorName = authorModel.AuthorName, Gender=authorModel.Gender, Birthday=authorModel.Birthday, Nation=authorModel.Nation, NativePlace=authorModel.NativePlace, WorkUnit=authorModel.WorkUnit, Tel=authorModel.Tel, Email=authorModel.Emial, SectionOffice=authorModel.SectionOffice, ZipCode=authorModel.ZipCode, Address=authorModel.Address } }; } else { model.AuthorList = new List<ContributionAuthorEntity>() { new ContributionAuthorEntity() { AuthorName = CurAuthor.RealName } }; } } if (model.ReferenceList == null || model.ReferenceList.Count < 1) model.ReferenceList = new List<ContributionReferenceEntity>() { new ContributionReferenceEntity() }; if (model.FundList == null || model.FundList.Count < 1) model.FundList = new List<ContributionFundEntity>() { new ContributionFundEntity() }; if (model.AttModel == null) model.AttModel = new ContributionInfoAttEntity(); ViewBag.QQ = SiteConfig.QQ; ViewBag.IsModifyFormat = IsModifyFormat; if(CurAuthor.JournalID==20130107001) { AuthorDetailQuery authorDetailQuery = new AuthorDetailQuery(); authorDetailQuery.JournalID = CurAuthor.JournalID; authorDetailQuery.AuthorID = CurAuthor.AuthorID; IAuthorPlatformFacadeService AuthorService = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); ViewBag.Province = AuthorService.GetAuthorDetailModel(authorDetailQuery).Province;//获取作者地址以用于学科分类 } return View(model); } else { return Content("当前稿件状态下不允许编辑!"); } }
/// <summary> /// 设置作者为专家 /// </summary> /// <param name="query"></param> /// <returns></returns> public bool SetAuthorExpert(AuthorDetailQuery query) { bool flag = false; try { DbCommand cmd = db.GetStoredProcCommand("UP_SetAuthorExpert"); db.AddInParameter(cmd, "@JournalID", DbType.Int64, query.JournalID); db.AddInParameter(cmd, "@AuthorIDs", DbType.String, string.Join(",", query.AuthorIDs)); db.ExecuteNonQuery(cmd); flag = true; } catch (Exception ex) { throw ex; } return flag; }
public Pager<AuthorDetailEntity> GetAuthorDetailPageList(AuthorDetailQuery query) { string tableSql = @"SELECT {0} FROM dbo.AuthorDetail a with(nolock) RIGHT JOIN dbo.AuthorInfo b with(nolock) ON a.JournalID=b.JournalID and a.AuthorID=b.AuthorID"; string where = AuthorDetailQueryToSQLWhere(query); if (!string.IsNullOrWhiteSpace(where)) tableSql += " WHERE " + where; string strSql = string.Format(tableSql, "b.AuthorID as bAuthorID,b.JournalID as bJournalID,b.LoginName,b.Pwd,b.RealName,b.LoginIP,b.LoginCount,b.LoginDate,b.Status,b.GroupID,b.AddDate as bAddDate,a.PKID,a.AuthorID,a.AuthorName,a.EnglishName,(case when a.Gender=1 then '男' when a.Gender=0 then '女' end) as Gender,a.Nation,a.Birthday,a.NativePlace,a.Province,a.City,a.Area,a.IDCard,a.Address,a.ZipCode,a.Mobile,a.Tel,a.Fax,a.Education,a.Professional,a.JobTitle,a.Job,a.ResearchTopics,a.WorkUnit,a.WorkUnitLevel,a.SectionOffice,a.InvoiceUnit,a.Mentor,a.Remark,a.AuthorOpus,a.QQ,a.MSN,a.ReserveField,a.ReserveField1,a.ReserveField2,a.ReserveField3,a.ReserveField4,a.ReserveField5,ROW_NUMBER() OVER(ORDER BY " + AuthorDetailQueryToSQLOrder(query) + ") AS ROW_ID") , sumStr = string.Format(tableSql, "RecordCount=COUNT(1)"); return db.GetPageList<AuthorDetailEntity>(string.Format(SQL_Page_Select, strSql, query.StartIndex, query.EndIndex) , sumStr , query.CurrentPage, query.PageSize , (dr, pager) => { pager.TotalRecords = TypeParse.ToLong(dr["RecordCount"]); } , MakeAuthorDetailList); }
public List<AuthorDetailEntity> GetAuthorDetailList(AuthorDetailQuery query) { string strSql = @"SELECT b.AuthorID as bAuthorID,b.JournalID as bJournalID,b.LoginName,b.Pwd,b.RealName,b.LoginIP,b.LoginCount,b.LoginDate,b.Status,b.GroupID,b.AddDate as bAddDate,a.PKID,a.AuthorID,a.AuthorName,a.EnglishName,(case when a.Gender=1 then '男' when a.Gender=0 then '女' end) as Gender,a.Nation,a.Birthday,a.NativePlace,a.Province,a.City,a.Area,a.IDCard,a.Address,a.ZipCode,a.Mobile,a.Tel,a.Fax,a.Education,a.Professional,a.JobTitle,a.Job,a.ResearchTopics,a.WorkUnit,a.WorkUnitLevel,a.SectionOffice,a.InvoiceUnit,a.Mentor,a.Remark,a.AuthorOpus,a.QQ,a.MSN,a.ReserveField,a.ReserveField1,a.ReserveField2,a.ReserveField3,a.ReserveField4,a.ReserveField5 FROM dbo.AuthorDetail a with(nolock) RIGHT JOIN dbo.AuthorInfo b with(nolock) ON a.JournalID=b.JournalID and a.AuthorID=b.AuthorID"; string where = AuthorDetailQueryToSQLWhere(query); if (!string.IsNullOrWhiteSpace(where)) strSql += " WHERE " + where; strSql += " ORDER BY " + AuthorDetailQueryToSQLOrder(query); return db.GetList<AuthorDetailEntity>(strSql, MakeAuthorDetailList); }
/// <summary> /// 将查询实体转换为Where语句 /// <param name="query">查询实体</param> /// <returns>获取Where语句,不包含Where</returns> /// </summary> public string AuthorDetailQueryToSQLWhere(AuthorDetailQuery query) { StringBuilder strFilter = new StringBuilder(" b.JournalID=" + query.JournalID); if (query.GroupID != null) { if (query.GroupID.Value == 3) { strFilter.Append(@" and (b.GroupID=3 or exists(select 1 from dbo.RoleAuthor m with(nolock) WHERE b.JournalID=m.JournalID and b.AuthorID=m.AuthorID and m.RoleID=3))"); } else { strFilter.Append(" and b.GroupID=").Append(query.GroupID.Value); } } if (query.Status != null) strFilter.Append(" and b.Status=").Append(query.Status.Value); query.LoginName = query.LoginName.TextFilter(); if (!string.IsNullOrWhiteSpace(query.LoginName)) strFilter.AppendFormat(" and b.LoginName like '%{0}%'", query.LoginName); query.RealName = query.RealName.TextFilter(); if (!string.IsNullOrWhiteSpace(query.RealName)) strFilter.AppendFormat(" and b.RealName like '%{0}%'", query.RealName); query.WorkUnit = query.WorkUnit.TextFilter(); if (!string.IsNullOrWhiteSpace(query.WorkUnit)) strFilter.AppendFormat(" and a.WorkUnit like '%{0}%'", query.WorkUnit); query.Mobile = query.Mobile.TextFilter(); if (!string.IsNullOrWhiteSpace(query.Mobile)) strFilter.AppendFormat(" and b.Mobile like '%{0}%'", query.Mobile); query.Address = query.Address.TextFilter(); if (!string.IsNullOrWhiteSpace(query.Address)) strFilter.AppendFormat(" and a.Address like '%{0}%'", query.Address); query.ZipCode = query.ZipCode.TextFilter(); if (!string.IsNullOrWhiteSpace(query.ZipCode)) strFilter.AppendFormat(" and a.ZipCode like '%{0}%'", query.ZipCode); if (query.AuthorIDs != null && query.AuthorIDs.Length > 0) { if (query.AuthorIDs.Length == 1) { strFilter.Append(" and b.AuthorID=").Append(query.AuthorIDs[0]); } else { strFilter.Append(" and b.AuthorID in (").Append(string.Join(",", query.AuthorIDs)).Append(")"); } } return strFilter.ToString(); }
public ActionResult SetExpert(Int64[] AuthorIDs) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); AuthorDetailQuery query = new AuthorDetailQuery(); query.JournalID = CurAuthor.JournalID; query.AuthorIDs = AuthorIDs; ExecResult result = service.SetAuthorExpert(query); return Json(new { result = result.result, msg = result.msg }); }
/// <summary> /// 取消作者为专家信息 /// </summary> /// <param name="query"></param> /// <returns></returns> public ExecResult CancelAuthorExpert(AuthorDetailQuery query) { ExecResult result = new ExecResult(); if (query.AuthorIDs == null) { result.result = EnumJsonResult.failure.ToString(); result.msg = "没有选择设置的作者数据!"; return result; } bool flag = AuthorDetailBusProvider.CancelAuthorExpert(query); if (flag) { result.result = EnumJsonResult.success.ToString(); result.msg = "取消设置成功!"; } else { result.result = EnumJsonResult.success.ToString(); result.msg = "取消设置失败!"; } return result; }
/// <summary> /// 获取作者详细信息实体 /// </summary> /// <param name="loginAuthor"></param> /// <returns></returns> public AuthorDetailEntity GetAuthorDetailModel(AuthorDetailQuery query) { HttpClientHelper clientHelper = new HttpClientHelper(); AuthorDetailEntity model = clientHelper.PostAuth<AuthorDetailEntity, AuthorDetailQuery>(GetAPIUrl(APIConstant.AUTHORDETAIL_GETMODEL), query); return model; }
/// <summary> /// 打印信封 /// </summary> /// <param name="CID"></param> /// <returns></returns> public ActionResult PrintEnvelope(string AuthorIDStr) { if (string.IsNullOrWhiteSpace(AuthorIDStr)) { ViewBag.EnvelopeContent = "请选择需要打印的稿件信息"; return View(); } Int64[] AuthorIDs = AuthorIDStr.Split(',').Where(p => !string.IsNullOrWhiteSpace(p)) .Select(p => TypeParse.ToLong(p)).ToArray(); if (AuthorIDs == null || AuthorIDs.Length == 0) { ViewBag.EnvelopeContent = "请选择需要打印的稿件信息"; return View(); } //获取模版 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Utils.GetMapPath(SiteConfig.RootPath + "/data/envelopetemplate.config")); XmlNode envelopeNode = xmlDoc.SelectSingleNode("envelope"); //获取站点信息 ISiteConfigFacadeService service = ServiceContainer.Instance.Container.Resolve<ISiteConfigFacadeService>(); SiteConfigEntity siteModel = service.GetSiteConfigModel(new SiteConfigQuery() { JournalID = CurAuthor.JournalID }); if (siteModel == null) { ViewBag.EnvelopeContent = "请配置站点信息"; return View(); } //获取数据 IAuthorPlatformFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); AuthorDetailQuery query = new AuthorDetailQuery(); query.JournalID = CurAuthor.JournalID; query.AuthorIDs = AuthorIDs; IList<AuthorDetailEntity> list = authorService.GetAuthorDetailList(query); if (list == null || list.Count == 0) { ViewBag.EnvelopeContent = "获取接收人信息失败"; return View(); } //替换内容 StringBuilder strHtml = new StringBuilder(); foreach (var model in list) { strHtml.Append(envelopeNode.InnerText .Replace("${接收邮编}$", model.ZipCode) .Replace("${接收地址}$", model.Address) .Replace("${接收人}$", model.AuthorModel.RealName) .Replace("${编辑部地址}$", siteModel.Address) .Replace("${站点名称}$", siteModel.Title) .Replace("${编辑部邮编}$", siteModel.ZipCode)); } ViewBag.EnvelopeContent = strHtml.ToString(); return View(); }
/// <summary> /// 获取作者详细信息分页数据 /// </summary> /// <param name="query"></param> /// <returns></returns> public Pager<AuthorDetailEntity> GetAuthorDetailPageList(AuthorDetailQuery query) { HttpClientHelper clientHelper = new HttpClientHelper(); Pager<AuthorDetailEntity> pager = clientHelper.Post<Pager<AuthorDetailEntity>, AuthorDetailQuery>(GetAPIUrl(APIConstant.AUTHORDETAIL_GETPAGELIST), query); return pager; }
/// <summary> /// 取消作者为专家 /// </summary> /// <param name="query"></param> /// <returns></returns> public bool CancelAuthorExpert(AuthorDetailQuery query) { return AuthorDetailDataAccess.Instance.CancelAuthorExpert(query); }
/// <summary> /// 设置作者为专家 /// </summary> /// <param name="query"></param> /// <returns></returns> public ExecResult SetAuthorExpert(AuthorDetailQuery query) { HttpClientHelper clientHelper = new HttpClientHelper(); ExecResult result = clientHelper.Post<ExecResult, AuthorDetailQuery>(GetAPIUrl(APIConstant.AUTHOR_SETEXPERT), query); return result; }
public ActionResult SendIssueListSelectAuthor(string RecEmail, string Content) { ISiteConfigFacadeService service = ServiceContainer.Instance.Container.Resolve<ISiteConfigFacadeService>(); MessageRecodeEntity model = new MessageRecodeEntity(); model.ReciveAddress = RecEmail; model.JournalID = CurAuthor.JournalID; model.MsgType = 1; model.MsgTitle = "《" + SiteConfig.SiteName + "》期刊目录推送"; model.MsgContent = Content; ExecResult result = new ExecResult(); var strList = RecEmail.Split(',').Where(p => !string.IsNullOrWhiteSpace(p)).ToList(); IAuthorPlatformFacadeService AuthorService = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); AuthorDetailQuery query = new AuthorDetailQuery(); query.JournalID = CurAuthor.JournalID; query.CurrentPage = 1; query.PageSize = 1; for (int i = 0; i < strList.Count; i++) { query.LoginName = strList[i]; Pager<AuthorDetailEntity> pager = AuthorService.GetAuthorDetailPageList(query); if (i == 0) Content = Content.Replace("%Name%", pager.ItemList[0].AuthorName); else { query.LoginName = strList[i - 1]; Pager<AuthorDetailEntity> pagerTemp = AuthorService.GetAuthorDetailPageList(query); Content = Content.Replace(pagerTemp.ItemList[0].AuthorName, pager.ItemList[0].AuthorName); } service.SendEmail("《" + SiteConfig.SiteName + "》期刊目录推送", Content, strList[i], SiteConfig.SiteName, CurAuthor.JournalID); } return Json(new { flag = 1 }); }
/// <summary> /// 删除作者详细信息 /// </summary> /// <param name="query"></param> /// <returns></returns> public ExecResult DelAuthorDetail(AuthorDetailQuery query) { HttpClientHelper clientHelper = new HttpClientHelper(); ExecResult result = clientHelper.Post<ExecResult, AuthorDetailQuery>(GetAPIUrl(APIConstant.AUTHORDETAIL_DEL), query); return result; }
public ExecResult CancelExpert(AuthorDetailQuery query) { IAuthorDetailService service = ServiceContainer.Instance.Container.Resolve<IAuthorDetailService>(); return service.CancelAuthorExpert(query); }
/// <summary> /// 获取作者详细信息数据 /// </summary> /// <param name="query"></param> /// <returns></returns> public IList<AuthorDetailEntity> GetAuthorDetailList(AuthorDetailQuery query) { HttpClientHelper clientHelper = new HttpClientHelper(); IList<AuthorDetailEntity> list = clientHelper.Post<IList<AuthorDetailEntity>, AuthorDetailQuery>(GetAPIUrl(APIConstant.AUTHORDETAIL_GETLIST), query); return list; }
public IList<AuthorDetailEntity> GetList(AuthorDetailQuery query) { IAuthorDetailService service = ServiceContainer.Instance.Container.Resolve<IAuthorDetailService>(); IList<AuthorDetailEntity> list = service.GetAuthorDetailList(query); return list; }
public ActionResult GetExpertPageList(AuthorDetailQuery query) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.CurrentPage = Convert.ToInt32(Request.Params["page"]); query.PageSize = Convert.ToInt32(Request.Params["pagesize"]); Pager<AuthorDetailEntity> pager = service.GetAuthorDetailPageList(query); return Json(new { Rows = pager.ItemList, Total = pager.TotalRecords }); }
public Pager<AuthorDetailEntity> GetPageList(AuthorDetailQuery query) { IAuthorDetailService service = ServiceContainer.Instance.Container.Resolve<IAuthorDetailService>(); Pager<AuthorDetailEntity> pager = service.GetAuthorDetailPageList(query); return pager; }
/// <summary> /// 获取作者信息 /// </summary> /// <param name="userList"></param> /// <param name="isEmail"></param> /// <returns></returns> private IDictionary<Int64, string> GetAuthorDcit(IList<Int64> userList, Int64 JournalID, bool isEmail) { if (isEmail) { AuthorInfoQuery query = new AuthorInfoQuery(); query.AuthorIDs = userList.Distinct().ToArray(); query.JournalID = JournalID; query.PageSize = userList.Count; query.CurrentPage = 1; AuthorFacadeAPIService service = new AuthorFacadeAPIService(); var list = service.GetAuthorList(query).ItemList; if (list == null || list.Count == 0) return null; return list.Where(p => !string.IsNullOrWhiteSpace(p.LoginName)) .ToDictionary(p => p.AuthorID, q => q.LoginName); } else { AuthorDetailQuery query = new AuthorDetailQuery(); query.AuthorIDs = userList.Distinct().ToArray(); query.JournalID = JournalID; query.PageSize = userList.Count; query.CurrentPage = 1; AuthorPlatformFacadeAPIService service = new AuthorPlatformFacadeAPIService(); var list = service.GetAuthorDetailList(query); return list.Where(p => !string.IsNullOrWhiteSpace(p.Mobile)) .Where(p => p.Mobile.IsMobilePhone()) .ToDictionary(p => p.AuthorID, q => q.Mobile); } }