private SearchShareResponse GetResponse(bool ispageMode) { SearchShareRequest request = new SearchShareRequest(ispageMode, CurrentPageIndex, anpShare.PageSize, OrderBy, OrderDirection); request.CreatedBy = QS("user", 0); request.Type = QS("type", 0); request.Keyword = txtKeyWord.Text; DateTime dt = DateTime.MinValue; if (DateTime.TryParse(txtStartDate.Text, out dt)) { request.StartDate = dt; } if (DateTime.TryParse(txtEndDate.Text, out dt)) { request.EndDate = dt; } var response = shareApp.GetShares(request); return(response); }
public SearchShareResponse GetShares(SearchShareRequest request) { return(_manager.GetShares(request)); }
public SearchShareResponse GetShares(SearchShareRequest request) { string strWhere = ""; if (request.CreatedBy > 0) { strWhere += " AND CreatedBy = @CreatedBy "; } if (request.Type > 0) { strWhere += " AND Type = @Type "; } if (!string.IsNullOrEmpty(request.Keyword)) { int tmpTicketId; int.TryParse(request.Keyword, out tmpTicketId); strWhere += string.Format(" AND( Note like '%{0}%' OR TicketID ={1})", request.Keyword.FilterSqlString(), tmpTicketId); } if (request.StartDate > MinDate) { strWhere += " And CreatedOn >= @StartDate "; } else { request.StartDate = MinDate; } if (request.EndDate > MinDate) { strWhere += " And CreatedOn <= @EndDate "; } else { request.EndDate = MinDate; } string strSql = string.Format(@"SELECT BASICFILTER.*, TypeID = ST.ID, TypeTitle = ST.[Title], TypeCreatedBy = ST.[CreatedBy], TypeCreatedOn = ST.[CreatedOn],TypeType = ST.[Type] FROM ( SELECT * ,Files = (select CAST(FileID AS NVARCHAR)+ '_' + FileTitle + [ContentType]+'|' from [Files] WHERE [SourceType] = 7 AND [SourceID] = S.ID AND IsDelete = 0 FOR XML PATH('') ) ,Row_Number() OVER(ORDER BY {0} {1}) AS INDEX_ FROM [Share] S Where [IsDeleted] = 0 {2} ) AS BASICFILTER LEFT JOIN [ShareType] ST ON BASICFILTER.[Type] = ST.ID ", request.OrderExpression, request.OrderDirection, strWhere); if (request.IsPageModel) { strSql += string.Format("WHERE BASICFILTER.INDEX_ BETWEEN {0} AND {1} ;", (request.CurrentPage - 1) * request.PageCount + 1, request.CurrentPage * request.PageCount) ; strSql += string.Format(@"SELECT Count(1) as [Count] FROM [Share] Where [IsDeleted] = 0 {0}", strWhere); } var response = new SearchShareResponse(); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql)) { try { db.AddInParameter(dbCommand, "CreatedBy", DbType.Int32, request.CreatedBy); db.AddInParameter(dbCommand, "Type", DbType.Int32, request.Type); db.AddInParameter(dbCommand, "StartDate", DbType.DateTime, request.StartDate); db.AddInParameter(dbCommand, "EndDate", DbType.DateTime, request.EndDate); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { response.Dataset.Add(ShareEntity.ReaderBind(dataReader)); } if (dataReader.NextResult() && dataReader.Read()) { response.Count = dataReader.GetInt32(0); } } } catch (Exception ex) { WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2},\r\nSourceCode:{3}]" , strSql, base.FormatParameters(dbCommand.Parameters), ex.Message, ex.StackTrace)); return(null); } } return(response); }
public SearchShareResponse GetShares(SearchShareRequest request) { return(_shareRepo.GetShares(request)); }