Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public SearchShareResponse GetShares(SearchShareRequest request)
 {
     return(_manager.GetShares(request));
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public SearchShareResponse GetShares(SearchShareRequest request)
 {
     return(_shareRepo.GetShares(request));
 }