public List <FeedBacksEntity> GetFeedBackListByTicketId(int tid, bool isSunnet, bool isSunneter , bool isPM, bool isSupervisor) { List <FeedBacksEntity> list = new List <FeedBacksEntity>(); StringBuilder strSql = new StringBuilder(); strSql.Append("select * from feedbacks A inner join users B ") .Append(" on A.CreatedBy=B.userID") .Append(" where TicketID = @TicketID "); if (isSunnet && !isSunneter) //Client 只能看pm和client的feedback { strSql.Clear(); strSql.Append("select * from feedbacks A inner join users B ") .Append(" inner join Roles C on B.RoleID=C.RoleID ") .Append(" on A.CreatedBy=B.userID") .Append(" where TicketID = @TicketID ") .Append(" and (C.RoleName='PM' or C.RoleName='Client' or C.RoleName='Sales')") .Append(" and IsPublic = 1"); } if (isSupervisor) //Supervisor 只能看pm和Supervisor的feedback { strSql.Clear(); strSql.Append("select * from feedbacks A inner join users B ") .Append(" inner join Roles C on B.RoleID=C.RoleID ") .Append(" on A.CreatedBy=B.userID") .Append(" where TicketID = @TicketID ") .Append(" and (C.RoleName='PM' or C.RoleName='Supervisor')"); } strSql.Append(" order by FeedBackID asc "); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { try { db.AddInParameter(dbCommand, "TicketID", DbType.Int32, tid); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { list.Add(FeedBacksEntity.ReaderBind(dataReader)); } } } catch (Exception ex) { WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]", strSql.ToString() , base.FormatParameters(dbCommand.Parameters), ex.Message)); return(null); } } return(list); }
/// <summary> /// Get an object entity /// </summary> public FeedBacksEntity Get(int FeedBackID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select * from FeedBacks "); strSql.Append(" where FeedBackID=@FeedBackID"); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { db.AddInParameter(dbCommand, "FeedBackID", DbType.Int32, FeedBackID); FeedBacksEntity model = null; using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { if (dataReader.Read()) { model = FeedBacksEntity.ReaderBind(dataReader); } } return(model); } }