private void Save() { TradeNews news = new TradeNews(); news.NewsTitle = txtTitle.Text; news.OverView = txtOverView.Text; news.NewsContent = NewsContent.InnerText; if (string.IsNullOrEmpty(news.NewsContent)) { MessageBox("请填写内容!"); return; } if (string.IsNullOrEmpty(news.NewsTitle)) { MessageBox("请填写标题!"); return; } if (string.IsNullOrEmpty(news.OverView)) { MessageBox("请填写摘要!"); return; } if (news.NewsContent.Length > 4000) { MessageBox("内容不能超过4000字符!"); return; } if (news.NewsTitle.Length > 200) { MessageBox("标题不能超过200字符!"); return; } if (news.OverView.Length > 2000) { MessageBox("摘要不能超过2000字符!"); return; } int type = 0; if (!string.IsNullOrEmpty(ddlType.SelectedItem.Value)) { type = int.Parse(ddlType.SelectedItem.Value); } else { MessageBox("请选择新闻类型!"); return; } news.NType = (NewsType)type; news.PubPerson = Account; int status=1; status=rbEnable.Checked ? 1 : 0; news.Status = (NewsStatus)status; ResultDesc result = new ResultDesc(); if (string.IsNullOrEmpty(ID)) { news.ID = Guid.NewGuid().ToString("n"); result= GetManager.AddTradeNews(news, LoginId); } else { news.ID = ID; result = GetManager.ModifyTradeNews(news, LoginId); } MessageBox(result.Desc); }
/// <summary> /// 查询新闻公告 /// </summary> /// <param name="sql"></param> /// <returns></returns> public static List<TradeNews> GetTradeNewsInfo(string sql) { System.Data.Common.DbDataReader dbreader = null; List<TradeNews> TdNewsList = new List<TradeNews>(); try { dbreader = DbHelper.ExecuteReader(sql); while (dbreader.Read()) { TradeNews TdNews = new TradeNews(); TdNews.ID = dbreader["ID"].ToString(); TdNews.NewsTitle = dbreader["NewsTitle"].ToString(); TdNews.NewsContent = dbreader["NewsContent"].ToString(); TdNews.PubPerson = dbreader["PubPerson"].ToString(); TdNews.PubTime = Convert.ToDateTime(dbreader["PubTime"]); TdNews.Status = (NewsStatus)dbreader["Status"]; TdNews.NType = (NewsType)dbreader["NewsType"]; TdNews.OverView = System.DBNull.Value != dbreader["OverView"] ? dbreader["OverView"].ToString() : string.Empty; TdNewsList.Add(TdNews); } } catch (Exception ex) { throw new Exception(ex.Message, ex); } finally { if (null != dbreader) { dbreader.Close(); dbreader.Dispose(); } } return TdNewsList; }
/// <summary> /// 新闻公告添加 /// </summary> /// <param name="TdNews">新闻</param> /// <param name="LoginId">登陆标识</param> /// <returns>添加结果</returns> public ResultDesc AddTradeNews(TradeNews TdNews, String LoginId) { ResultDesc rsdc = new ResultDesc(); string operUser = string.Empty;//操作人 try { TradeUser TdUser = new TradeUser(); #region 判断登陆标识是否过期 if (!ComFunction.ExistUserLoginID(LoginId, ref TdUser)) { rsdc.Result = false; rsdc.Desc = ResCode.UL003Desc; return rsdc; } if (UserType.NormalType == TdUser.UType) { rsdc.Result = false; rsdc.Desc = ComFunction.NotRightUser; return rsdc; } operUser = TdUser.Account; #endregion if (string.IsNullOrEmpty(TdNews.ID)) { rsdc.Result = false; rsdc.Desc = "ID不能为空"; return rsdc; } if (string.IsNullOrEmpty(TdNews.NewsTitle)) { rsdc.Result = false; rsdc.Desc = "标题不能为空"; return rsdc; } List<string> sqlList = new List<string>(); sqlList.Add(string.Format("insert into Trade_News([ID],[NewsTitle],[NewsContent],[PubPerson],[PubTime],[Status],[NewsType],[OverView]) values('{0}','{1}','{2}','{3}','{4}',{5},{6},'{7}')", TdNews.ID, TdNews.NewsTitle, TdNews.NewsContent, TdNews.PubPerson, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), (int)TdNews.Status, (int)TdNews.NType, string.IsNullOrEmpty(TdNews.OverView) ? string.Empty : TdNews.OverView)); string ipmac = ComFunction.GetIpMac(TdUser.Ip, TdUser.Mac); sqlList.Add(string.Format("insert into Base_OperrationLog([OperTime],[Account],[UserType],[Remark]) values('{0}','{1}',{2},'{3}')", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), operUser, (int)TdUser.UType, string.Format("{1}添加新闻公告:{0}", TdNews.NewsTitle, ipmac))); if (!ComFunction.SqlTransaction(sqlList)) { rsdc.Result = false; rsdc.Desc = "添加操作失败,请重试!"; return rsdc; } rsdc.Result = true; rsdc.Desc = "添加操作成功!"; } catch (Exception ex) { ComFunction.WriteErr(ex); rsdc.Result = false; rsdc.Desc = "添加操作失败,请重试!"; } return rsdc; }
/// <summary> /// 新闻公告修改 /// </summary> /// <param name="TdNews">新闻</param> /// <param name="LoginId">登陆标识</param> /// <returns>修改结果</returns> public ResultDesc ModifyTradeNews(TradeNews TdNews, String LoginId) { ResultDesc rsdc = new ResultDesc(); string operUser = string.Empty;//操作人 try { TradeUser TdUser = new TradeUser(); #region 判断登陆标识是否过期 if (!ComFunction.ExistUserLoginID(LoginId, ref TdUser)) { rsdc.Result = false; rsdc.Desc = ResCode.UL003Desc; return rsdc; } if (UserType.NormalType == TdUser.UType) { rsdc.Result = false; rsdc.Desc = ComFunction.NotRightUser; return rsdc; } operUser = TdUser.Account; #endregion List<string> sqlList = new List<string>(); StringBuilder strbld = new StringBuilder(); strbld.AppendFormat("update Trade_News set "); strbld.AppendFormat("NewsContent='{0}',", TdNews.NewsContent); strbld.AppendFormat("NewsType={0},", (int)TdNews.NType); strbld.AppendFormat("Status={0},", (int)TdNews.Status); // strbld.AppendFormat("PubTime='{0}',", TdNews.PubTime.ToString("yyyy-MM-dd")); strbld.AppendFormat("PubPerson='{0}',", TdNews.PubPerson); strbld.AppendFormat("OverView='{0}',", string.IsNullOrEmpty(TdNews.OverView) ? string.Empty : TdNews.OverView); strbld.AppendFormat("NewsTitle='{0}' ", TdNews.NewsTitle); strbld.AppendFormat(" where ID='{0}'", TdNews.ID); sqlList.Add(strbld.ToString()); string ipmac = ComFunction.GetIpMac(TdUser.Ip, TdUser.Mac); //添加操作记录 sqlList.Add(string.Format("insert into Base_OperrationLog([OperTime],[Account],[UserType],[Remark]) values('{0}','{1}',{2},'{3}')", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), operUser, (int)TdUser.UType, string.Format("{1}修改新闻公告,{0}", TdNews.ID, ipmac))); if (!ComFunction.SqlTransaction(sqlList)) { rsdc.Result = false; rsdc.Desc = "保存出错,请重试!"; return rsdc; } rsdc.Result = true; rsdc.Desc = "保存成功!"; } catch (Exception ex) { ComFunction.WriteErr(ex); rsdc.Result = false; rsdc.Desc = "保存出错,请重试!"; } return rsdc; }
/// <summary> /// 新闻公告查询 /// </summary> /// <param name="lqc">新闻查询条件</param> /// <param name="pageindex">第几页,从1开始</param> /// <param name="pagesize">每页多少条</param> /// <param name="page">输出参数(总页数)</param> /// <returns>新闻信息</returns> public TradeNewsInfo GetTradeNewsInfoWithPage(NewsLqc lqc, int pageindex, int pagesize, ref int page) { TradeNewsInfo tradeNewsInfo = new TradeNewsInfo(); SqlConnection sqlconn = null; SqlCommand sqlcmd = null; SqlDataReader sqldr = null; tradeNewsInfo.TradeNewsInfoList = new List<TradeNews>(); try { TradeUser TdUser = new TradeUser(); #region 判断登陆标识是否过期 if (!ComFunction.ExistUserLoginID(lqc.LoginID, ref TdUser)) { tradeNewsInfo.Result = false; tradeNewsInfo.ReturnCode = ResCode.UL003; tradeNewsInfo.Desc = ResCode.UL003Desc; return tradeNewsInfo; } #endregion string newsType = string.Empty; if (lqc.NType != NewsType.ALL) { newsType = string.Format(" and NewsType={0}", (int)lqc.NType); } string status = string.Empty; if (UserType.NormalType == TdUser.UType) //客户端只返回启用的新闻 { status = string.Format(" and Status=1"); } string sqlcondition = string.Format("where PubTime>='{0}' and PubTime<='{1}' {2} {3}", lqc.StartTime.ToString("yyyy-MM-dd"), lqc.EndTime.ToString("yyyy-MM-dd"), newsType, status); sqlconn = new SqlConnection(ComFunction.SqlConnectionString); sqlconn.Open(); sqlcmd = sqlconn.CreateCommand(); sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.CommandText = "GetRecordFromPage"; sqlcmd.Parameters.Add("@selectlist", SqlDbType.VarChar);//选择字段列表 sqlcmd.Parameters.Add("@SubSelectList", SqlDbType.VarChar); //内部子查询字段列表 sqlcmd.Parameters.Add("@TableSource", SqlDbType.VarChar); //表名或视图表 sqlcmd.Parameters.Add("@TableOrder", SqlDbType.VarChar); //排序后的表名称 即子查询结果集的别名 sqlcmd.Parameters.Add("@SearchCondition", SqlDbType.VarChar); //查询条件 sqlcmd.Parameters.Add("@OrderExpression", SqlDbType.VarChar); //排序 表达式 sqlcmd.Parameters.Add("@PageIndex", SqlDbType.Int); sqlcmd.Parameters.Add("@PageSize", SqlDbType.Int); sqlcmd.Parameters.Add("@PageCount", SqlDbType.Int); sqlcmd.Parameters["@SubSelectList"].Value = "ID,NewsTitle,NewsContent,PubPerson,PubTime,Status,NewsType,OverView "; sqlcmd.Parameters["@selectlist"].Value = "ID,NewsTitle,NewsContent,PubPerson,PubTime,Status,NewsType,OverView "; sqlcmd.Parameters["@TableSource"].Value = "Trade_News"; sqlcmd.Parameters["@TableOrder"].Value = "a";//取L_Trade_Order的别名 sqlcmd.Parameters["@SearchCondition"].Value = sqlcondition; sqlcmd.Parameters["@OrderExpression"].Value = "order by PubTime desc"; sqlcmd.Parameters["@PageIndex"].Value = pageindex; sqlcmd.Parameters["@PageSize"].Value = pagesize; sqlcmd.Parameters["@PageCount"].Direction = ParameterDirection.Output; sqldr = sqlcmd.ExecuteReader(); while (sqldr.Read()) { TradeNews TdNews = new TradeNews(); TdNews.ID = sqldr["ID"].ToString(); TdNews.NewsTitle = sqldr["NewsTitle"].ToString(); TdNews.NewsContent = sqldr["NewsContent"].ToString(); TdNews.PubPerson = sqldr["PubPerson"].ToString(); TdNews.PubTime = Convert.ToDateTime(sqldr["PubTime"]); TdNews.Status = (NewsStatus)sqldr["Status"]; TdNews.NType = (NewsType)sqldr["NewsType"]; TdNews.OverView = System.DBNull.Value != sqldr["OverView"] ? sqldr["OverView"].ToString() : string.Empty; tradeNewsInfo.TradeNewsInfoList.Add(TdNews); } sqlconn.Close(); page = Convert.ToInt32(sqlcmd.Parameters["@PageCount"].Value); tradeNewsInfo.Result = true; tradeNewsInfo.Desc = "查询成功"; } catch (Exception ex) { ComFunction.WriteErr(ex); if (null != tradeNewsInfo.TradeNewsInfoList && tradeNewsInfo.TradeNewsInfoList.Count > 0) { tradeNewsInfo.TradeNewsInfoList.Clear(); } tradeNewsInfo.Result = false; tradeNewsInfo.Desc = "查询失败"; } finally { if (null != sqlconn) { sqlconn.Close(); } if (null != sqldr) { sqldr.Close(); } } return tradeNewsInfo; }