/// <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(""); }
public bool AddAuthorInfo(AuthorInfoEntity authorInfoEntity) { bool flag = false; DbCommand cmd = null; if (authorInfoEntity.RoleID != null) // 编辑部成员注册 { cmd = db.GetStoredProcCommand("dbo.UP_AddJournalMember"); db.AddInParameter(cmd, "@JournalID", DbType.Int64, authorInfoEntity.JournalID); db.AddInParameter(cmd, "@LoginName", DbType.AnsiString, authorInfoEntity.LoginName); db.AddInParameter(cmd, "@Pwd", DbType.AnsiString, authorInfoEntity.Pwd); db.AddInParameter(cmd, "@RealName", DbType.AnsiString, authorInfoEntity.RealName); db.AddInParameter(cmd, "@Mobile", DbType.AnsiString, authorInfoEntity.Mobile); db.AddInParameter(cmd, "@RoleID", DbType.Int64, authorInfoEntity.RoleID.Value); db.AddInParameter(cmd, "@GroupID", DbType.Int16, authorInfoEntity.GroupID); } else // 普通作者注册 { StringBuilder sqlCommandText = new StringBuilder(); sqlCommandText.Append(" @JournalID"); sqlCommandText.Append(", @LoginName"); sqlCommandText.Append(", @Pwd"); sqlCommandText.Append(", @RealName"); sqlCommandText.Append(", @Mobile"); sqlCommandText.Append(", @Status"); cmd = db.GetSqlStringCommand(String.Format("INSERT INTO dbo.AuthorInfo ({0}) VALUES ({1})", sqlCommandText.ToString().Replace("@", ""), sqlCommandText.ToString())); db.AddInParameter(cmd, "@JournalID", DbType.Int64, authorInfoEntity.JournalID); db.AddInParameter(cmd, "@LoginName", DbType.AnsiString, authorInfoEntity.LoginName); db.AddInParameter(cmd, "@Pwd", DbType.AnsiString, authorInfoEntity.Pwd); db.AddInParameter(cmd, "@RealName", DbType.AnsiString, authorInfoEntity.RealName); db.AddInParameter(cmd, "@Mobile", DbType.AnsiString, authorInfoEntity.Mobile); db.AddInParameter(cmd, "@Status", DbType.Byte, authorInfoEntity.Status); } try { db.ExecuteNonQuery(cmd); flag = true; } catch (SqlException sqlEx) { throw sqlEx; } return flag; }
/// <summary> /// 修改成员信息 /// </summary> /// <param name="authorInfoEntity"></param> /// <returns></returns> public bool UpdateMembaerInfo(AuthorInfoEntity authorInfoEntity) { bool flag = false; if (authorInfoEntity.GroupID == 2) { return NewUpdateAuthorInfo(authorInfoEntity); } DbCommand cmd = db.GetStoredProcCommand("dbo.UP_EditMemberInfo"); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, authorInfoEntity.AuthorID); db.AddInParameter(cmd, "@JournalID", DbType.Int64, authorInfoEntity.JournalID); db.AddInParameter(cmd, "@LoginName", DbType.AnsiString, authorInfoEntity.LoginName); db.AddInParameter(cmd, "@Pwd", DbType.AnsiString, string.IsNullOrEmpty(authorInfoEntity.Pwd) ? "" : WKT.Common.Security.MD5Handle.Encrypt(authorInfoEntity.Pwd)); db.AddInParameter(cmd, "@RealName", DbType.AnsiString, authorInfoEntity.RealName); db.AddInParameter(cmd, "@Mobile", DbType.AnsiString, authorInfoEntity.Mobile); db.AddInParameter(cmd, "@OldRoleID", DbType.Int64, authorInfoEntity.OldRoleID); db.AddInParameter(cmd, "@RoleID", DbType.Int64, authorInfoEntity.RoleID.Value); db.AddInParameter(cmd, "@Status", DbType.Int16, authorInfoEntity.Status); try { db.ExecuteNonQuery(cmd); flag = true; } catch (SqlException sqlEx) { throw sqlEx; } return flag; }
public AuthorInfoEntity MakeAuthorInfo(IDataReader dr) { AuthorInfoEntity authorInfoEntity = new AuthorInfoEntity(); if (dr.HasColumn("bAuthorID")) { authorInfoEntity.AuthorID = dr.GetDrValue<Int64>("bAuthorID"); } if (dr.HasColumn("bJournalID")) { authorInfoEntity.JournalID = dr.GetDrValue<Int64>("bJournalID"); } authorInfoEntity.LoginName = dr.GetDrValue<String>("LoginName"); authorInfoEntity.Pwd = dr.GetDrValue<String>("Pwd"); authorInfoEntity.RealName = dr.GetDrValue<String>("RealName"); authorInfoEntity.Mobile = dr.GetDrValue<String>("Mobile"); authorInfoEntity.LoginIP = dr.GetDrValue<String>("LoginIP"); authorInfoEntity.LoginCount = dr.GetDrValue<Int32>("LoginCount"); authorInfoEntity.LoginDate = dr.GetDrValue<DateTime>("LoginDate"); authorInfoEntity.Status = dr.GetDrValue<Byte>("Status"); authorInfoEntity.GroupID = dr.GetDrValue<Byte>("GroupID"); if (dr.HasColumn("bAddDate")) { authorInfoEntity.AddDate = dr.GetDrValue<DateTime>("bAddDate"); } return authorInfoEntity; }
/// <summary> /// 修改登录信息 /// </summary> /// <param name="AdminID"></param> /// <param name="NewPwd"></param> /// <returns></returns> public bool UpdateLoginInfo(AuthorInfoEntity authorItem) { bool flag = false; string sql = "UPDATE dbo.AuthorInfo SET LoginDate=@LoginDate,LoginCount=LoginCount+1,LoginIP=@LoginIP WHERE AuthorID=@AuthorID AND JournalID=@JournalID "; DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, authorItem.AuthorID); db.AddInParameter(cmd, "@JournalID", DbType.Int64, authorItem.JournalID); db.AddInParameter(cmd, "@LoginIP", DbType.AnsiString, authorItem.LoginIP); db.AddInParameter(cmd, "@LoginDate", DbType.DateTime, authorItem.LoginDate); try { db.ExecuteNonQuery(cmd); flag = true; } catch (SqlException sqlEx) { throw sqlEx; } return flag; }
public AuthorInfoEntity GetMemberInfo(AuthorInfoQuery authorQueryEntity) { AuthorInfoEntity authorEntity = new AuthorInfoEntity(); try { IAuthorInfoService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorInfoService>(); authorEntity = authorService.GetMemberInfo(authorQueryEntity); } catch (Exception ex) { authorEntity = null; WKT.Log.LogProvider.Instance.Error("获取编辑部成员信息出现异常:" + ex.Message); } return authorEntity; }
public ExecResult Reg(AuthorInfoEntity authorEntity) { ExecResult execResult = new ExecResult(); try { IAuthorInfoService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorInfoService>(); AuthorInfoQuery queryAuthor = new AuthorInfoQuery(); queryAuthor.LoginName = authorEntity.LoginName; queryAuthor.JournalID = authorEntity.JournalID; IList<AuthorInfoEntity> list = authorService.GetAuthorInfoList(queryAuthor); if (list != null && list.Count > 0) { execResult.result = EnumJsonResult.failure.ToString(); execResult.msg = "该登录邮箱已经存在"; } else { authorEntity.Pwd = WKT.Common.Security.MD5Handle.Encrypt(authorEntity.Pwd); authorService.AddAuthorInfo(authorEntity); execResult.result = EnumJsonResult.success.ToString(); execResult.msg = "注册成功"; } } catch (Exception ex) { execResult.result = EnumJsonResult.error.ToString(); execResult.msg = "注册失败:" + ex.Message; LogProvider.Instance.Error("作者注册出现异常:" + ex.Message); } return execResult; }
/// <summary> /// 编辑、专家处理稿件明细 /// </summary> /// <param name="query"></param> /// <returns></returns> public IList<StatDealContributionDetailEntity> GetDealContributionDetail(StatQuery query) { IList<StatDealContributionDetailEntity> authorStatList = new List<StatDealContributionDetailEntity>(); DbCommand cmd = null; AuthorInfoEntity authorEntity = GetAuthorInfo(new AuthorInfoQuery { AuthorID = query.AuthorID, JournalID = query.JournalID }); if (authorEntity == null) { authorEntity = new AuthorInfoEntity(); } if (authorEntity.GroupID == 3) { cmd = db.GetStoredProcCommand("UP_GetContributionDealDetail_Expert"); } else { if (query.Status > 1) { cmd = db.GetStoredProcCommand("UP_GetContributionDealDetail_Editor"); } else { cmd = db.GetStoredProcCommand("UP_GetContributionDealDetail"); } } db.AddInParameter(cmd, "@JournalID", DbType.Int64, query.JournalID); db.AddInParameter(cmd, "@Status", DbType.Int32, query.Status); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, query.AuthorID); db.AddInParameter(cmd, "@StartDate", DbType.DateTime, query.StartDate == null ? Convert.ToDateTime("2000-01-01") : query.StartDate); db.AddInParameter(cmd, "@EndDate", DbType.DateTime, query.EndDate == null ? DateTime.Now.AddDays(1) : query.EndDate.Value.AddDays(1)); using (IDataReader dr = db.ExecuteReader(cmd)) { while (dr.Read()) { StatDealContributionDetailEntity item = new StatDealContributionDetailEntity(); item.CID = TypeParse.ToLong(dr["CID"]); item.CNumber = dr["CNumber"].ToString(); item.Title = dr["Title"].ToString(); item.StatusName = dr["StatusName"].ToString(); if (dr.HasColumn("Adddate")) { item.DealDate = TypeParse.ToDateTime(dr["Adddate"]); } else { item.DealDate = TypeParse.ToDateTime(dr["DealDate"]); } authorStatList.Add(item); } dr.Close(); } return authorStatList; }
public ActionResult AddMemberAjax(AuthorInfoEntity authorEntity) { ExecResult regResult = new ExecResult(); authorEntity.JournalID = SiteConfig.SiteID; authorEntity.GroupID = (int)EnumMemberGroup.Editor; IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>(); regResult = authorService.AuthorReg(authorEntity); return Content(JsonConvert.SerializeObject(regResult)); }
/// <summary> /// 从存储媒介删除实体数据 /// </summary> /// <param name="authorInfo">AuthorInfoEntity实体对象</param> /// <returns>true:删除成功 false:删除失败</returns> public bool DeleteAuthorInfo(AuthorInfoEntity authorInfo) { return AuthorInfoBusProvider.DeleteAuthorInfo(authorInfo); }
/// <summary> /// 编辑成员 /// </summary> /// <param name="queryRole"></param> /// <returns></returns> public ExecResult EditMember(AuthorInfoEntity authorEntity) { HttpClientHelper clientHelper = new HttpClientHelper(); ExecResult execResult = clientHelper.PostAuth<ExecResult, AuthorInfoEntity>(GetAPIUrl(APIConstant.SYSEDITMEMBERINFO), authorEntity); return execResult; }
/// <summary> /// 修改密码 /// </summary> /// <param name="authorItem"></param> /// <returns></returns> public bool UpdatePwd(AuthorInfoEntity authorItem) { return AuthorInfoBusProvider.UpdatePwd(authorItem); }
/// <summary> /// 将实体数据存入存储媒介(持久化一个对象) /// </summary> /// <param name="authorInfo">AuthorInfoEntity实体对象</param> /// <returns>true:存储成功 false:存储失败</returns> public bool AddAuthorInfo(AuthorInfoEntity authorInfo) { return AuthorInfoBusProvider.AddAuthorInfo(authorInfo); }
/// <summary> /// 修改成员信息 /// </summary> /// <param name="authorInfoEntity"></param> /// <returns></returns> public bool UpdateMembaerInfo(AuthorInfoEntity authorInfoEntity) { return AuthorInfoBusProvider.UpdateMembaerInfo(authorInfoEntity); }
/// <summary> /// 修改登录信息 /// </summary> /// <param name="authorItem"></param> public bool UpdateLoginInfo(AuthorInfoEntity authorItem) { return AuthorInfoBusProvider.UpdateLoginInfo(authorItem); }
/// <summary> /// 更新存储媒介中的实体数据 /// </summary> /// <param name="authorInfo">AuthorInfoEntity实体对象</param> /// <returns>true:更新成功 false:更新失败</returns> public bool UpdateAuthorInfo(AuthorInfoEntity authorInfo) { return AuthorInfoBusProvider.UpdateAuthorInfo(authorInfo); }
/// <summary> /// 修改密码 /// </summary> /// <param name="AdminID"></param> /// <param name="NewPwd"></param> /// <returns></returns> public bool UpdatePwd(AuthorInfoEntity authorItem) { bool flag = false; string sql = "UPDATE dbo.AuthorInfo SET Pwd=@Pwd WHERE AuthorID=@AuthorID AND JournalID=@JournalID"; DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, authorItem.AuthorID); db.AddInParameter(cmd, "@JournalID", DbType.Int64, authorItem.JournalID); db.AddInParameter(cmd, "@Pwd", DbType.AnsiString, authorItem.Pwd); try { db.ExecuteNonQuery(cmd); flag = true; } catch (SqlException sqlEx) { throw sqlEx; } return flag; }
/// <summary> /// 获取专家列表 /// </summary> /// <param name="query"></param> /// <returns></returns> public Pager<AuthorInfoEntity> GetExpertPageList(AuthorInfoQuery query) { int recordCount = 0; string sql = ""; // string sql = @" // SELECT ai.AuthorID,ai.Mobile,ai.LoginName,ai.RealName, // (SELECT ( SELECT dv.ValueText + ',' // FROM dbo.ExpertGroupMap e WITH(NOLOCK) // INNER JOIN dbo.DictValue dv WITH(NOLOCK) ON e.ExpertGroupID=dv.ValueID AND ai.AuthorID=e.AuthorID AND ai.JournalID=e.JournalID // WHERE dv.DictKey='ExpertGroupMap' AND dv.JournalID=ai.JournalID FOR XML PATH(''))) AS ExpertList, // (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=0) AS AuditCount, // (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=1) AS AuditedCount // FROM dbo.AuthorInfo ai WITH(NOLOCK) INNER JOIN dbo.AuthorDetail ad WITH(NOLOCK) ON ai.AuthorID=ad.AuthorID AND ai.JournalID=ad.JournalID // WHERE ai.JournalID=@JournalID AND ai.GroupID=3 {0} // UNION // SELECT ai.AuthorID,ai.Mobile,ai.LoginName,ai.RealName, // (SELECT ( SELECT dv.ValueText + ',' // FROM dbo.ExpertGroupMap e WITH(NOLOCK) // INNER JOIN dbo.DictValue dv WITH(NOLOCK) ON e.ExpertGroupID=dv.ValueID AND ai.AuthorID=e.AuthorID AND ai.JournalID=e.JournalID // WHERE dv.DictKey='ExpertGroupMap' AND dv.JournalID=ai.JournalID FOR XML PATH(''))) AS ExpertList, // (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=0) AS AuditCount, // (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=1) AS AuditedCount // FROM dbo.AuthorInfo ai WITH(NOLOCK) INNER JOIN dbo.RoleAuthor ra WITH(NOLOCK) ON ai.AuthorID=ra.AuthorID AND ai.JournalID=ra.JournalID AND ra.RoleID=3 // INNER JOIN dbo.AuthorDetail ad WITH(NOLOCK) ON ai.AuthorID=ad.AuthorID AND ai.JournalID=ad.JournalID // WHERE ai.JournalID=@JournalID {0}"; //2014-1-15 文海峰 if (query.IsSelEnExpert == true) { sql = @" SELECT ai.AuthorID,ai.Mobile,ai.LoginName,ai.RealName,ad.ResearchTopics, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=0) AS AuditCount, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=1) AS AuditedCount FROM dbo.AuthorInfo ai WITH(NOLOCK) INNER JOIN dbo.AuthorDetail ad WITH(NOLOCK) ON ai.AuthorID=ad.AuthorID AND ai.JournalID=ad.JournalID WHERE ai.JournalID=@JournalID AND ai.GroupID=4 {0} UNION SELECT ai.AuthorID,ai.Mobile,ai.LoginName,ai.RealName,ad.ResearchTopics, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=0) AS AuditCount, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=1) AS AuditedCount FROM dbo.AuthorInfo ai WITH(NOLOCK) INNER JOIN dbo.RoleAuthor ra WITH(NOLOCK) ON ai.AuthorID=ra.AuthorID AND ai.JournalID=ra.JournalID AND ra.RoleID=4 INNER JOIN dbo.AuthorDetail ad WITH(NOLOCK) ON ai.AuthorID=ad.AuthorID AND ai.JournalID=ad.JournalID WHERE ai.JournalID=@JournalID {0}"; } else { sql = @" SELECT ai.AuthorID,ai.Mobile,ai.LoginName,ai.RealName,ad.ResearchTopics, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=0) AS AuditCount, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=1) AS AuditedCount FROM dbo.AuthorInfo ai WITH(NOLOCK) INNER JOIN dbo.AuthorDetail ad WITH(NOLOCK) ON ai.AuthorID=ad.AuthorID AND ai.JournalID=ad.JournalID WHERE ai.JournalID=@JournalID AND ai.GroupID=3 {0} UNION SELECT ai.AuthorID,ai.Mobile,ai.LoginName,ai.RealName,ad.ResearchTopics, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=0) AS AuditCount, (SELECT COUNT(DISTINCT fi.CID) FROM dbo.FlowLogInfo fi WITH(NOLOCK) WHERE fi.RecUserID=ai.AuthorID AND fi.JournalID=ai.JournalID AND fi.Status=1) AS AuditedCount FROM dbo.AuthorInfo ai WITH(NOLOCK) INNER JOIN dbo.RoleAuthor ra WITH(NOLOCK) ON ai.AuthorID=ra.AuthorID AND ai.JournalID=ra.JournalID AND ra.RoleID=3 INNER JOIN dbo.AuthorDetail ad WITH(NOLOCK) ON ai.AuthorID=ad.AuthorID AND ai.JournalID=ad.JournalID WHERE ai.JournalID=@JournalID {0}"; } List<SqlParameter> listParameters = new List<SqlParameter>(); SqlParameter pJournalID = new SqlParameter("@JournalID", SqlDbType.BigInt); pJournalID.Value = query.JournalID; listParameters.Add(pJournalID); string whereCondition = ""; if (!string.IsNullOrEmpty(query.LoginName)) { SqlParameter p2 = new SqlParameter("@LoginName", SqlDbType.VarChar, 100); p2.Value = query.LoginName; listParameters.Add(p2); whereCondition += " AND ai.LoginName like '%" + p2.Value + "%'"; } //研究方向 if (!string.IsNullOrEmpty(query.ResearchTopics)) { whereCondition += " AND ad.ResearchTopics LIKE '%" + WKT.Common.Security.SecurityUtils.SafeSqlString(query.ResearchTopics) + "%'"; } if (!string.IsNullOrEmpty(query.RealName)) { whereCondition += " AND RealName LIKE '%" + WKT.Common.Security.SecurityUtils.SafeSqlString(query.RealName) + "%'"; } if (!string.IsNullOrEmpty(query.Remark)) { whereCondition += " AND ad.Remark LIKE '%" + WKT.Common.Security.SecurityUtils.SafeSqlString(query.Remark) + "%'"; } if (query.ExpertGroupID != null && query.ExpertGroupID.Value > 0) { whereCondition += " AND EXISTS(SELECT TOP 1 1 FROM dbo.ExpertGroupMap e WITH(NOLOCK),dbo.DictValue d WITH(NOLOCK)WHERE e.AuthorID=ai.AuthorID AND e.JournalID=ai.JournalID AND e.ExpertGroupID=d.ValueID AND e.JournalID=d.JournalID AND d.DictKey='ExpertGroupMap' AND d.ValueID=" + query.ExpertGroupID.Value + ")"; } string execSQL = string.Format(sql, whereCondition); DbCommand cmd = db.GetSqlStringCommand(execSQL); foreach (SqlParameter pItem in listParameters) { db.AddInParameter(cmd, pItem.ParameterName, pItem.DbType, pItem.Value); } DataSet ds = db.ExecuteDataSet(cmd); Pager<AuthorInfoEntity> pager = new Pager<AuthorInfoEntity>(); if (ds != null && ds.Tables.Count > 0) { List<AuthorInfoEntity> list = new List<AuthorInfoEntity>(); recordCount = ds.Tables[0].Rows.Count; int startID = (query.CurrentPage - 1) * query.PageSize; int endID = startID + query.PageSize; if (endID >= recordCount) { endID = recordCount; } AuthorInfoEntity authorInfoEntity = null; for (int i = startID; i < endID; i++) { authorInfoEntity = new AuthorInfoEntity(); authorInfoEntity.AuthorID = (Int64)ds.Tables[0].Rows[i]["AuthorID"]; authorInfoEntity.JournalID = query.JournalID; authorInfoEntity.LoginName = (String)ds.Tables[0].Rows[i]["LoginName"]; authorInfoEntity.RealName = (String)ds.Tables[0].Rows[i]["RealName"]; authorInfoEntity.Mobile = (String)ds.Tables[0].Rows[i]["Mobile"]; authorInfoEntity.ExpertList = ds.Tables[0].Rows[i].IsNull("ResearchTopics") ? "" : ds.Tables[0].Rows[i]["ResearchTopics"].ToString(); authorInfoEntity.AuditCount = (Int32)ds.Tables[0].Rows[i]["AuditCount"]; authorInfoEntity.AuditedCount = (Int32)ds.Tables[0].Rows[i]["AuditedCount"]; if (!string.IsNullOrEmpty(authorInfoEntity.ExpertList)) { authorInfoEntity.ExpertList = authorInfoEntity.ExpertList.Remove(authorInfoEntity.ExpertList.Length - 1); } list.Add(authorInfoEntity); } pager.ItemList = list; } pager.CurrentPage = query.CurrentPage; pager.PageSize = query.PageSize; pager.TotalRecords = recordCount; return pager; }
public bool DeleteAuthorInfo(AuthorInfoEntity authorInfoEntity) { bool flag = false; StringBuilder sqlCommandText = new StringBuilder(); sqlCommandText.Append("DELETE FROM dbo.AuthorInfo"); sqlCommandText.Append(" WHERE AuthorID=@AuthorID"); DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString()); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, authorInfoEntity.AuthorID); try { db.ExecuteNonQuery(cmd); flag = true; } catch (SqlException sqlEx) { throw sqlEx; } return flag; }
/// <summary> /// 获取编辑部成员列表 /// </summary> /// <param name="query"></param> /// <returns></returns> public Pager<AuthorInfoEntity> GetMemberInfoPageList(AuthorInfoQuery query) { int recordCount = 0; List<SqlParameter> listParameters = new List<SqlParameter>(); string sql = ""; StringBuilder sbSQL = new StringBuilder("SELECT a.AuthorID,a.JournalID,LoginName,Pwd,RealName,Mobile,LoginIP,LoginCount,LoginDate,Status,a.GroupID,a.AddDate,(SELECT ( SELECT ri.RoleName + ',' FROM dbo.RoleInfo ri WITH(NOLOCK) WHERE ISNULL(ra.RoleID,0)=ri.RoleID AND ra.AuthorID=a.AuthorID FOR XML PATH(''))) AS RoleList FROM dbo.AuthorInfo a WITH(NOLOCK) LEFT JOIN dbo.RoleAuthor ra ON a.AuthorID=ra.AuthorID AND a.JournalID=ra.JournalID WHERE a.JournalID=@JournalID"); StringBuilder sbNoRole = new StringBuilder("SELECT a.AuthorID,a.JournalID,LoginName,Pwd,RealName,Mobile,LoginIP,LoginCount,LoginDate,Status,a.GroupID,a.AddDate,(SELECT ( SELECT ri.RoleName + ',' FROM dbo.RoleInfo ri WITH(NOLOCK) INNER JOIN dbo.RoleAuthor ra WITH(NOLOCK) ON ri.RoleID=ra.RoleID AND ri.JournalID=ra.JournalID WHERE ra.AuthorID=a.AuthorID FOR XML PATH(''))) AS RoleList FROM dbo.AuthorInfo a WITH(NOLOCK) WHERE a.JournalID=@JournalID"); SqlParameter pJournalID = new SqlParameter("@JournalID", SqlDbType.BigInt); pJournalID.Value = query.JournalID; listParameters.Add(pJournalID); if (!string.IsNullOrEmpty(query.LoginName)) { // SqlParameter p2 = new SqlParameter("@LoginName", SqlDbType.VarChar, 100); // p2.Value = query.LoginName; // listParameters.Add(p2); //sbSQL.Append(" AND LoginName=@LoginName"); sbNoRole.Append(" AND LoginName like '%" + query.LoginName + "%'"); } if (!string.IsNullOrEmpty(query.RealName)) { sbSQL.Append(" AND RealName LIKE '%").Append(WKT.Common.Security.SecurityUtils.SafeSqlString(query.RealName)).Append("%'"); sbNoRole.Append(" AND RealName LIKE '%").Append(WKT.Common.Security.SecurityUtils.SafeSqlString(query.RealName)).Append("%'"); } if (query.GroupID != null) { SqlParameter pGroupID = new SqlParameter("@GroupID", SqlDbType.TinyInt); pGroupID.Value = query.GroupID.Value; listParameters.Add(pGroupID); sbSQL.Append(" AND a.GroupID=@GroupID"); sbNoRole.Append(" AND a.GroupID=@GroupID"); } if (query.Status != null) { SqlParameter pStatus = new SqlParameter("@Status", SqlDbType.TinyInt); pStatus.Value = query.Status.Value; listParameters.Add(pStatus); sbSQL.Append(" AND a.Status=@Status"); sbNoRole.Append(" AND a.Status=@Status"); } if (query.RoleID != null) { SqlParameter pRoleID = new SqlParameter("@RoleID", SqlDbType.BigInt); pRoleID.Value = query.RoleID; listParameters.Add(pRoleID); sbSQL.Append(" AND ra.RoleID=@RoleID"); sql = sbSQL.ToString(); } else { sql = sbNoRole.ToString(); } DataSet ds = db.PageingQuery(query.CurrentPage, query.PageSize, sql, "a.AuthorID DESC", listParameters.ToArray(), ref recordCount); Pager<AuthorInfoEntity> pager = new Pager<AuthorInfoEntity>(); if (ds != null && ds.Tables.Count > 0) { List<AuthorInfoEntity> list = new List<AuthorInfoEntity>(); if (ds != null) { AuthorInfoEntity authorInfoEntity = null; foreach (DataRow row in ds.Tables[0].Rows) { authorInfoEntity = new AuthorInfoEntity(); authorInfoEntity.AuthorID = (Int64)row["AuthorID"]; authorInfoEntity.JournalID = (Int64)row["JournalID"]; authorInfoEntity.LoginName = (String)row["LoginName"]; authorInfoEntity.RealName = row["RealName"]==System.DBNull.Value?"无姓名":(String)row["RealName"]; authorInfoEntity.Mobile = row["Mobile"]==System.DBNull.Value?"":(String)row["Mobile"]; authorInfoEntity.LoginIP = row["LoginIP"]==System.DBNull.Value?"127.0.0.1":(String)row["LoginIP"]; authorInfoEntity.LoginCount = (Int32)row["LoginCount"]; authorInfoEntity.LoginDate = (DateTime)row["LoginDate"]; authorInfoEntity.GroupID = (Byte)row["GroupID"]; authorInfoEntity.Status = (Byte)row["Status"]; authorInfoEntity.RoleName = row.IsNull("RoleList") ? "" : row["RoleList"].ToString(); if (!string.IsNullOrEmpty(authorInfoEntity.RoleName)) { authorInfoEntity.RoleName = authorInfoEntity.RoleName.Remove(authorInfoEntity.RoleName.Length - 1); } authorInfoEntity.AddDate = (DateTime)row["AddDate"]; list.Add(authorInfoEntity); } } pager.ItemList = list; } pager.CurrentPage = query.CurrentPage; pager.PageSize = query.PageSize; pager.TotalRecords = recordCount; return pager; }
public AuthorInfoEntity MakeAuthorInfo(DataRow dr) { AuthorInfoEntity authorInfoEntity = null; if (dr != null) { authorInfoEntity = new AuthorInfoEntity(); authorInfoEntity.AuthorID = (Int64)dr["AuthorID"]; authorInfoEntity.JournalID = (Int64)dr["JournalID"]; authorInfoEntity.LoginName = (String)dr["LoginName"]; authorInfoEntity.Pwd = (String)dr["Pwd"]; authorInfoEntity.RealName = (String)dr["RealName"]; authorInfoEntity.Mobile = (String)dr["Mobile"]; authorInfoEntity.LoginIP = (String)dr["LoginIP"]; authorInfoEntity.LoginCount = (Int32)dr["LoginCount"]; authorInfoEntity.LoginDate = (DateTime)dr["LoginDate"]; authorInfoEntity.GroupID = (Byte)dr["GroupID"]; authorInfoEntity.RoleID = dr.HasColumn("RoleID") ? Convert.IsDBNull(dr["RoleID"]) ? -999 : (Int64)dr["RoleID"] : -1; authorInfoEntity.Status = (Byte)dr["Status"]; authorInfoEntity.AddDate = (DateTime)dr["AddDate"]; } return authorInfoEntity; }
public ActionResult EditPwdAjax(AuthorInfoEntity authorEntity) { ExecResult execResult = new ExecResult(); try { authorEntity.AuthorID = CurAuthor.AuthorID; authorEntity.JournalID = JournalID; IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>(); execResult = authorService.EditPwd(authorEntity); } catch (Exception ex) { execResult.result = EnumJsonResult.error.ToString(); execResult.msg = "修改密码出现异常:" + ex.Message; WKT.Log.LogProvider.Instance.Error("修改密码出现异常:" + ex.Message); } return Content(JsonConvert.SerializeObject(execResult)); }
/// <summary> /// 获取编辑部成员信息 /// </summary> /// <param name="authorID"></param> /// <returns></returns> public AuthorInfoEntity GetMemberInfo(AuthorInfoQuery authorQuery) { AuthorInfoEntity authorInfoEntity = null; string sql = @"SELECT TOP 1 a.AuthorID,a.JournalID,LoginName,Pwd,RealName,Mobile,LoginIP,LoginCount,LoginDate,a.GroupID,Status,a.AddDate, ISNULL(r.RoleID,0) AS RoleID FROM dbo.AuthorInfo a WITH(NOLOCK) LEFT JOIN dbo.RoleAuthor r WITH(NOLOCK) ON a.AuthorID=r.AuthorID WHERE a.AuthorID=@AuthorID AND a.JournalID=@JournalID"; DbCommand cmd = db.GetSqlStringCommand(sql); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, authorQuery.AuthorID); db.AddInParameter(cmd, "@JournalID", DbType.Int64, authorQuery.JournalID); using (IDataReader dr = db.ExecuteReader(cmd)) { authorInfoEntity = new AuthorInfoEntity(); if (dr.Read()) { authorInfoEntity = new AuthorInfoEntity(); authorInfoEntity.AuthorID = (Int64)dr["AuthorID"]; authorInfoEntity.JournalID = (Int64)dr["JournalID"]; authorInfoEntity.LoginName = (String)dr["LoginName"]; authorInfoEntity.Pwd = (String)dr["Pwd"]; authorInfoEntity.RealName = (String)dr["RealName"]; authorInfoEntity.Mobile = (String)dr["Mobile"]; authorInfoEntity.Status = (Byte)dr["Status"]; authorInfoEntity.RoleID = (Int64)dr["RoleID"]; } dr.Close(); } return authorInfoEntity; }
public List<AuthorInfoEntity> MakeAuthorInfoList(IDataReader dr) { List<AuthorInfoEntity> list = new List<AuthorInfoEntity>(); while (dr.Read()) { AuthorInfoEntity authorInfoEntity = new AuthorInfoEntity(); authorInfoEntity.AuthorID = (Int64)dr["AuthorID"]; authorInfoEntity.JournalID = (Int64)dr["JournalID"]; authorInfoEntity.LoginName = (String)dr["LoginName"]; authorInfoEntity.Pwd = (String)dr["Pwd"]; authorInfoEntity.RealName = (String)dr["RealName"]; authorInfoEntity.Mobile = (String)dr["Mobile"]; authorInfoEntity.LoginIP = (String)dr["LoginIP"]; authorInfoEntity.LoginCount = (Int32)dr["LoginCount"]; authorInfoEntity.LoginDate = (DateTime)dr["LoginDate"]; authorInfoEntity.Status = (Byte)dr["Status"]; authorInfoEntity.GroupID = (Byte)dr["GroupID"]; authorInfoEntity.AddDate = (DateTime)dr["AddDate"]; authorInfoEntity.RoleID=dr.HasColumn("RoleID")?Convert.IsDBNull(dr["RoleID"])?-999:(Int64)dr["RoleID"]:-1; authorInfoEntity.RoleName = dr.HasColumn("RoleName") ? Convert.IsDBNull(dr["RoleName"]) ? "" : (string)dr["RoleName"] :""; list.Add(authorInfoEntity); } dr.Close(); return list; }
public ExecResult EditMember(AuthorInfoEntity authorEntity) { ExecResult result = new ExecResult(); try { IAuthorInfoService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorInfoService>(); bool flag = false; if (authorEntity.GroupID == 2) { flag = authorService.UpdateAuthorInfo(authorEntity); } else { flag=authorService.UpdateMembaerInfo(authorEntity); } if (flag) { result.result = EnumJsonResult.success.ToString(); result.msg = "成功"; } else { result.result = EnumJsonResult.failure.ToString(); result.msg = "修改成员" + authorEntity .AuthorID+ "信息失败,请确认成员信息是否正确"; } } catch (Exception ex) { result.result = EnumJsonResult.error.ToString(); result.msg = "修改编辑部成员信息时出现异常:" + ex.Message; } return result; }
public bool NewUpdateAuthorInfo(AuthorInfoEntity authorInfoEntity) { bool flag = false; StringBuilder whereCommandText = new StringBuilder(); whereCommandText.Append(" AuthorID=@AuthorID "); StringBuilder sqlCommandText = new StringBuilder(); sqlCommandText.Append("Status=@Status"); DbCommand cmd = db.GetSqlStringCommand(String.Format("UPDATE dbo.AuthorInfo SET {0} WHERE {1}", sqlCommandText.ToString(), whereCommandText.ToString())); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, authorInfoEntity.AuthorID); db.AddInParameter(cmd, "@Status", DbType.AnsiString, authorInfoEntity.Status); try { db.ExecuteNonQuery(cmd); flag = true; } catch (SqlException sqlEx) { throw sqlEx; } return flag; }
/// <summary> /// 记录登录信息 /// </summary> /// <param name="authorEntity"></param> /// <returns></returns> public ExecResult RecordLoginInfo(AuthorInfoEntity authorEntity) { ExecResult result = new ExecResult(); try { IAuthorInfoService authorService = ServiceContainer.Instance.Container.Resolve<IAuthorInfoService>(); bool flag = authorService.UpdateLoginInfo(authorEntity); if (flag) { result.result = EnumJsonResult.success.ToString(); result.msg = "成功"; } else { result.result = EnumJsonResult.failure.ToString(); result.msg = "操作失败,请确认作者信息是否正确"; } } catch (Exception ex) { result.result = EnumJsonResult.error.ToString(); result.msg = "记录作者登录信息时出现异常:" + ex.Message; } return result; }
public bool UpdateAuthorInfo(AuthorInfoEntity authorInfoEntity) { bool flag = false; StringBuilder whereCommandText = new StringBuilder(); whereCommandText.Append(" AuthorID=@AuthorID "); StringBuilder sqlCommandText = new StringBuilder(); sqlCommandText.Append(" RealName=@RealName"); if (!string.IsNullOrEmpty(authorInfoEntity.Pwd)) { sqlCommandText.Append(", Pwd=@Pwd"); } sqlCommandText.Append(", Mobile=@Mobile"); sqlCommandText.Append(", Status=@Status"); DbCommand cmd = db.GetSqlStringCommand(String.Format("UPDATE dbo.AuthorInfo SET {0} WHERE {1}", sqlCommandText.ToString(), whereCommandText.ToString())); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, authorInfoEntity.AuthorID); if (!string.IsNullOrEmpty(authorInfoEntity.Pwd)) { db.AddInParameter(cmd, "@Pwd", DbType.AnsiString, WKT.Common.Security.MD5Handle.Encrypt(authorInfoEntity.Pwd)); } db.AddInParameter(cmd, "@RealName", DbType.AnsiString, authorInfoEntity.RealName); db.AddInParameter(cmd, "@Mobile", DbType.AnsiString, authorInfoEntity.Mobile); db.AddInParameter(cmd, "@Status", DbType.AnsiString, authorInfoEntity.Status); try { db.ExecuteNonQuery(cmd); flag = true; } catch (SqlException sqlEx) { throw sqlEx; } return flag; }
private AuthorInfoEntity GetAuthorModel(Int64 authorID) { IAuthorFacadeService service = ServiceContainer.Instance.Container.Resolve<IAuthorFacadeService>(); var model = service.GetAuthorInfo(new AuthorInfoQuery() { JournalID = CurAuthor.JournalID, AuthorID = authorID }); if (model == null) model = new AuthorInfoEntity(); return model; }
/// <summary> /// 编辑作者基本信息 /// </summary> /// <param name="model"></param> /// <param name="trans"></param> /// <returns></returns> private bool UpdateAuthor(AuthorInfoEntity model, DbTransaction trans = null) { if (LoginNameIsExists(model.LoginName, model.AuthorID, model.JournalID)) throw new Exception("该登录名已经存在!"); StringBuilder whereCommandText = new StringBuilder(); whereCommandText.Append(" AuthorID=@AuthorID "); StringBuilder sqlCommandText = new StringBuilder(); sqlCommandText.Append(" LoginName=@LoginName"); if (!string.IsNullOrWhiteSpace(model.Pwd)) sqlCommandText.Append(", Pwd=@Pwd"); sqlCommandText.Append(", RealName=@RealName"); sqlCommandText.Append(", Mobile=@Mobile"); sqlCommandText.Append(", Status=@Status"); DbCommand cmd = db.GetSqlStringCommand(String.Format("UPDATE dbo.AuthorInfo SET {0} WHERE {1}", sqlCommandText.ToString(), whereCommandText.ToString())); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, model.AuthorID); db.AddInParameter(cmd, "@LoginName", DbType.AnsiString, model.LoginName); if (!string.IsNullOrWhiteSpace(model.Pwd)) db.AddInParameter(cmd, "@Pwd", DbType.AnsiString, model.Pwd); db.AddInParameter(cmd, "@RealName", DbType.AnsiString, model.RealName); db.AddInParameter(cmd, "@Mobile", DbType.AnsiString, model.Mobile); db.AddInParameter(cmd, "@Status", DbType.Byte, model.Status); try { bool result = false; if (trans == null) result = db.ExecuteNonQuery(cmd) > 0; else result = db.ExecuteNonQuery(cmd, trans) > 0; if (!result) throw new Exception("编辑" + (model.GroupID == 2 ? "作者" : "专家") + "基本信息失败!"); return result; } catch (Exception ex) { throw ex; } }