예제 #1
0
        public ArrayList DeleteAttachment(string _guid, string _id)
        {
            string    sFiles         = "";
            ArrayList values         = new ArrayList();
            string    _containerName = "FileLibrary";
            string    _containerKey  = "EMailAttach";

            CS.BaseIbnContainer bic = CS.BaseIbnContainer.Create(_containerName, _containerKey);
            CS.FileStorage      fs  = (CS.FileStorage)bic.LoadControl("FileStorage");
            fs.DeleteFile(int.Parse(_id));
            CS.DirectoryInfo di = fs.GetDirectory(fs.Root.Id, _guid, false);
            if (di != null)
            {
                CS.FileInfo[] _fi = fs.GetFiles(di);
                foreach (CS.FileInfo fi in _fi)
                {
                    sFiles += String.Format(CultureInfo.InvariantCulture,
                                            "<div style='padding-bottom:1px;'><img align='absmiddle' src='{0}' width='16' height='16'>&nbsp;{1}&nbsp;&nbsp;<img src='{2}' align='absmiddle' width='16' height='16' style='cursor:pointer;' onclick='_deleteFile({3})' title='{4}' /></div>",
                                            CHelper.GetAbsolutePath("/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId),
                                            Util.CommonHelper.GetShortFileName(fi.Name, 40),
                                            CHelper.GetAbsolutePath("/Layouts/Images/delete.gif"),
                                            fi.Id,
                                            LocRM.GetString("Delete"));
                }
            }
            values.Add(sFiles);
            return(values);
        }
예제 #2
0
 void grdMain_ItemCommand(object source, DataGridCommandEventArgs e)
 {
     if (e.CommandName == "Select")
     {
         int    selId             = int.Parse(e.Item.Cells[0].Text);
         string containerKey      = "EMailAttach";
         CS.BaseIbnContainer bic2 = CS.BaseIbnContainer.Create(ContainerName, containerKey);
         CS.FileStorage      fs2  = (CS.FileStorage)bic2.LoadControl("FileStorage");
         CS.DirectoryInfo    di   = fs2.GetDirectory(fs2.Root.Id, guid, true);
         try
         {
             fs.CopyFile(selId, di.Id);
         }
         catch { }
         string        sFiles = "";
         CS.FileInfo[] _fi    = fs2.GetFiles(di);
         foreach (CS.FileInfo fi in _fi)
         {
             sFiles += String.Format("<div style='padding-bottom:1px;'><img align='absmiddle' src='{0}' width='16' height='16'/>&nbsp;{1}&nbsp;&nbsp;<img src='{2}' align='absmiddle' width='16' height='16' style='cursor:pointer;' onclick='_deleteFile({3})' title='{4}' /></div>",
                                     ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId),
                                     Util.CommonHelper.GetShortFileName(fi.Name, 40),
                                     ResolveUrl("~/Layouts/Images/delete.gif"),
                                     fi.Id, LocRM.GetString("tDelete"));
         }
         Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), String.Format("CloseAll(\"{0}\");", sFiles), true);
     }
 }
예제 #3
0
        protected void grdMain_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                int selId = int.Parse(e.Item.Cells[0].Text);

                string sText  = "";
                string sTitle = "";
                using (IDataReader reader = Mediachase.IBN.Business.Common.GetArticle(selId))
                {
                    if (reader.Read())
                    {
                        sTitle = reader["Question"].ToString();
                        sText  = String.Format("<div style='border-top: solid 1px #95B7F3; padding:0px;background-color:ffffe1;'>" +
                                               "<div style='padding:5px; cursor:default;background-color:#FFD275;'><b>{0}</b></div>" +
                                               "<div style='padding:5px;'>{1}</div>" +
                                               "</div>", reader["Question"].ToString(), reader["AnswerHTML"].ToString());
                    }
                }

                Common.AddHistory(ObjectTypes.KnowledgeBase, selId, sTitle);
                Common.IncreaseArticleCounter(selId);

                string sFiles           = "";
                string containerName    = "FileLibrary";
                string containerKey     = UserRoleHelper.CreateArticleContainerKey(selId);
                CS.BaseIbnContainer bic = CS.BaseIbnContainer.Create(containerName, containerKey);
                CS.FileStorage      fs  = (CS.FileStorage)bic.LoadControl("FileStorage");
                CS.FileInfo[]       _fi = fs.Root.GetFiles();
                if (_fi.Length > 0)
                {
                    string _containerName    = "FileLibrary";
                    string _containerKey     = "EMailAttach";
                    CS.BaseIbnContainer _bic = CS.BaseIbnContainer.Create(_containerName, _containerKey);
                    CS.FileStorage      _fs  = (CS.FileStorage)_bic.LoadControl("FileStorage");
                    CS.DirectoryInfo    di   = _fs.GetDirectory(_fs.Root.Id, guid, true);
                    foreach (CS.FileInfo fi in _fi)
                    {
                        fs.CopyFile(fi.Id, di.Id, true);
                    }

                    _fi = _fs.GetFiles(di);
                    foreach (CS.FileInfo fi in _fi)
                    {
                        sFiles += String.Format("<div style='padding-bottom:1px;'><img align='absmiddle' src='{0}' width='16' height='16'>&nbsp;{1}&nbsp;&nbsp;<img src='{2}' align='absmiddle' width='16' height='16' style='cursor:pointer;' onclick='_deleteFile({3})' title='{4}' /></div>",
                                                ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId),
                                                Util.CommonHelper.GetShortFileName(fi.Name, 40),
                                                ResolveUrl("~/Layouts/Images/delete.gif"),
                                                fi.Id,
                                                LocRM2.GetString("tDelete"));
                    }
                }
                sText = sText.Replace("\r\n", "");
                sText = sText.Replace("\t", "");
                sText = sText.Replace("\\", "\\\\");
                sText = sText.Replace("\"", "\\\"");
                Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), String.Format("CloseAll(\"{0}\", \"{1}\");", sFiles, sText), true);
            }
        }
예제 #4
0
        void lbSelectChecked_Click(object sender, EventArgs e)
        {
            string    sIds  = hidForSelect.Value;
            ArrayList alIds = new ArrayList();

            while (sIds.Length > 0)
            {
                alIds.Add(sIds.Substring(0, sIds.IndexOf(",")));
                sIds = sIds.Remove(0, sIds.IndexOf(",") + 1);
            }
            string _containerKey = "EMailAttach";

            CS.BaseIbnContainer bic2 = CS.BaseIbnContainer.Create(ContainerName, _containerKey);
            CS.FileStorage      fs2  = (CS.FileStorage)bic2.LoadControl("FileStorage");
            CS.DirectoryInfo    di   = fs2.GetDirectory(fs2.Root.Id, guid, true);
            foreach (string scId in alIds)
            {
                int assetID = int.Parse(scId);
                try
                {
                    fs.CopyFile(assetID, di.Id);
                }
                catch { }
            }
            string sFiles = "";

            CS.FileInfo[] _fi = fs2.GetFiles(di);
            foreach (CS.FileInfo fi in _fi)
            {
                sFiles += String.Format("<div style='padding-bottom:1px;'><img align='absmiddle' src='{0}' width='16' height='16'/>&nbsp;{1}&nbsp;&nbsp;<img src='{2}' align='absmiddle' width='16' height='16' style='cursor:pointer;' onclick='_deleteFile({3})' title='{4}' /></div>",
                                        ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId),
                                        Util.CommonHelper.GetShortFileName(fi.Name, 40),
                                        ResolveUrl("~/Layouts/Images/delete.gif"),
                                        fi.Id, LocRM.GetString("tDelete"));
            }
            Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), String.Format("CloseAll(\"{0}\");", sFiles), true);
        }
예제 #5
0
        private void BindFiles()
        {
            dgFiles.Columns[1].HeaderText = LocRM.GetString("Title");
            dgFiles.Columns[2].HeaderText = LocRM.GetString("Size");
            DataTable dt = new DataTable();
            DataRow   dr;

            dt.Columns.Add(new DataColumn("FileId", typeof(int)));
            dt.Columns.Add(new DataColumn("FileName", typeof(string)));
            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("Size", typeof(string)));

            Mediachase.IBN.Business.ControlSystem.FileStorage fileStorage = IssueRequest.GetFileStorage(RequestId);
            foreach (Mediachase.IBN.Business.ControlSystem.FileInfo fi in fileStorage.GetFiles(fileStorage.Root))
            {
                dr = dt.NewRow();

                dr["FileId"]   = fi.Id;
                dr["Icon"]     = "../Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId;
                dr["FileName"] = String.Format("<a href=\"../FileStorage/DownloadFile.aspx?Id={0}&CName=Pop3MailRequest&CKey=Pop3MailRequestId_{1}\">{2}</a>", fi.Id, RequestId, fi.Name);
                dr["Size"]     = Mediachase.UI.Web.Util.CommonHelper.ByteSizeToStr(fi.Length);

                dt.Rows.Add(dr);
            }

            dgFiles.DataSource = new DataView(dt);
            dgFiles.DataBind();

/*			foreach (DataGridItem dgi in dgFiles.Items)
 *                      {
 *                              ImageButton ib = (ImageButton)dgi.FindControl("ibDelete");
 *                              if (ib!=null)
 *                                      ib.Attributes.Add("onclick","return confirm('"+ LocRM.GetString("Warning") +"')");
 *                      }
 */
        }
예제 #6
0
        private void BindDG()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Id", typeof(int)));
            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("sortName", typeof(string)));
            dt.Columns.Add(new DataColumn("ModifiedDate", typeof(string)));
            dt.Columns.Add(new DataColumn("sortModified", typeof(DateTime)));
            dt.Columns.Add(new DataColumn("Modifier", typeof(string)));
            dt.Columns.Add(new DataColumn("sortModifier", typeof(string)));
            dt.Columns.Add(new DataColumn("ActionView", typeof(string)));
            dt.Columns.Add(new DataColumn("ActionJump", typeof(string)));
            dt.Columns.Add(new DataColumn("Size", typeof(string)));
            dt.Columns.Add(new DataColumn("sortSize", typeof(int)));
            dt.Columns.Add(new DataColumn("Description", typeof(string)));
            dt.Columns.Add(new DataColumn("ContentType", typeof(string)));
            DataRow dr;

            #region BindDataTable
            int      iContType = int.Parse(ddType.SelectedValue);
            int      iFromSize = 0;
            int      iToSize   = 0;
            DateTime startDate = DateTime.MinValue;
            DateTime endDate   = DateTime.MinValue;

            if (ddSize.SelectedIndex == 0)
            {
                tableSizeFrom.Style.Add("display", "none");
                tdSizeTo.Style.Add("display", "none");
                toSize.Style.Add("display", "none");
                ddKM2.Style.Add("display", "none");
            }
            else
            {
                tableSizeFrom.Style.Add("display", "block");
                tdSizeTo.Style.Add("display", "block");
                toSize.Style.Add("display", "block");
                ddKM2.Style.Add("display", "block");

                if (fromSize.Text == "")
                {
                    iFromSize = 0;
                }
                else
                {
                    iFromSize = int.Parse(fromSize.Text);
                }
                if (toSize.Text == "")
                {
                    iToSize = 0;
                }
                else
                {
                    iToSize = int.Parse(toSize.Text);
                }

                if (ddKM1.SelectedItem.Value == "1")
                {
                    iFromSize *= 1024 * 1024;
                }
                else
                {
                    iFromSize *= 1024;
                }

                if (iToSize != int.MaxValue)
                {
                    if (ddKM2.SelectedItem.Value == "1")
                    {
                        iToSize *= 1024 * 1024;
                    }
                    else
                    {
                        iToSize *= 1024;
                    }
                }
            }

            if (ddModified.Value != "9")
            {
                tableDateFrom.Style.Add("display", "none");
                tdDateTo.Style.Add("display", "none");
                trToDate.Style.Add("display", "none");
            }
            else
            {
                tableDateFrom.Style.Add("display", "block");
                tdDateTo.Style.Add("display", "block");
                trToDate.Style.Add("display", "block");
            }

            string sVal = ddModified.Value;
            SetDates(sVal, out startDate, out endDate, dtcStartDate.SelectedDate.ToShortDateString(), dtcEndDate.SelectedDate.ToShortDateString());

            if (iFromSize > iToSize)
            {
                lblValid.Text = "*";
                return;
            }
            else
            {
                lblValid.Text = "";
            }

            string sKeyword = tbSerchStr.Text;

            int typeId = -1;
            if (Request["TypeId"] != null)
            {
                typeId = int.Parse(Request["TypeId"]);
            }

            FileInfo[] fMas;
            if (!_containerKey.StartsWith("Workspace") && !_containerKey.StartsWith("ProjectId_"))
            {
                fMas = _fs.GetFiles(0, true, (sKeyword.Length > 0) ? sKeyword : null, iContType, startDate, endDate, iFromSize, iToSize);
            }
            else if (_containerKey == "Workspace" && typeId < 0)
            {
                fMas = Mediachase.IBN.Business.ControlSystem.FileStorage.SearchFiles(Mediachase.IBN.Business.Security.CurrentUser.UserID,
                                                                                     _containerKey, 0, true, (sKeyword.Length > 0) ? sKeyword : null, iContType, startDate, endDate, iFromSize, iToSize);
            }
            else
            {
                int projectId = -1;
                if (Request["ProjectId"] != null)
                {
                    projectId = int.Parse(Request["ProjectId"]);
                }
                fMas = Mediachase.IBN.Business.ControlSystem.FileStorage.SearchFiles(Mediachase.IBN.Business.Security.CurrentUser.UserID, projectId,
                                                                                     typeId, (sKeyword.Length > 0) ? sKeyword : null, iContType, startDate, endDate, iFromSize, iToSize);
            }

            foreach (FileInfo fi in fMas)
            {
                dr         = dt.NewRow();
                dr["Id"]   = fi.Id;
                dr["Icon"] = ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId);

                dr["Name"]         = fi.Name;
                dr["sortName"]     = fi.Name;
                dr["Description"]  = fi.Description;
                dr["ModifiedDate"] = fi.Modified.ToShortDateString();
                dr["sortModified"] = fi.Modified;
                dr["Modifier"]     = Util.CommonHelper.GetUserStatus(fi.ModifierId);
                dr["sortModifier"] = Util.CommonHelper.GetUserStatusPureName(fi.ModifierId);
                dr["ActionView"]   = String.Format("<a href=\"{0}\" title='{2}'><img width='16' height='16' align='absmiddle' border='0' src='{1}'/></a>",
                                                   String.Format("javascript:ViewFile('{0}','{1}',{2});", _containerName, fi.ContainerKey, fi.Id),
                                                   ResolveUrl("~/layouts/images/icon-search.gif"),
                                                   LocRM.GetString("tViewDetails"));
                dr["ActionJump"] = String.Format("<a href=\"{0}\"><img width='16' height='16' align='absmiddle' border='0' src='{1}' title='{2}'/></a>",
                                                 GetCurrentLink(fi.ParentDirectoryId),
                                                 ResolveUrl("~/layouts/images/FOLDER.gif"),
                                                 LocRM.GetString("tToDir"));
                dr["Size"]        = FormatBytes((long)fi.Length);
                dr["sortSize"]    = fi.Length;
                dr["ContentType"] = fi.FileBinaryContentType;
                dt.Rows.Add(dr);
            }
            #endregion

            DataView dv = dt.DefaultView;
            dv.Sort = ViewState["fls_Sort"].ToString();

            if (_pc["fs_Search_ViewStyle"] == "ListView")
            {
                #region ListView
                grdMain.Visible    = true;
                grdDetails.Visible = false;

                int i = 2;
                grdMain.Columns[i++].HeaderText = LocRM.GetString("Title");
                grdMain.Columns[i++].HeaderText = LocRM.GetString("UpdBy");
                grdMain.Columns[i++].HeaderText = LocRM.GetString("UpdDate");
                grdMain.Columns[i++].HeaderText = LocRM.GetString("Size");

                foreach (DataGridColumn dgc in grdMain.Columns)
                {
                    if (dgc.SortExpression == ViewState["fls_Sort"].ToString())
                    {
                        dgc.HeaderText += String.Format("&nbsp;<img border='0' align='absmiddle' width='9px' height='5px' src='{0}'/>",
                                                        ResolveUrl("~/layouts/images/upbtnF.jpg"));
                    }
                    else if (dgc.SortExpression + " DESC" == ViewState["fls_Sort"].ToString())
                    {
                        dgc.HeaderText += String.Format("&nbsp;<img border='0' align='absmiddle' width='9px' height='5px' src='{0}'/>",
                                                        ResolveUrl("~/layouts/images/downbtnF.jpg"));
                    }
                }

                if (ViewState["fls_PSize"] == null)
                {
                    ViewState["fls_PSize"] = "10";
                }
                grdMain.PageSize = int.Parse(ViewState["fls_PSize"].ToString());

                if (ViewState["fls_Page"] == null)
                {
                    ViewState["fls_Page"] = "0";
                }
                int pageIndex = int.Parse(ViewState["fls_Page"].ToString());
                int ppi       = dv.Count / grdMain.PageSize;
                if (dv.Count % grdMain.PageSize == 0)
                {
                    ppi = ppi - 1;
                }
                if (pageIndex <= ppi)
                {
                    grdMain.CurrentPageIndex = pageIndex;
                }
                else
                {
                    grdMain.CurrentPageIndex = 0;
                    ViewState["fls_Page"]    = "0";
                }

                if (_containerKey.StartsWith("Workspace") || _containerKey.StartsWith("ProjectId_"))
                {
                    grdMain.Columns[grdMain.Columns.Count - 1].Visible = false;
                }

                grdMain.DataSource = dv;
                grdMain.DataBind();
                #endregion
            }
            else if (_pc["fs_Search_ViewStyle"] == "DetailsView")
            {
                #region DetailsView
                grdMain.Visible    = false;
                grdDetails.Visible = true;

                if (ViewState["fls_PSize"] == null)
                {
                    ViewState["fls_PSize"] = "10";
                }
                grdDetails.PageSize = int.Parse(ViewState["fls_PSize"].ToString());

                if (ViewState["fls_Page"] == null)
                {
                    ViewState["fls_Page"] = "0";
                }
                int pageIndex = int.Parse(ViewState["fls_Page"].ToString());
                int ppi       = dv.Count / grdDetails.PageSize;
                if (dv.Count % grdDetails.PageSize == 0)
                {
                    ppi = ppi - 1;
                }
                if (pageIndex <= ppi)
                {
                    grdDetails.CurrentPageIndex = pageIndex;
                }
                else
                {
                    grdDetails.CurrentPageIndex = 0;
                    ViewState["fls_Page"]       = "0";
                }

                if (_containerKey.StartsWith("Workspace") || _containerKey.StartsWith("ProjectId_"))
                {
                    grdDetails.Columns[grdDetails.Columns.Count - 1].Visible = false;
                }

                grdDetails.DataSource = dv;
                grdDetails.DataBind();
                #endregion
            }
        }
예제 #7
0
        private void BindStorage()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Id", typeof(int)));
            dt.Columns.Add(new DataColumn("Weight", typeof(int)));              //0- Root, 1- Folder, 2-File
            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("sortName", typeof(string)));
            DataRow dr;

            CS.DirectoryInfo diCur = fs.GetDirectory(FolderId);
            if (diCur.ParentDirectoryId > 0)
            {
                dr             = dt.NewRow();
                dr["Id"]       = diCur.Id;
                dr["Weight"]   = 0;
                dr["Icon"]     = ResolveUrl("~/layouts/images/blank.gif");
                dr["Name"]     = String.Format("<a href='{0}'>{1}</a>", GetCurrentLink(diCur.ParentDirectoryId), "[..]");
                dr["sortName"] = "";
                dt.Rows.Add(dr);
            }
            if (fs.CanUserRead(diCur.Id))
            {
                CS.DirectoryInfo[] _di = fs.GetDirectories(FolderId);
                bool CanWrite          = fs.CanUserWrite(diCur.Id);
                foreach (CS.DirectoryInfo di in _di)
                {
                    if (!fs.CanUserRead(di.Id))
                    {
                        continue;
                    }
                    dr           = dt.NewRow();
                    dr["Id"]     = di.Id;
                    dr["Weight"] = 1;
                    if (Mediachase.IBN.Business.Common.IsPop3Folder(di.Id))
                    {
                        dr["Icon"] = ResolveUrl("~/layouts/images/folder_mailbox.gif");
                    }
                    else
                    {
                        dr["Icon"] = ResolveUrl("~/layouts/images/FileTypes/Folder.gif");
                    }
                    dr["Name"] = String.Format("<a href='{0}' title='{2}'>{1}</a>", GetCurrentLink(di.Id),
                                               (di.Name.Length > 40) ? di.Name.Substring(0, 37) + "..." : di.Name, di.Name);
                    dr["sortName"] = di.Name;
                    dt.Rows.Add(dr);
                }

                CS.FileInfo[] _fi = fs.GetFiles(FolderId);
                foreach (CS.FileInfo fi in _fi)
                {
                    dr             = dt.NewRow();
                    dr["Id"]       = fi.Id;
                    dr["Weight"]   = 2;
                    dr["Icon"]     = ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId);
                    dr["Name"]     = Util.CommonHelper.GetShortFileName(fi.Name, 40);
                    dr["sortName"] = fi.Name;
                    dt.Rows.Add(dr);
                }
            }
            DataView dv = dt.DefaultView;

            dv.Sort = "Weight, " + pc["fs_Sort1_" + ContainerKey].ToString();

            int i = 4;

            grdMain.Columns[i++].HeaderText = LocRM.GetString("DocTitle");

            if (pc["fs_PageSize1_" + ContainerKey] == null)
            {
                pc["fs_PageSize1_" + ContainerKey] = "10";
            }

            grdMain.PageSize = int.Parse(pc["fs_PageSize1_" + ContainerKey].ToString());

            if (pc["fs_Page1_" + ContainerKey] == null)
            {
                pc["fs_Page1_" + ContainerKey] = "0";
            }
            int PageIndex = int.Parse(pc["fs_Page1_" + ContainerKey].ToString());
            int ppi       = dv.Count / grdMain.PageSize;

            if (dv.Count % grdMain.PageSize == 0)
            {
                ppi = ppi - 1;
            }
            if (PageIndex <= ppi)
            {
                grdMain.CurrentPageIndex = PageIndex;
            }
            else
            {
                grdMain.CurrentPageIndex       = 0;
                pc["fs_Page1_" + ContainerKey] = "0";
            }

            grdMain.DataSource = dv;
            grdMain.DataBind();

            /*foreach (DataGridItem dgi in grdMain.Items)
             * {
             * }*/
        }
예제 #8
0
        private void BindValues()
        {
            int DocumentID = -1;

            using (IDataReader reader = ToDo.GetToDo(ToDoID))
            {
                if (reader.Read())
                {
                    if (reader["DocumentID"] != DBNull.Value)
                    {
                        DocumentID = (int)reader["DocumentID"];
                    }
                }
            }

            if (DocumentID < 0)
            {
                this.Visible = false;
                return;
            }

            using (IDataReader reader = Document.GetDocument(DocumentID))
            {
                if (reader.Read())
                {
                    ///  DocumentId, ProjectId, ProjectTitle, CreatorId, ManagerId,
                    ///  Title, Description, CreationDate, PriorityId, PriorityName,
                    ///  StatusId, StatusName, StateId

                    bool IsExternal = Security.CurrentUser.IsExternal;
                    if (!IsExternal)
                    {
                        lblTitle.Text = "<a href='../Documents/DocumentView.aspx?DocumentID=" + ((int)reader["DocumentID"]).ToString() + "'>" + reader["Title"].ToString() + "</a>";
                    }
                    else
                    {
                        lblTitle.Text = reader["Title"].ToString();
                    }

                    //					lblState.ForeColor = Util.CommonHelper.GetStateColor((int)reader["StateId"]);
                    lblState.Text = reader["StateName"].ToString();
                    if ((int)reader["StateId"] == (int)ObjectStates.Active || (int)reader["StateId"] == (int)ObjectStates.Overdue)
                    {
                        lblState.Text += String.Format(" ({0})", reader["StatusName"].ToString());
                    }

                    lblPriority.Text = reader["PriorityName"].ToString();
                    //					lblPriority.ForeColor = Util.CommonHelper.GetPriorityColor((int)reader["PriorityId"]);
                    lblPriority.Visible = PortalConfig.CommonDocumentAllowViewPriorityField;

                    if (reader["Description"] != DBNull.Value)
                    {
                        string txt = CommonHelper.parsetext(reader["Description"].ToString(), false);
                        if (PortalConfig.ShortInfoDescriptionLength > 0 && txt.Length > PortalConfig.ShortInfoDescriptionLength)
                        {
                            txt = txt.Substring(0, PortalConfig.ShortInfoDescriptionLength) + "...";
                        }
                        lblDescription.Text = txt;
                    }
                }
            }

            string           ContainerKey  = "DocumentVers_" + DocumentID.ToString();
            string           ContainerName = "FileLibrary";
            BaseIbnContainer bic           = BaseIbnContainer.Create(ContainerName, ContainerKey);

            Mediachase.IBN.Business.ControlSystem.FileStorage fs = (Mediachase.IBN.Business.ControlSystem.FileStorage)bic.LoadControl("FileStorage");
            FileInfo[] _fi           = fs.GetFiles(fs.Root.Id);
            FileInfo   LatestVersion = null;

            foreach (FileInfo fi in _fi)
            {
                if (LatestVersion == null || LatestVersion.Created < fi.Created)
                {
                    LatestVersion = fi;
                }
            }

            if (LatestVersion == null)
            {
                lblLatestVersion.Text = LocRM.GetString("None");
            }
            else
            {
                string Icon = String.Format("<img src='{0}' width='16' height='16' align='absmiddle' border='0'>", ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + LatestVersion.FileBinaryContentTypeId));
                //string Link = String.Format("{0}?Id={1}&CName={2}&CKey={3}", ResolveUrl("~/FileStorage/DownloadFile.aspx"), LatestVersion.Id, ContainerName, ContainerKey);
                string Link        = Util.CommonHelper.GetAbsoluteDownloadFilePath(LatestVersion.Id, LatestVersion.Name, ContainerName, ContainerKey);
                string sNameLocked = CommonHelper.GetLockerText(Link);

                lblLatestVersion.Text = String.Format("<a href=\"{0}\">{1} {2}</a> (#{3}) {4}",
                                                      Link, Icon,
                                                      LatestVersion.Name, _fi.Length,
                                                      sNameLocked);
            }


            // Toolbar
            tbView.AddText(LocRM.GetString("tbDocView"));

            ComponentArt.Web.UI.MenuItem topMenuItem = new ComponentArt.Web.UI.MenuItem();
            topMenuItem.Text                = /*"<img border='0' src='../Layouts/Images/downbtn.gif' width='9px' height='5px' align='absmiddle'/>&nbsp;" + */ LocRM2.GetString("Actions");
            topMenuItem.Look.LeftIconUrl    = ResolveUrl("~/Layouts/Images/downbtn1.gif");
            topMenuItem.Look.LeftIconHeight = Unit.Pixel(5);
            topMenuItem.Look.LeftIconWidth  = Unit.Pixel(16);
            topMenuItem.LookId              = "TopItemLook";

            ComponentArt.Web.UI.MenuItem subItem;

            if (!Security.CurrentUser.IsExternal)
            {
                subItem = new ComponentArt.Web.UI.MenuItem();
                subItem.Look.LeftIconUrl    = "~/Layouts/Images/icon-search.gif";
                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                subItem.NavigateUrl         = String.Format("~/Documents/DocumentView.aspx?DocumentID={0}", DocumentID);
                subItem.Text = LocRM.GetString("View");
                topMenuItem.Items.Add(subItem);
            }

            if (Document.CanAddVersion(DocumentID))
            {
                subItem = new ComponentArt.Web.UI.MenuItem();
                subItem.Look.LeftIconUrl    = "~/Layouts/Images/FileTypes/common.gif";
                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                string commandLink = (Security.CurrentUser.IsExternal) ? "~/External/FileUpload.aspx" : "~/FileStorage/FileUpload.aspx";
                subItem.ClientSideCommand = String.Format("javascript:ShowWizard('{0}?ParentFolderId={1}&ContainerKey={2}&ContainerName={3}{4}', 470, 270);",
                                                          ResolveUrl(commandLink), fs.Root.Id, ContainerKey, ContainerName,
                                                          (Security.CurrentUser.IsExternal) ? ("&ExternalId=" + Security.CurrentUser.UserID) : "");
                subItem.Text = LocRM3.GetString("tAddVersion");
                topMenuItem.Items.Add(subItem);
            }

            if (topMenuItem.Items.Count > 0)
            {
                tbView.ActionsMenu.Items.Add(topMenuItem);
            }
        }
예제 #9
0
        private void BindList()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Id", typeof(int)));
            dt.Columns.Add(new DataColumn("ContainerKey", typeof(string)));
            dt.Columns.Add(new DataColumn("ParentFolderId", typeof(int)));
            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("sortName", typeof(string)));
            dt.Columns.Add(new DataColumn("Description", typeof(string)));
            dt.Columns.Add(new DataColumn("ModifiedDate", typeof(string)));
            dt.Columns.Add(new DataColumn("sortModified", typeof(DateTime)));
            dt.Columns.Add(new DataColumn("Modifier", typeof(string)));
            dt.Columns.Add(new DataColumn("sortModifier", typeof(string)));
            dt.Columns.Add(new DataColumn("ActionVS", typeof(string)));
            dt.Columns.Add(new DataColumn("Size", typeof(string)));
            dt.Columns.Add(new DataColumn("sortSize", typeof(int)));
            dt.Columns.Add(new DataColumn("ContentType", typeof(string)));
            DataRow dr;

            #region BindDataTable
            int      iContTypeId = 0;
            DateTime startDate   = DateTime.MinValue;
            DateTime endDate     = DateTime.MinValue;
            if (Top <= 0)
            {
                iContTypeId = int.Parse(ddContType.SelectedValue);
                string sVal = ddPeriod.Value;
                if (sVal == "9")
                {
                    DateTime date = DateTime.Parse(_pc["fl_Start" + _containerKey], _culture);
                    startDate = date;
                    date      = DateTime.Parse(_pc["fl_End" + _containerKey], _culture);
                    endDate   = date;
                }
                else
                {
                    SetDates(sVal, out startDate, out endDate, "", "");
                }
            }

            FileInfo[] fMas;
            if (!_containerKey.StartsWith("Workspace") && !_containerKey.StartsWith("ProjectId_"))
            {
                fMas = _fs.GetFiles(0, true, null, iContTypeId, startDate, endDate, 0, 0);
            }
            else if (_containerKey == "Workspace" && _typeId < 0)
            {
                fMas = Mediachase.IBN.Business.ControlSystem.FileStorage.SearchFiles(Mediachase.IBN.Business.Security.CurrentUser.UserID,
                                                                                     _containerKey, 0, true, null, iContTypeId, startDate, endDate, 0, 0);
            }
            else
            {
                int projectId = -1;
                if (Request["ProjectId"] != null)
                {
                    projectId = int.Parse(Request["ProjectId"]);
                }
                fMas = Mediachase.IBN.Business.ControlSystem.FileStorage.SearchFiles(Mediachase.IBN.Business.Security.CurrentUser.UserID, projectId,
                                                                                     _typeId, null, iContTypeId, startDate, endDate, 0, 0);
            }

            foreach (FileInfo fi in fMas)
            {
                dr                   = dt.NewRow();
                dr["Id"]             = fi.Id;
                dr["ContainerKey"]   = fi.ContainerKey;
                dr["ParentFolderId"] = fi.ParentDirectory.Id;
                dr["Icon"]           = ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId);

                dr["Name"]         = fi.Name;
                dr["sortName"]     = fi.Name;
                dr["Description"]  = fi.Description;
                dr["ModifiedDate"] = fi.Modified.ToShortDateString();
                dr["sortModified"] = fi.Modified;
                dr["Modifier"]     = Util.CommonHelper.GetUserStatus(fi.ModifierId);
                dr["sortModifier"] = Util.CommonHelper.GetUserStatusPureName(fi.ModifierId);
                dr["Size"]         = FormatBytes((long)fi.Length);
                dr["sortSize"]     = fi.Length;
                dr["ActionVS"]     = String.Format("<a href=\"{0}\"><img width='16' height='16' align='absmiddle' border='0' src='{1}' title='{2}'/></a>",
                                                   String.Format("javascript:ViewFile('{0}','{1}',{2});", _containerName, fi.ContainerKey, fi.Id),
                                                   ResolveUrl("~/layouts/images/icon-search.gif"),
                                                   LocRM.GetString("tViewDetails"));
                dr["ContentType"] = fi.FileBinaryContentType;
                dt.Rows.Add(dr);
            }
            #endregion

            DataView dv = dt.DefaultView;
            if (Top > 0)
            {
                dv.Sort = "sortModified DESC";
            }
            else
            {
                dv.Sort = _pc["fl_Sort_" + _containerKey].ToString();
            }

            if (_pc["fs_List_ViewStyle"] == "ListView" || Top > 0)
            {
                #region ListView
                grdMain.Visible    = true;
                grdDetails.Visible = false;

                int i = 4;
                grdMain.Columns[i++].HeaderText = LocRM.GetString("tName");
                grdMain.Columns[i++].HeaderText = LocRM.GetString("tLocation");
                grdMain.Columns[i++].HeaderText = LocRM.GetString("UpdatedBy");
                grdMain.Columns[i++].HeaderText = LocRM.GetString("UpdatedDate");
                grdMain.Columns[i++].HeaderText = LocRM.GetString("Size");

                foreach (DataGridColumn dgc in grdMain.Columns)
                {
                    if (dgc.SortExpression == _pc["fl_Sort_" + _containerKey].ToString())
                    {
                        dgc.HeaderText += String.Format("&nbsp;<img border='0' align='absmiddle' width='9px' height='5px' src='{0}'/>",
                                                        ResolveUrl("~/layouts/images/upbtnF.jpg"));
                    }
                    else if (dgc.SortExpression + " DESC" == _pc["fl_Sort_" + _containerKey].ToString())
                    {
                        dgc.HeaderText += String.Format("&nbsp;<img border='0' align='absmiddle' width='9px' height='5px' src='{0}'/>",
                                                        ResolveUrl("~/layouts/images/downbtnF.jpg"));
                    }
                }

                if (_pc["fl_PageSize_" + _containerKey] == null)
                {
                    _pc["fl_PageSize_" + _containerKey] = "10";
                }
                grdMain.PageSize = int.Parse(_pc["fl_PageSize_" + _containerKey].ToString());

                if (_pc["fl_Page_" + _containerKey] == null)
                {
                    _pc["fl_Page_" + _containerKey] = "0";
                }
                int pageIndex = int.Parse(_pc["fl_Page_" + _containerKey].ToString());
                int ppi       = dv.Count / grdMain.PageSize;
                if (dv.Count % grdMain.PageSize == 0)
                {
                    ppi = ppi - 1;
                }
                if (pageIndex <= ppi)
                {
                    grdMain.CurrentPageIndex = pageIndex;
                }
                else
                {
                    grdMain.CurrentPageIndex        = 0;
                    _pc["fl_Page_" + _containerKey] = "0";
                }

                grdMain.DataSource = dv;
                if (Top > 0)
                {
                    grdMain.LayoutFixed        = false;
                    grdMain.Columns[5].Visible = false;
//					grdMain.Columns[6].ItemStyle.Width = Unit.Pixel(0);
                    grdMain.Columns[7].ItemStyle.Width = Unit.Pixel(75);                        // Created
                    grdMain.Columns[grdMain.Columns.Count - 1].Visible = false;
                    grdMain.Columns[grdMain.Columns.Count - 2].Visible = false;
                    grdMain.Columns[grdMain.Columns.Count - 3].Visible = false;
                }
                else
                {
                    grdMain.Columns[6].Visible = false;
                }

                grdMain.DataBind();

                if (Top > 0)
                {
                    grdMain.PageSize           = Top;
                    grdMain.AllowPaging        = false;
                    grdMain.PagerStyle.Visible = false;
                    grdMain.ShowHeader         = false;
                    for (i = 0; i < grdMain.Columns.Count; i++)
                    {
                        grdMain.Columns[i].ItemStyle.CssClass = "ibn-propertysheet";
                    }
                    grdMain.CellPadding = 2;
                }
                else
                {
                    foreach (DataGridItem dgi in grdMain.Items)
                    {
                        ImageButton ib = (ImageButton)dgi.FindControl("ibDelete");
                        if (ib != null)
                        {
                            ib.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("Warning") + "');");
                            ib.ToolTip = LocRM.GetString("tDelDoc");
                        }
                    }
                }
                #endregion
            }
            else if (_pc["fs_List_ViewStyle"] == "DetailsView")
            {
                #region DetailsView
                grdMain.Visible    = false;
                grdDetails.Visible = true;

                if (_pc["fl_PageSize_" + _containerKey] == null)
                {
                    _pc["fl_PageSize_" + _containerKey] = "10";
                }
                grdDetails.PageSize = int.Parse(_pc["fl_PageSize_" + _containerKey].ToString());

                if (_pc["fl_Page_" + _containerKey] == null)
                {
                    _pc["fl_Page_" + _containerKey] = "0";
                }
                int pageIndex = int.Parse(_pc["fl_Page_" + _containerKey].ToString());
                int ppi       = dv.Count / grdDetails.PageSize;
                if (dv.Count % grdDetails.PageSize == 0)
                {
                    ppi = ppi - 1;
                }
                if (pageIndex <= ppi)
                {
                    grdDetails.CurrentPageIndex = pageIndex;
                }
                else
                {
                    grdDetails.CurrentPageIndex     = 0;
                    _pc["fl_Page_" + _containerKey] = "0";
                }

                grdDetails.DataSource = dv;
                if (Top > 0)
                {
                    grdDetails.LayoutFixed = false;
                    //grdDetails.Columns[5].Visible = false;  -- Location
                    //grdDetails.Columns[6].ItemStyle.Width = Unit.Pixel(0);  -- Modifier
                    //grdDetails.Columns[7].ItemStyle.Width = Unit.Pixel(0);  -- Modified
                    grdDetails.Columns[grdDetails.Columns.Count - 1].Visible = false;
                    grdDetails.Columns[grdDetails.Columns.Count - 2].Visible = false;
                    grdDetails.Columns[grdDetails.Columns.Count - 3].Visible = false;
                }
                //else
                //    grdDetails.Columns[6].Visible = false; -- Modifier

                grdDetails.DataBind();

                if (Top > 0)
                {
                    grdDetails.PageSize           = Top;
                    grdDetails.AllowPaging        = false;
                    grdDetails.PagerStyle.Visible = false;
                    grdDetails.ShowHeader         = false;
                    for (int i = 0; i < grdDetails.Columns.Count; i++)
                    {
                        grdDetails.Columns[i].ItemStyle.CssClass = "ibn-propertysheet";
                    }
                    grdDetails.CellPadding = 2;
                }
                else
                {
                    foreach (DataGridItem dgi in grdDetails.Items)
                    {
                        ImageButton ib = (ImageButton)dgi.FindControl("ibDelete2");
                        if (ib != null)
                        {
                            ib.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("Warning") + "');");
                            ib.ToolTip = LocRM.GetString("tDelDoc");
                        }
                    }
                }
                #endregion
            }
        }
예제 #10
0
        private void BindData()
        {
            if (Security.CurrentUser.IsExternal)
            {
                grdMain.Columns[3].Visible = false;
            }

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("Title", typeof(string)));
            dt.Columns.Add(new DataColumn("Description", typeof(string)));
            dt.Columns.Add(new DataColumn("Size", typeof(string)));
            dt.Columns.Add(new DataColumn("Created", typeof(DateTime)));
            dt.Columns.Add(new DataColumn("Version", typeof(string)));
            dt.Columns.Add(new DataColumn("Id", typeof(int)));
            DataRow dr;

            FileInfo[] fMas = _fs.GetFiles(_fs.Root.Id);
            foreach (FileInfo fi in fMas)
            {
                dr         = dt.NewRow();
                dr["Icon"] = ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId);

                string sLink = "";
                if (fi.FileBinaryContentType.ToLower().IndexOf("url") >= 0)
                {
                    sLink = Util.CommonHelper.GetLinkText(_fs, fi);
                }
                if (sLink == "")
                {
                    sLink = Util.CommonHelper.GetAbsoluteDownloadFilePath(fi.Id, fi.Name, ContainerName, ContainerKey);
                }

                string sNameLocked = CommonHelper.GetLockerText(sLink);

                dr["Title"] = String.Format("<a href=\"{0}\"{2}>{1}</a> {3}",
                                            sLink, fi.Name,
                                            Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType) ? " target='_blank'" : "",
                                            sNameLocked);

                dr["Description"] = fi.Description;
                dr["Created"]     = fi.Created;
                dr["Size"]        = FormatBytes((long)fi.Length);
                dr["Id"]          = fi.Id;
                dt.Rows.Add(dr);
            }
            DataView dv = dt.DefaultView;

            dv.Sort = "Created DESC";
            int i = dv.Count;

            foreach (DataRowView drv in dv)
            {
                drv["Version"] = i.ToString();
                i--;
            }
            grdMain.DataSource = dv;
            grdMain.DataBind();

            foreach (DataGridItem dgi in grdMain.Items)
            {
                HyperLink hl = (HyperLink)dgi.FindControl("ibPublish");
                if (hl != null)
                {
                    hl.ToolTip = LocRM.GetString("Publish");
                }
            }
        }
예제 #11
0
        private DataTable BindStorage()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("PrimaryKeyId", typeof(string)));
            dt.Columns.Add(new DataColumn("Id", typeof(int)));
            dt.Columns.Add(new DataColumn("Weight", typeof(int)));              //0- Root, 1- Folder, 2-File
            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("BigIcon", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("sortName", typeof(string)));
            dt.Columns.Add(new DataColumn("Description", typeof(string)));
            dt.Columns.Add(new DataColumn("ModifiedDate", typeof(string)));
            dt.Columns.Add(new DataColumn("sortModified", typeof(DateTime)));
            dt.Columns.Add(new DataColumn("Modifier", typeof(string)));
            dt.Columns.Add(new DataColumn("sortModifier", typeof(string)));
            dt.Columns.Add(new DataColumn("Size", typeof(string)));
            dt.Columns.Add(new DataColumn("sortSize", typeof(int)));
            DataRow       dr;
            DirectoryInfo diCur = _fs.GetDirectory(_folderId);

            if (diCur.ParentDirectoryId > 0)
            {
                #region Parent Directory
                dr                 = dt.NewRow();
                dr["Id"]           = diCur.Id;
                dr["Weight"]       = 0;
                dr["PrimaryKeyId"] = GetUniqueKey(dr["Weight"].ToString(), dr["Id"].ToString());
                dr["Icon"]         = String.Format("<img alt='' src='{0}' width='16' height='16' />", ResolveClientUrl("~/layouts/images/blank.gif"));
                dr["BigIcon"]      = "";
                if (_pc["fs_ViewStyle"] == "Thumbnails")
                {
                    dr["BigIcon"] = String.Format("<a href=\"{0}\"><img src='{1}' align='absmiddle' border='0' /></a>",
                                                  GetCurrentLink(diCur.ParentDirectoryId),
                                                  ResolveClientUrl("/layouts/images/back-up.gif"));
                }
                dr["Name"]     = String.Format("<a href=\"{0}\">{1}</a>", GetCurrentLink(diCur.ParentDirectoryId), "[..]");
                dr["sortName"] = "";
                dr["sortSize"] = 0;
                dt.Rows.Add(dr);
                #endregion
            }
            bool isExternal = Mediachase.IBN.Business.Security.CurrentUser.IsExternal;
            if (_fs.CanUserRead(diCur.Id))
            {
                DirectoryInfo[] dMas     = _fs.GetDirectories(_folderId);
                bool            canWrite = _fs.CanUserWrite(diCur.Id);
                foreach (DirectoryInfo di in dMas)
                {
                    #region Children Directories
                    if (!_fs.CanUserRead(di.Id))
                    {
                        continue;
                    }
                    dr                 = dt.NewRow();
                    dr["Id"]           = di.Id;
                    dr["Weight"]       = 1;
                    dr["PrimaryKeyId"] = GetUniqueKey(dr["Weight"].ToString(), dr["Id"].ToString());
                    if (Mediachase.IBN.Business.Common.IsPop3Folder(di.Id))
                    {
                        dr["Icon"] = String.Format("<img alt='' src='{0}' width='16' height='16' />", ResolveClientUrl("~/layouts/images/folder_mailbox.gif"));
                    }
                    else
                    {
                        dr["Icon"] = String.Format("<img alt='' src='{0}' width='16' height='16' />", ResolveClientUrl("~/layouts/images/FileTypes/Folder.gif"));
                    }
                    dr["BigIcon"] = "";
                    if (_pc["fs_ViewStyle"] == "Thumbnails")
                    {
                        dr["BigIcon"] = String.Format("<a href=\"{0}\"><img src='{1}' align='absmiddle' border='0' /></a>",
                                                      GetCurrentLink(di.Id),
                                                      (Mediachase.IBN.Business.Common.IsPop3Folder(di.Id)) ?
                                                      ResolveClientUrl("~/layouts/images/mailfolder.gif") :
                                                      ResolveClientUrl("~/layouts/images/folder1.gif"));
                        dr["Name"] = String.Format("<a href=\"{0}\" title='{2}'>{1}</a>",
                                                   GetCurrentLink(di.Id),
                                                   (di.Name.Length > 27) ? di.Name.Substring(0, 24) + "..." : di.Name,
                                                   di.Name
                                                   );
                    }
                    else
                    {
                        dr["Name"] = String.Format("<a href=\"{0}\" title='{2}'>{1}</a>", GetCurrentLink(di.Id),
                                                   (di.Name.Length > 40) ? di.Name.Substring(0, 37) + "..." : di.Name, di.Name);
                    }
                    dr["sortName"]     = di.Name;
                    dr["ModifiedDate"] = di.Modified.ToShortDateString();
                    dr["sortModified"] = di.Modified;
                    dr["Modifier"]     = CommonHelper.GetUserStatus(di.ModifierId);
                    dr["sortModifier"] = CommonHelper.GetUserStatusPureName(di.ModifierId);
                    dr["sortSize"]     = 0;
                    dt.Rows.Add(dr);
                    #endregion
                }

                FileInfo[] fMas = _fs.GetFiles(_folderId);
                foreach (FileInfo fi in fMas)
                {
                    #region Children Files
                    dr                 = dt.NewRow();
                    dr["Id"]           = fi.Id;
                    dr["Weight"]       = 2;
                    dr["PrimaryKeyId"] = GetUniqueKey(dr["Weight"].ToString(), dr["Id"].ToString());
                    dr["Icon"]         = String.Format("<img alt='' src='{0}' width='16' height='16' />", ResolveClientUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId));
                    dr["BigIcon"]      = "";
                    string sLink = "";
                    if (fi.FileBinaryContentType.ToLower().IndexOf("url") >= 0)
                    {
                        sLink = CommonHelper.GetLinkText(_fs, fi);
                    }
                    if (sLink == "")
                    {
                        sLink = CommonHelper.GetAbsoluteDownloadFilePath(fi.Id, fi.Name, _containerName, _containerKey);
                    }

                    string sNameLocked = CommonHelper.GetLockerText(sLink);

                    if (_pc["fs_ViewStyle"] == "Thumbnails")
                    {
                        dr["BigIcon"] = String.Format("<a href=\"{0}\"{2}>{1}</a>",
                                                      sLink,
                                                      String.Format("<img src='{0}' align='absmiddle' border='0' />",
                                                                    String.Format(ResolveClientUrl("~/Common/ContentIcon.aspx?Big=1&IconID={0}&ContainerKey={1}&FileId={2}"), fi.FileBinaryContentTypeId, _containerKey, fi.Id)),
                                                      Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType) ? " target='_blank'" : ""
                                                      );
                        dr["Name"] = String.Format("<a href=\"{0}\" title='{3}'{2}>{1}</a> {4}",
                                                   sLink,
                                                   CommonHelper.GetShortFileName(fi.Name, 27),
                                                   Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType) ? " target='_blank'" : "",
                                                   fi.Name,
                                                   sNameLocked
                                                   );
                    }
                    else
                    {
                        dr["Name"] = String.Format("<a href='{0}' title='{3}'{2}>{1}</a> {4}",
                                                   sLink,
                                                   CommonHelper.GetShortFileName(fi.Name, 40),
                                                   Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType) ? " target='_blank'" : "",
                                                   fi.Name,
                                                   sNameLocked
                                                   );
                    }
                    dr["sortName"]     = fi.Name;
                    dr["Description"]  = fi.Description;
                    dr["ModifiedDate"] = fi.Modified.ToShortDateString();
                    dr["sortModified"] = fi.Modified;
                    dr["Modifier"]     = CommonHelper.GetUserStatus(fi.ModifierId);
                    dr["sortModifier"] = CommonHelper.GetUserStatusPureName(fi.ModifierId);
                    dr["Size"]         = FormatBytes((long)fi.Length);
                    dr["sortSize"]     = fi.Length;
                    dt.Rows.Add(dr);
                    #endregion
                }
            }

            return(dt);
        }