Exemplo n.º 1
0
        private void InitControl()
        {
            SearchFilesRequest request = new SearchFilesRequest(SearchFileType.Project, true, "FileTitle", "ASC");

            request.IsPublic    = UserInfo.Role == RolesEnum.CLIENT;
            request.CurrentPage = anpFiles.CurrentPageIndex;
            request.PageCount   = anpFiles.PageSize;
            request.Keyword     = txtKeyword.Text.NoHTML();
            request.CompanyID   = int.Parse(ddlCompany.SelectedValue);
            request.ProjectID   = int.Parse(ddlProject.SelectedValue);
            FileApplication      fileApp = new FileApplication();
            List <FileDetailDto> list    = fileApp.GetFiles(request);

            if (list == null || list.Count == 0)
            {
                rptTickets.Visible  = false;
                trNoTickets.Visible = true;
            }
            else
            {
                rptTickets.DataSource = list;
                rptTickets.DataBind();
                trNoTickets.Visible  = false;
                anpFiles.RecordCount = request.RecordCount;
            }
        }
Exemplo n.º 2
0
        private void InitControl()
        {
            SearchFilesRequest request = new SearchFilesRequest(SearchFileType.TicketAndFeedback, true, hidOrderBy.Value, hidOrderDirection.Value);

            request.IsPublic    = UserInfo.Role == RolesEnum.CLIENT;
            request.CurrentPage = anpFiles.CurrentPageIndex;
            request.PageCount   = anpFiles.PageSize;
            Regex regticketcode = new Regex("^[BbRr]");

            request.Keyword     = regticketcode.Replace(txtKeyword.Text, "").NoHTML();
            request.CompanyID   = int.Parse(ddlCompany.SelectedValue);
            request.ProjectID   = int.Parse(ddlProject.SelectedValue);
            request.UserID      = UserInfo.ID;
            request.KeywordType = SearchKeywordType.All;
            FileApplication      fileApp = new FileApplication();
            List <FileDetailDto> list    = fileApp.GetFiles(request);

            if (list == null || list.Count == 0)
            {
                rptTickets.Visible  = false;
                trNoTickets.Visible = true;
            }
            else
            {
                rptTickets.DataSource = list;
                rptTickets.DataBind();
                rptTickets.Visible   = true;
                trNoTickets.Visible  = false;
                anpFiles.RecordCount = request.RecordCount;
            }
        }
Exemplo n.º 3
0
        public List <FileDetailDto> GetFiles(SearchFilesRequest request)
        {
            this.ClearBrokenRuleMessages();
            List <FileDetailDto> list = mgr.GetFiles(request);

            this.AddBrokenRuleMessages(mgr.BrokenRuleMessages);
            return(list);
        }
Exemplo n.º 4
0
        private void InitControl()
        {
            SearchFilesRequest request = new SearchFilesRequest(SearchFileType.SunnetFile, true, "ModifiedOn", "DESC");

            request.CurrentPage = anpFiles.CurrentPageIndex;
            request.PageCount   = anpFiles.PageSize;
            request.CompanyID   = UserInfo.CompanyID;
            string[] dires = hidCurrentDirectory.Value.Split("-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (dires.Length == 2)
            {
                if (dires[1] == "0")
                {
                    request.ParentID = int.Parse(dires[0]);
                    request.IncludeChildDirectory = true;
                }
                else
                {
                    request.ParentID = int.Parse(dires[1]);
                    request.IncludeChildDirectory = false;
                }
            }
            else
            {
                request.ParentID = 1;
                request.IncludeChildDirectory = true;
                hidCurrentDirectory.Value     = "1-0";
            }
            if (request.ParentID == 1)
            {
                request.ParentID = 0;
            }
            int direobjID = 0;

            if (int.TryParse(txtID.Text, out direobjID))
            {
                request.SearchID = direobjID;
            }
            request.Keyword = txtKeyword.Text.NoHTML();
            List <DirectoryEntity> list = fileApp.GetObjects(request);

            if (list != null && list.Count > 0)
            {
                rptFiles.Visible    = true;
                rptFiles.DataSource = list;
                rptFiles.DataBind();
                trNoTickets.Visible  = false;
                anpFiles.RecordCount = request.RecordCount;
            }
            else
            {
                rptFiles.Visible     = false;
                trNoTickets.Visible  = true;
                anpFiles.RecordCount = 0;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// GetFiles without Sunnet Company
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public List <FileDetailDto> GetFiles(SearchFilesRequest request)
        {
            this.ClearBrokenRuleMessages();
            List <FileDetailDto> list = fileRepo.GetFileList(request);

            if (list == null)
            {
                this.AddBrokenRuleMessage();
            }
            return(list);
        }
Exemplo n.º 6
0
        private void InitControl()
        {
            SearchFilesRequest request = new SearchFilesRequest(SearchFileType.WorkRequest, true, hidOrderBy.Value, hidOrderDirection.Value);

            request.CurrentPage = anpWorkRequestFiles.CurrentPageIndex;
            request.PageCount   = anpWorkRequestFiles.PageSize;
            request.Keyword     = txtTag.Text.Trim().NoHTML();
            if (UserInfo.Role == RolesEnum.CLIENT)
            {
                request.UserID = UserInfo.UserID;
            }
            List <FileDetailDto> list = fileApp.GetFiles(request);

            rpt.DataSource = list;
            rpt.DataBind();
            anpWorkRequestFiles.RecordCount = request.RecordCount;
        }
Exemplo n.º 7
0
        private void InitFiles()
        {
            int                id      = QS("id", 0);
            FileApplication    fileApp = new FileApplication();
            SearchFilesRequest request = new SearchFilesRequest(SearchFileType.Project, false, "FileTitle", "ASC");

            request.ProjectID = id;
            List <FileDetailDto> list = fileApp.GetFiles(request);

            if (list == null || list.Count == 0)
            {
                trNoProject.Visible = true;
            }
            else
            {
                trNoProject.Visible = false;
                rptFiles.DataSource = list;
                rptFiles.DataBind();
            }
        }
Exemplo n.º 8
0
        private void InitFiles()
        {
            FileApplication    fileApp = new FileApplication();
            SearchFilesRequest request = new SearchFilesRequest(SearchFileType.Company, false, "FileTitle", "ASC");

            request.CompanyID = CompanyID;
            request.IsPublic  = BaseWebsitePage.UserInfo.Role == RolesEnum.CLIENT;
            List <FileDetailDto> list = fileApp.GetFiles(request);

            if (list == null || list.Count == 0)
            {
                trNoFiles.Visible = true;
            }
            else
            {
                trNoFiles.Visible   = false;
                rptFiles.DataSource = list;
                rptFiles.DataBind();
            }
        }
        public List <FileDetailDto> GetFileList(SearchFilesRequest request)
        {
            int start = request.CurrentPage * request.PageCount + 1 - request.PageCount;
            int end   = request.CurrentPage * request.PageCount;

            string selPageModel = string.Format(@"SELECT * FROM( 
                                    Select  ROW_NUMBER() OVER( ORDER BY {0} {1}) AS INDEX_ID ", request.OrderByExpression, request.OrderByDirection)
                                  + @",SearchResult.* From ({0}) as SearchResult
                                    ) as New_TB  
                                    Where INDEX_ID between @Start and @End
                                ";


            //            string selPageModel = @"SELECT * FROM(
            //                                    Select  ROW_NUMBER() OVER( ORDER BY FileTitle ASC) AS INDEX_ID,SearchResult.* From ({0}) as SearchResult
            //
            //
            //                                    ) as New_TB
            //                                    Where INDEX_ID between @Start and @End
            //                                    ";

            string selCount = @"SELECT Count(1) FROM ({0}) as SearchResult ;";

            StringBuilder strNoPageModal = new StringBuilder();

            //strNoPageModal.Append(@"SELECT f.*,c.CompanyName,p.Title as ProjectTitle,t.Title as TicketTitle ,t.TicketCode + cast(t.TicketID as varchar) as TicketCode,fb.Title as FeedBackTitle
            //                                ,u.FirstName,u.LastName
            //                  FROM [Files] f left join Companys c on c.ComID=f.CompanyID
            //                                 left join Projects p on f.ProjectId=p.ProjectID
            //                           left join Tickets t on f.TicketId=t.TicketID
            //                           left join WorkRequest wr on f.WorkRequestId=wr.WorkRequestId
            //                           left join FeedBacks fb on f.FeedbackId=fb.FeedBackID
            //                                 left join Users u on f.CreatedBy=u.UserID");
            strNoPageModal.Append(@"SELECT f.*,c.CompanyName,p.Title as ProjectTitle,t.Title as TicketTitle ,t.TicketCode + cast(t.TicketID as varchar) as TicketCode,fb.Title as FeedBackTitle
                                            ,u.FirstName,u.LastName
                              FROM [Files] f left join Companys c on c.ComID=f.CompanyID 
                                             left join Projects p on f.ProjectId=p.ProjectID 
		                                     left join Tickets t on f.TicketId=t.TicketID 
		                                     left join FeedBacks fb on f.FeedbackId=fb.FeedBackID  
                                             left join Users u on f.CreatedBy=u.UserID");
            strNoPageModal.Append(@" Where 1=1 AND f.Isdelete=0 AND ( f.TicketID=0 or t.Status>0 ) ");

            if (request.IsPublic)
            {
                strNoPageModal.Append(@" And f.IsPublic=@IsPublic ");
            }

            switch (request.SearchType)
            {
            case SearchFileType.Company:
            {
                if (request.CompanyID > 0)
                {
                    strNoPageModal.Append(" And f.CompanyID=@ComapnyID");
                }
                else
                {
                    strNoPageModal.Append(" And f.CompanyID>1 ");
                }
                strNoPageModal.AppendFormat(" And f.SourceType={0} ", ((int)FileSourceType.Company).ToString());
                if (!string.IsNullOrEmpty(request.Keyword) && request.Keyword.Trim() != "")
                {
                    strNoPageModal.Append(" AND f.FileTitle like @Keyword ");
                }
            }
            break;

            case SearchFileType.Project:
            {
                if (request.CompanyID > 0)
                {
                    strNoPageModal.Append(" And f.CompanyID=@ComapnyID");
                }
                if (request.ProjectID > 0)
                {
                    strNoPageModal.Append(" and f.ProjectId=@ProjectID ");
                }
                strNoPageModal.AppendFormat(" And f.SourceType={0} ", ((int)FileSourceType.Project).ToString());
                if (!string.IsNullOrEmpty(request.Keyword) && request.Keyword.Trim() != "")
                {
                    strNoPageModal.Append(" AND f.FileTitle like @Keyword ");
                }
            }
            break;

            case SearchFileType.WorkRequest:
            {
                if (request.CompanyID > 0)
                {
                    strNoPageModal.Append(" And f.CompanyID=@ComapnyID");
                }
                if (request.ProjectID > 0)
                {
                    strNoPageModal.Append(" and f.ProjectId=@ProjectID ");
                }
                strNoPageModal.AppendFormat(" And f.SourceType in ({0},{1}) ", ((int)FileSourceType.WorkRequest).ToString(), ((int)FileSourceType.WorkRequestScope).ToString());
                //if (request.UserID != 0)
                //{
                //    strNoPageModal.AppendFormat(" AND wr.ProjectID IN (select ProjectID from ProjectUsers where UserId={0})", request.UserID);
                //}
                if (!string.IsNullOrEmpty(request.Keyword) && request.Keyword.Trim() != "")
                {
                    strNoPageModal.Append(" AND f.Tags like @Keyword ");
                }
            }
            break;

            case SearchFileType.TicketAndFeedback:
            {
                if (request.CompanyID > 0)
                {
                    strNoPageModal.Append(" And f.CompanyID=@ComapnyID");
                }
                if (request.ProjectID > 0)
                {
                    strNoPageModal.Append(" and f.ProjectId=@ProjectID ");
                }
                strNoPageModal.AppendFormat(" And (f.SourceType={0} or f.SourceType={1}) ", ((int)FileSourceType.Ticket).ToString(), ((int)FileSourceType.FeedBack).ToString());
                strNoPageModal.AppendFormat(" AND f.ProjectId in (select ProjectId from ProjectUsers h where h.UserID= {0} )", request.UserID);
                if (request.KeywordType == SearchKeywordType.TicketCode)
                {
                    if (!string.IsNullOrEmpty(request.Keyword) && request.Keyword.Trim() != "")
                    {
                        int ticketcode = 0;
                        int.TryParse(request.Keyword, out ticketcode);
                        if (ticketcode > 0)
                        {
                            strNoPageModal.AppendFormat(@" AND  t.TicketID = {0} ", ticketcode);
                        }
                    }
                }
                else if (request.KeywordType == SearchKeywordType.TicketTitle)
                {
                    if (!string.IsNullOrEmpty(request.Keyword) && request.Keyword.Trim() != "")
                    {
                        strNoPageModal.Append(@" AND t.Title like @Keyword  ");
                    }
                }
                else if (request.KeywordType == SearchKeywordType.FileName)
                {
                    if (!string.IsNullOrEmpty(request.Keyword) && request.Keyword.Trim() != "")
                    {
                        strNoPageModal.Append(" AND f.FileTitle like @Keyword ");
                    }
                }
                else if (request.KeywordType == SearchKeywordType.All)
                {
                    if (!string.IsNullOrEmpty(request.Keyword) && request.Keyword.Trim() != "")
                    {
                        strNoPageModal.Append(@" AND ( t.Title like @Keyword or f.FileTitle like @Keyword ");

                        int ticketcode = 0;
                        int.TryParse(request.Keyword, out ticketcode);
                        if (ticketcode > 0)
                        {
                            strNoPageModal.AppendFormat(@" or t.TicketID = {0} ", ticketcode);
                        }
                        strNoPageModal.Append(")");
                    }
                }
            }
            break;

            default: break;
            }
            StringBuilder strSql = new StringBuilder();

            if (request.IsPageModel)
            {
                strSql.AppendFormat(selCount, strNoPageModal.ToString());
                strSql.AppendFormat(selPageModel, strNoPageModal.ToString());
            }
            else
            {
                strSql.Append(strNoPageModal);
            }
            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    db.AddInParameter(dbCommand, "Keyword", DbType.String, string.Format("%{0}%", request.Keyword.FilterSqlString()));
                    db.AddInParameter(dbCommand, "ComapnyID", DbType.Int32, request.CompanyID);
                    db.AddInParameter(dbCommand, "ProjectID", DbType.Int32, request.ProjectID);
                    db.AddInParameter(dbCommand, "IsPublic", DbType.Boolean, request.IsPublic);
                    db.AddInParameter(dbCommand, "Start", DbType.Int32, start);
                    db.AddInParameter(dbCommand, "End", DbType.Int32, end);
                    List <FileDetailDto> list = new List <FileDetailDto>();
                    using (IDataReader dataReader = db.ExecuteReader(dbCommand))
                    {
                        if (request.IsPageModel)
                        {
                            if (dataReader.Read())
                            {
                                request.RecordCount = dataReader.GetInt32(0);
                            }
                            dataReader.NextResult();
                        }
                        while (dataReader.Read())
                        {
                            list.Add(FileDetailDto.ReaderBind(dataReader));
                        }
                        return(list);
                    }
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:GetFileList = {0},{1}Messages:\r\n{2}]",
                                                    strSql.ToString(), base.FormatParameters(dbCommand.Parameters), ex.Message));
                    return(null);
                }
            }
        }
Exemplo n.º 10
0
 /// <summary>
 /// Search the users files and the files of user's friends
 /// </summary>
 public async Task <SearchFilesResponse> SearchFiles(SearchFilesRequest request)
 {
     return(await _apiClient.ExecuteGetWithResponseAsync <SearchFilesResponse>($"files/search", request));
 }