Ejemplo n.º 1
0
        public ListFolderResponse OnListFolder(ListFolder list)
        {
            ListFolderResponse response = new ListFolderResponse();

            response.Items = mTestFolderManager.ListFolders();
            return(response);
        }
Ejemplo n.º 2
0
 public bool IsEnable(object Sender, object Element)
 {
     bool retval = true;
     object id = CHelper.GetFromContext("ListFolderId");
     if (id != null)
     {
         int iid = -1;
         int.TryParse(id.ToString(), out iid);
         if (iid == -1)
             retval = false;
         else if (iid > 0)
         {
             if (iid == (int)ListManager.GetPublicRoot().PrimaryKeyId.Value)
                 return false;
             if (iid == (int)ListManager.GetPrivateRoot(Mediachase.IBN.Business.Security.CurrentUser.UserID).PrimaryKeyId.Value)
                 return false;
             ListFolder fld = new ListFolder(iid);
             if (!fld.ParentId.HasValue && fld.FolderType == ListFolderType.Project)
                 return false;
             if (!ListManager.CanDeleteFolder(iid))
                 return false;
         }
     }
     return retval;
 }
Ejemplo n.º 3
0
 public void Initialize()
 {
     _instance = new ListFolder
     {
         Numbering = BuildTestNumbering()
     };
 }
Ejemplo n.º 4
0
        private void FillListFolder(object sender, EventArgs e)
        {
            //DbSettings.FolderRename(0, "Root");

            ListFolder.Clear();
            ListFolder = DbSettings.GetListOfFolders();

            FillListSetting(sender, e);

            string text = string.Empty;

            foreach (var item in ListFolder)
            {
                text += item.IdFolder + " --- " + item.FullPath + Environment.NewLine;
            }
            TxMessage.AppendText(text);
            Print($"Folders = {ListFolder.Count}");

            /*
             * ReturnCode code = ReturnCodeFactory.Error();
             * Print("Renaming...");
             * foreach (var item in ListFolder)
             * {
             * if (item.NameFolder.Length > 8 )
             * {
             *  code = DbSettings.FolderRename(item.IdFolder, "Item_" + item.IdFolder.ToString());
             *  //if (code.Success) Print($"RENAMED {item.FullPath}");
             * }
             *
             * }
             * Print("STOP");
             */
        }
Ejemplo n.º 5
0
        private void BindData()
        {
            rbList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}"), "0"));
            rbList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}"), "1"));
            if (Configuration.ProjectManagementEnabled)
            {
                rbList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.ListInfo:tPrjLists}"), "2"));
            }
            rbList.Width       = Unit.Percentage(100);
            rbList.CellPadding = 5;

            ListInfo   liInfo = new ListInfo(_listId);
            ListFolder folder = new ListFolder(liInfo.FolderId.Value);

            switch (folder.FolderType)
            {
            case ListFolderType.Public:
                rbList.SelectedValue = "1";
                trProject.Visible    = false;
                break;

            case ListFolderType.Project:
                rbList.SelectedValue   = "2";
                trProject.Visible      = true;
                ucProject.ObjectId     = folder.ProjectId.Value;
                ucProject.ObjectTypeId = (int)ObjectTypes.Project;
                break;

            default:
                rbList.SelectedValue = "0";
                trProject.Visible    = false;
                break;
            }
            BindTree();
        }
Ejemplo n.º 6
0
        public bool IsEnable(object Sender, object Element)
        {
            bool   retval = true;
            object id     = CHelper.GetFromContext("ListFolderId");

            if (id != null)
            {
                int iid = -1;
                int.TryParse(id.ToString(), out iid);
                if (iid == -1)
                {
                    retval = false;
                }
                else if (iid > 0)
                {
                    if (iid == (int)ListManager.GetPublicRoot().PrimaryKeyId.Value)
                    {
                        return(false);
                    }
                    if (iid == (int)ListManager.GetPrivateRoot(Mediachase.IBN.Business.Security.CurrentUser.UserID).PrimaryKeyId.Value)
                    {
                        return(false);
                    }
                    ListFolder fld = new ListFolder(iid);
                    if (!fld.ParentId.HasValue && fld.FolderType == ListFolderType.Project)
                    {
                        return(false);
                    }
                }
            }
            return(retval);
        }
Ejemplo n.º 7
0
        private void BindToolBar()
        {
            if (ListFolderId > 0)
            {
                secHeader.Title = CHelper.GetResFileString("{IbnFramework.ListInfo:EditFolder}");
            }
            else
            {
                string     sTitle = "";
                ListFolder folder = new ListFolder(parentFolderId);
                if (folder.FolderType != ListFolderType.Project)
                {
                    if (folder.FolderType == ListFolderType.Private)
                    {
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    }
                    else
                    {
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                    }
                }
                else
                {
                    sTitle = Task.GetProjectTitle(folder.ProjectId.Value);
                }

                secHeader.Title = CHelper.GetResFileString("{IbnFramework.ListInfo:CreateFolder}") + " '" + sTitle + "'";
            }
        }
Ejemplo n.º 8
0
        protected void Button1_Click(object sender, System.EventArgs e)
        {
            if (tbFolderTitle.Text == "")
            {
                return;
            }
            if (ListFolderId > 0)
            {
                ListFolder folder = new ListFolder(ListFolderId);
                folder.Title = tbFolderTitle.Text;
                folder.Save();
            }
            else
            {
                ListManager.CreateFolder(parentFolderId, tbFolderTitle.Text);
            }

            if (ProjectId < 0)
            {
                Response.Redirect("~/Apps/ListApp/Pages/ListInfoList.aspx?Tab=0&ListFolderId=" + parentFolderId.ToString());
            }
            else
            {
                Response.Redirect("~/Projects/ProjectView.aspx?Tab=Lists&ProjectId=" + ProjectId.ToString() + "&ListFolderId=" + parentFolderId.ToString());
            }
        }
Ejemplo n.º 9
0
        private void BindTree()
        {
            int iFolderId = -1;

            switch (rbList.SelectedValue)
            {
            case "1":
                iFolderId = ListManager.GetPublicRoot().PrimaryKeyId.Value;
                break;

            case "2":
                int prjId = ucProject.ObjectId;
                if (prjId > 0)
                {
                    iFolderId = ListManager.GetProjectRoot(prjId).PrimaryKeyId.Value;
                }
                break;

            default:
                iFolderId = ListManager.GetPrivateRoot(Mediachase.IBN.Business.Security.CurrentUser.UserID).PrimaryKeyId.Value;
                break;
            }

            MoveTree.Nodes.Clear();
            MoveTree.ClientSideOnNodeSelect = "onNodeClick";
            if (iFolderId > 0)
            {
                TreeViewNode node;
                ListFolder   folder = new ListFolder(iFolderId);
                node = new TreeViewNode();
                if (folder.FolderType == ListFolderType.Private)
                {
                    node.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    node.ID   = "listfolder" + iFolderId.ToString() + "private";
                }
                else if (folder.FolderType == ListFolderType.Public)
                {
                    node.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                    node.ID   = "listfolder" + iFolderId.ToString();
                }
                else if (folder.FolderType == ListFolderType.Project)
                {
                    node.Text = Task.GetProjectTitle(folder.ProjectId.Value);
                    node.ID   = "listfolder" + iFolderId.ToString() + "project";
                }
                node.Value = iFolderId.ToString();
                if (folder.HasChildren)
                {
                    node.ContentCallbackUrl = ResolveClientUrl("~/Modules/XmlForTreeView.aspx") + "?MoveList=" + _listId.ToString() + "&ListFolderId1=" + iFolderId.ToString();
                }
                MoveTree.Nodes.Add(node);
            }
            btnMove.Disabled       = true;
            btnMoveAssign.Disabled = true;
            btnMove.Style.Add("color", "#aeaeae");
            btnMoveAssign.Style.Add("color", "#aeaeae");
        }
Ejemplo n.º 10
0
        private void TestGetIdFolder(object sender, EventArgs e)
        {
            string FullPath;

            FullPath   = ListFolder.PickRandom().FullPath;
            TxOne.Text = FullPath;
            Stopwatch sw       = Stopwatch.StartNew();
            int       IdFolder = DbSettings.GetIdFolder(FullPath);

            sw.Stop();
            //Print($"{DateTime.Now} ________  Id Folder = {IdFolder}");
            TxTwo.Text = $"{IdFolder} -------- {sw.ElapsedMilliseconds}";
        }
Ejemplo n.º 11
0
 private void BindData()
 {
     lblFolderTitle.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:FolderTitle}");
     if (ListFolderId > 0)
     {
         string     fName  = "";
         ListFolder folder = new ListFolder(ListFolderId);
         if (folder != null)
         {
             fName = folder.Title;
         }
         tbFolderTitle.Text = HttpUtility.HtmlDecode(fName);
     }
 }
Ejemplo n.º 12
0
        public override ParagraphStateCache Create()
        {
            var numberListItemFactory = new NumberListFactory
            {
                Filter      = new NextParagraphFilter(),
                ItemFactory = new NumberItemFactory
                {
                    Numbering = Numbering,
                    Styles    = Styles
                }
            };
            var folder = new ListFolder {
                Numbering = Numbering
            };

            return(folder.Fold(numberListItemFactory.Build(Body)));
        }
Ejemplo n.º 13
0
        protected void Button1_Click(object sender, System.EventArgs e)
        {
            if (tbFolderTitle.Text == "")
                return;
            if (ListFolderId > 0)
            {
                ListFolder folder = new ListFolder(ListFolderId);
                folder.Title = tbFolderTitle.Text;
                folder.Save();
            }
            else
                ListManager.CreateFolder(parentFolderId, tbFolderTitle.Text);

            if (ProjectId < 0)
                Response.Redirect("~/Apps/ListApp/Pages/ListInfoList.aspx?Tab=0&ListFolderId=" + parentFolderId.ToString());
            else
                Response.Redirect("~/Projects/ProjectView.aspx?Tab=Lists&ProjectId=" + ProjectId.ToString() + "&ListFolderId=" + parentFolderId.ToString());
        }
Ejemplo n.º 14
0
        private void BindJsTree()
        {
            string folderId = Request["FolderId"];

            ArrayList parentList = new ArrayList();
            if (!String.IsNullOrEmpty(folderId))
            {
                PrimaryKeyId iFolder = PrimaryKeyId.Parse(folderId);
                while (true)
                {
                    ListFolder folder = new ListFolder(iFolder);
                    parentList.Add(folder.PrimaryKeyId.Value);
                    if (!folder.ParentId.HasValue)
                        break;
                    iFolder = folder.ParentId.Value;
                }
            }

            BindNode("0", parentList);
        }
Ejemplo n.º 15
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                object id = CHelper.GetFromContext("ListFolderId");
                if (id != null)
                {
                    int iid = -1;
                    int.TryParse(id.ToString(), out iid);

                    ListFolder folder = new ListFolder(iid);
                    UserLightPropertyCollection _pc = Mediachase.IBN.Business.Security.CurrentUser.Properties;
                    if(folder.ParentId.HasValue)
                        _pc["ListInfo_FolderId_EntityList_GroupItemKey"] = folder.ParentId.Value.ToString();

                    ListManager.DeleteFolder(iid);

                    ((Control)Sender).Page.Response.Redirect("~/Apps/ListApp/Pages/ListAppList.aspx");
                }
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Binds the tool bar.
        /// </summary>
        private void BindBlockHeader()
        {
            int    ListFolderId = 1;
            int    ProjectId    = 0;
            string sTitle       = CHelper.GetResFileString("{IbnFramework.ListInfo:tLists}");

            if (ListFolderId == -1)
            {
                sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrjLists}");
            }
            else if (ProjectId <= 0)
            {
                ListFolder folder          = new ListFolder(ListFolderId);
                int        iParentFolderId = (folder.ParentId.HasValue) ? (int)folder.ParentId.Value : 0;
                if (iParentFolderId == 0 && folder.FolderType != ListFolderType.Project)
                {
                    if (folder.FolderType == ListFolderType.Private)
                    {
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    }
                    else
                    {
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                    }
                }
                else if (iParentFolderId == 0)
                {
                    int projectId = ListFolderId;
                    if (folder.ProjectId.HasValue)
                    {
                        projectId = folder.ProjectId.Value;
                    }
                    sTitle = Task.GetProjectTitle(projectId);
                }
            }

            BlockHeaderMain.Title = sTitle;
        }
Ejemplo n.º 17
0
        private void BindJsTree()
        {
            string folderId = Request["FolderId"];

            ArrayList parentList = new ArrayList();

            if (!String.IsNullOrEmpty(folderId))
            {
                PrimaryKeyId iFolder = PrimaryKeyId.Parse(folderId);
                while (true)
                {
                    ListFolder folder = new ListFolder(iFolder);
                    parentList.Add(folder.PrimaryKeyId.Value);
                    if (!folder.ParentId.HasValue)
                    {
                        break;
                    }
                    iFolder = folder.ParentId.Value;
                }
            }

            BindNode("0", parentList);
        }
Ejemplo n.º 18
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                object id = CHelper.GetFromContext("ListFolderId");
                if (id != null)
                {
                    int iid = -1;
                    int.TryParse(id.ToString(), out iid);

                    ListFolder folder = new ListFolder(iid);
                    UserLightPropertyCollection _pc = Mediachase.IBN.Business.Security.CurrentUser.Properties;
                    if (folder.ParentId.HasValue)
                    {
                        _pc["ListInfo_FolderId_EntityList_GroupItemKey"] = folder.ParentId.Value.ToString();
                    }

                    ListManager.DeleteFolder(iid);

                    ((Control)Sender).Page.Response.Redirect("~/Apps/ListApp/Pages/ListAppList.aspx");
                }
            }
        }
Ejemplo n.º 19
0
        private void BindSubNodes(TreeViewNode parentNode, ListFolder parent, int selectedId)
        {
            Mediachase.Ibn.Data.Services.TreeService ts = parent.GetService<Mediachase.Ibn.Data.Services.TreeService>();
            foreach (Mediachase.Ibn.Data.Services.TreeNode tN in ts.GetChildNodes())
            {
                MetaObject moFolder = tN.InnerObject;
                ListFolder folder = new ListFolder(moFolder.PrimaryKeyId.Value);
                int iFolderId = folder.PrimaryKeyId.Value;
                TreeViewNode node = new TreeViewNode();
                node.Text = folder.Title;

                bool IsPrivate = (folder.FolderType == ListFolderType.Private);
                if (folder.HasChildren)
                {
                    BindSubNodes(node, folder, selectedId);
                }
                node.ID = "listfolder" + iFolderId.ToString();
                if (IsPrivate)
                    node.ID += "private";
                node.Value = iFolderId.ToString();
                if (iFolderId == selectedId)
                    MoveTree.SelectedNode = node;
                parentNode.Nodes.Add(node);
            }
        }
Ejemplo n.º 20
0
        protected void Page_PreRender(object sender, System.EventArgs e)
        {
            if (String.IsNullOrEmpty(ClassName))
                return;

            MetaClass mc = MetaDataWrapper.GetMetaClassByName(ClassName);

            try
            {
                object obj = pT.CurrentControl.GetType().BaseType.GetProperty("SectionHeader").GetValue(pT.CurrentControl, null);
                if (obj is PageViewMenu)
                {
                    PageViewMenu BlockHeaderMain = obj as PageViewMenu;

                    ListInfo li = ListManager.GetListInfoByMetaClass(mc);

                    BlockHeaderMain.Title = GetGlobalResourceObject("IbnFramework.ListInfo", "ListManagement").ToString();

                    // Menu
                    ComponentArt.Web.UI.MenuItem topMenuItem;
                    ComponentArt.Web.UI.MenuItem subItem;

                    // New Field
            /*					topMenuItem = new ComponentArt.Web.UI.MenuItem();
                    topMenuItem.Look.LeftIconUrl = "~/images/IbnFramework/newitem.gif";
                    topMenuItem.Look.LeftIconWidth = Unit.Pixel(16);
                    topMenuItem.Look.LeftIconHeight = Unit.Pixel(16);
                    topMenuItem.Text = GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "NewField").ToString();
                    topMenuItem.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "~/Apps/ListApp/Pages/MetaFieldEdit.aspx?class={0}", mc.Name);
                    topMenuItem.LookId = "TopItemLook";
                    BlockHeaderMain.ActionsMenu.Items.Add(topMenuItem);
             */

                    // Actions
                    topMenuItem = new ComponentArt.Web.UI.MenuItem();
                    topMenuItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "tActions").ToString();
                    topMenuItem.DefaultSubGroupExpandDirection = ComponentArt.Web.UI.GroupExpandDirection.BelowRight;
                    topMenuItem.Look.LeftIconUrl = "~/Layouts/Images/downbtn1.gif";
                    topMenuItem.Look.LeftIconHeight = Unit.Pixel(5);
                    topMenuItem.Look.LeftIconWidth = Unit.Pixel(16);
                    topMenuItem.LookId = "TopItemLook";

                    // Edit
                    subItem = new ComponentArt.Web.UI.MenuItem();
                    subItem.Look.LeftIconUrl = "~/images/IbnFramework/edit.gif";
                    subItem.Look.LeftIconWidth = Unit.Pixel(16);
                    subItem.Look.LeftIconHeight = Unit.Pixel(16);
                    subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "Edit").ToString();
                    subItem.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "~/Apps/ListApp/Pages/ListInfoEdit.aspx?class={0}", ClassName);
                    topMenuItem.Items.Add(subItem);

                    if (!li.IsTemplate)
                    {
                        // Publish
                        if (Mediachase.IBN.Business.Security.IsUserInGroup(Mediachase.IBN.Business.InternalSecureGroups.Administrator))
                        {
                            ListFolder folder = new ListFolder(li.FolderId.Value);
                            if (folder.FolderType == ListFolderType.Public)
                            {
                                subItem = new ComponentArt.Web.UI.MenuItem();
                                subItem.Look.LeftIconUrl = "~/Images/IbnFramework/PublishList.png";
                                subItem.Look.LeftIconWidth = Unit.Pixel(16);
                                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                                subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "Publish").ToString();
                                subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_Publish", new Dictionary<string, string>());
                                topMenuItem.Items.Add(subItem);
                            }
                        }

                        // Security
                        subItem = new ComponentArt.Web.UI.MenuItem();
                        subItem.Look.LeftIconUrl = "~/Layouts/Images/icon-key.gif";
                        subItem.Look.LeftIconWidth = Unit.Pixel(16);
                        subItem.Look.LeftIconHeight = Unit.Pixel(16);
                        subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "Security").ToString();
                        subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_Security", new Dictionary<string, string>());
                        topMenuItem.Items.Add(subItem);
                    }

                    // Delete
                    subItem = new ComponentArt.Web.UI.MenuItem();
                    subItem.Look.LeftIconUrl = "~/images/IbnFramework/delete.gif";
                    subItem.Look.LeftIconWidth = Unit.Pixel(16);
                    subItem.Look.LeftIconHeight = Unit.Pixel(16);
                    subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "Delete").ToString();
                    if(li.IsTemplate)
                        subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_DeleteTemplateList", new Dictionary<string, string>());
                    else
                        subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_DeleteList", new Dictionary<string, string>());

                    topMenuItem.Items.Add(subItem);

                    // Delimeter
                    subItem = new ComponentArt.Web.UI.MenuItem();
                    subItem.LookId = "BreakItem";
                    topMenuItem.Items.Add(subItem);

                    // Back
                    subItem = new ComponentArt.Web.UI.MenuItem();
                    subItem.Look.LeftIconUrl = "~/images/IbnFramework/cancel.gif";
                    subItem.Look.LeftIconWidth = Unit.Pixel(16);
                    subItem.Look.LeftIconHeight = Unit.Pixel(16);
                    subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "BackToListInfoList").ToString();
                    if(li.IsTemplate)
                        subItem.NavigateUrl = "~/Apps/ListApp/Pages/ListTemplates.aspx";
                    else
                        subItem.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "~/Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId={0}", li.FolderId);
                    topMenuItem.Items.Add(subItem);

                    BlockHeaderMain.ActionsMenu.Items.Add(topMenuItem);
                }
            }
            catch { }
        }
Ejemplo n.º 21
0
        public int CreateListFolder(int ParentFolderId, string Name)
        {
            int retVal = -1;
            try
            {
                Authenticate();

                using (TransactionScope tran = DataContext.Current.BeginTransaction())
                {
                    //retVal = List.AddFolder(Name, ParentFolderId);
                    ListFolder folder = new ListFolder(ParentFolderId);

                    ListFolder newFolder = new ListFolder();
                    newFolder.Title = Name;
                    newFolder.Save();

                    folder.GetTreeService().AppendChild(newFolder);
                    folder.Save();

                    tran.Commit();

                    retVal = newFolder.PrimaryKeyId.Value;
                }

            }
            catch (UserNotAuthenticatedException)
            {
                errMsg.msg = "Your login or password is invalid.";
            }
            catch (Exception ex)
            {
                errMsg.msg = ex.Message;
            }
            return retVal;
        }
Ejemplo n.º 22
0
        private void BindTree()
        {
            int iFolderId = -1;
            switch (rbList.SelectedValue)
            {
                case "1":
                    iFolderId = ListManager.GetPublicRoot().PrimaryKeyId.Value;
                    break;
                case "2":
                    int prjId = ucProject.ObjectId;
                    if (prjId > 0)
                        iFolderId = ListManager.GetProjectRoot(prjId).PrimaryKeyId.Value;
                    break;
                default:
                    iFolderId = ListManager.GetPrivateRoot(Mediachase.IBN.Business.Security.CurrentUser.UserID).PrimaryKeyId.Value;
                    break;
            }

            MoveTree.Nodes.Clear();
            MoveTree.ClientSideOnNodeSelect = "onNodeClick";
            if (iFolderId > 0)
            {
                TreeViewNode node;
                ListFolder folder = new ListFolder(iFolderId);
                node = new TreeViewNode();
                if (folder.FolderType == ListFolderType.Private)
                {
                    node.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    node.ID = "listfolder" + iFolderId.ToString() + "private";
                }
                else if (folder.FolderType == ListFolderType.Public)
                {
                    node.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                    node.ID = "listfolder" + iFolderId.ToString();
                }
                else if (folder.FolderType == ListFolderType.Project)
                {
                    node.Text = Task.GetProjectTitle(folder.ProjectId.Value);
                    node.ID = "listfolder" + iFolderId.ToString() + "project";
                }
                node.Value = iFolderId.ToString();
                if(folder.HasChildren)
                    node.ContentCallbackUrl = ResolveClientUrl("~/Modules/XmlForTreeView.aspx") + "?MoveList=" + _listId.ToString() + "&ListFolderId1=" + iFolderId.ToString();
                MoveTree.Nodes.Add(node);
            }
            btnMove.Disabled = true;
            btnMoveAssign.Disabled = true;
            btnMove.Style.Add("color", "#aeaeae");
            btnMoveAssign.Style.Add("color", "#aeaeae");
        }
Ejemplo n.º 23
0
        protected void Page_PreRender(object sender, System.EventArgs e)
        {
            if (String.IsNullOrEmpty(ClassName))
            {
                return;
            }

            MetaClass mc = MetaDataWrapper.GetMetaClassByName(ClassName);

            try
            {
                object obj = pT.CurrentControl.GetType().BaseType.GetProperty("SectionHeader").GetValue(pT.CurrentControl, null);
                if (obj is PageViewMenu)
                {
                    PageViewMenu BlockHeaderMain = obj as PageViewMenu;

                    ListInfo li = ListManager.GetListInfoByMetaClass(mc);

                    BlockHeaderMain.Title = GetGlobalResourceObject("IbnFramework.ListInfo", "ListManagement").ToString();

                    // Menu
                    ComponentArt.Web.UI.MenuItem topMenuItem;
                    ComponentArt.Web.UI.MenuItem subItem;

                    // New Field

/*					topMenuItem = new ComponentArt.Web.UI.MenuItem();
 *                                      topMenuItem.Look.LeftIconUrl = "~/images/IbnFramework/newitem.gif";
 *                                      topMenuItem.Look.LeftIconWidth = Unit.Pixel(16);
 *                                      topMenuItem.Look.LeftIconHeight = Unit.Pixel(16);
 *                                      topMenuItem.Text = GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "NewField").ToString();
 *                                      topMenuItem.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "~/Apps/ListApp/Pages/MetaFieldEdit.aspx?class={0}", mc.Name);
 *                                      topMenuItem.LookId = "TopItemLook";
 *                                      BlockHeaderMain.ActionsMenu.Items.Add(topMenuItem);
 */

                    // Actions
                    topMenuItem      = new ComponentArt.Web.UI.MenuItem();
                    topMenuItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "tActions").ToString();
                    topMenuItem.DefaultSubGroupExpandDirection = ComponentArt.Web.UI.GroupExpandDirection.BelowRight;
                    topMenuItem.Look.LeftIconUrl    = "~/Layouts/Images/downbtn1.gif";
                    topMenuItem.Look.LeftIconHeight = Unit.Pixel(5);
                    topMenuItem.Look.LeftIconWidth  = Unit.Pixel(16);
                    topMenuItem.LookId = "TopItemLook";

                    // Edit
                    subItem = new ComponentArt.Web.UI.MenuItem();
                    subItem.Look.LeftIconUrl    = "~/images/IbnFramework/edit.gif";
                    subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                    subItem.Look.LeftIconHeight = Unit.Pixel(16);
                    subItem.Text        = GetGlobalResourceObject("IbnFramework.ListInfo", "Edit").ToString();
                    subItem.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "~/Apps/ListApp/Pages/ListInfoEdit.aspx?class={0}", ClassName);
                    topMenuItem.Items.Add(subItem);

                    if (!li.IsTemplate)
                    {
                        // Publish
                        if (Mediachase.IBN.Business.Security.IsUserInGroup(Mediachase.IBN.Business.InternalSecureGroups.Administrator))
                        {
                            ListFolder folder = new ListFolder(li.FolderId.Value);
                            if (folder.FolderType == ListFolderType.Public)
                            {
                                subItem = new ComponentArt.Web.UI.MenuItem();
                                subItem.Look.LeftIconUrl    = "~/Images/IbnFramework/PublishList.png";
                                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                                subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "Publish").ToString();
                                subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_Publish", new Dictionary <string, string>());
                                topMenuItem.Items.Add(subItem);
                            }
                        }

                        // Security
                        subItem = new ComponentArt.Web.UI.MenuItem();
                        subItem.Look.LeftIconUrl    = "~/Layouts/Images/icon-key.gif";
                        subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                        subItem.Look.LeftIconHeight = Unit.Pixel(16);
                        subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "Security").ToString();
                        subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_Security", new Dictionary <string, string>());
                        topMenuItem.Items.Add(subItem);
                    }

                    // Delete
                    subItem = new ComponentArt.Web.UI.MenuItem();
                    subItem.Look.LeftIconUrl    = "~/images/IbnFramework/delete.gif";
                    subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                    subItem.Look.LeftIconHeight = Unit.Pixel(16);
                    subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "Delete").ToString();
                    if (li.IsTemplate)
                    {
                        subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_DeleteTemplateList", new Dictionary <string, string>());
                    }
                    else
                    {
                        subItem.ClientSideCommand = CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoView", "MC_ListApp_DeleteList", new Dictionary <string, string>());
                    }

                    topMenuItem.Items.Add(subItem);

                    // Delimeter
                    subItem        = new ComponentArt.Web.UI.MenuItem();
                    subItem.LookId = "BreakItem";
                    topMenuItem.Items.Add(subItem);

                    // Back
                    subItem = new ComponentArt.Web.UI.MenuItem();
                    subItem.Look.LeftIconUrl    = "~/images/IbnFramework/cancel.gif";
                    subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                    subItem.Look.LeftIconHeight = Unit.Pixel(16);
                    subItem.Text = GetGlobalResourceObject("IbnFramework.ListInfo", "BackToListInfoList").ToString();
                    if (li.IsTemplate)
                    {
                        subItem.NavigateUrl = "~/Apps/ListApp/Pages/ListTemplates.aspx";
                    }
                    else
                    {
                        subItem.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "~/Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId={0}", li.FolderId);
                    }
                    topMenuItem.Items.Add(subItem);

                    BlockHeaderMain.ActionsMenu.Items.Add(topMenuItem);
                }
            }
            catch { }
        }
Ejemplo n.º 24
0
        private static void CreateFolderListXml(XmlNode currParent, int folderID, int deepLevel)
        {
            if (folderID == 0)
            {
                // Private
                ListFolder privateRootFolder = ListManager.GetPrivateRoot(Security.CurrentUser.UserID);
                InsertFolderInfo(currParent, privateRootFolder.PrimaryKeyId.Value, "@@2", privateRootFolder.HasChildren);

                // Public
                ListFolder publicRootFolder = ListManager.GetPublicRoot();
                InsertFolderInfo(currParent, publicRootFolder.PrimaryKeyId.Value, "@@1", publicRootFolder.HasChildren);

                // Projects
                InsertFolderInfo(currParent, -1, "@@3", true);
            }
            else if (folderID == -1)
            {
                // Enum Projects
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                    {
                        ListFolder projectRootFolder = ListManager.GetProjectRoot((int)reader["ProjectId"]);

                        InsertFolderInfo(currParent, projectRootFolder.PrimaryKeyId.Value, (string)reader["Title"], true);
                    }
                }
            }
            else
            {
                ListFolder folder = new ListFolder(folderID);

                foreach (IbnServices.TreeNode childNode in folder.GetTreeService().GetChildNodes())
                {
                    InsertFolderInfo(currParent, childNode.ObjectId, childNode.Title, childNode.HasChildren);
                }
            }

            if (deepLevel == -1 || deepLevel > 0)
            {
                XmlNodeList childFolderList = currParent.SelectNodes("Folder");

                foreach (XmlNode folderItem in childFolderList)
                {
                    XmlNode childFolderItemNode = folderItem.SelectSingleNode("ChildList");
                    if (childFolderItemNode != null)
                    {
                        int ChildFolderID = Int32.Parse(folderItem.SelectSingleNode("Id").InnerXml);

                        CreateFolderListXml(childFolderItemNode, ChildFolderID, deepLevel == -1 ? -1 : deepLevel - 1);
                    }
                }
            }
        }
Ejemplo n.º 25
0
        private void BindListFolders1(int parentId)
        {
            TreeViewNode node;
            if (parentId == 0)
            {
                ListFolder privFolder = ListManager.GetPrivateRoot(Mediachase.Ibn.Data.Services.Security.CurrentUserId);
                node = new TreeViewNode();
                node.ImageHeight = 16;
                node.ImageWidth = 16;
                node.NavigateUrl = "~/Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + privFolder.PrimaryKeyId.Value.ToString();
                node.Text = LocRM.GetString("tPrivLists");
                node.ID = "listfolder" + privFolder.PrimaryKeyId.Value.ToString();
                node.Value = privFolder.PrimaryKeyId.Value.ToString();
                if (privFolder.HasChildren)
                    node.ContentCallbackUrl = ResolveUrl("~/Modules/XmlForTreeView.aspx") + "?ListFolderId1=" + privFolder.PrimaryKeyId.Value.ToString();
                TreeView1.Nodes.Add(node);

                ListFolder pubFolder = ListManager.GetPublicRoot();
                node = new TreeViewNode();
                node.ImageHeight = 16;
                node.ImageWidth = 16;
                node.NavigateUrl = "~/Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + pubFolder.PrimaryKeyId.Value.ToString();
                node.Text = LocRM.GetString("tPubLists");
                node.ID = "listfolder" + pubFolder.PrimaryKeyId.Value.ToString();
                node.Value = pubFolder.PrimaryKeyId.Value.ToString();
                if (pubFolder.HasChildren)
                    node.ContentCallbackUrl = ResolveUrl("~/Modules/XmlForTreeView.aspx") + "?ListFolderId1=" + pubFolder.PrimaryKeyId.Value.ToString();
                TreeView1.Nodes.Add(node);

                if (Configuration.ProjectManagementEnabled)
                {
                    node = new TreeViewNode();
                    node.ImageHeight = 16;
                    node.ImageWidth = 16;
                    node.NavigateUrl = "~/Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=-1";
                    node.Text = LocRM.GetString("tPrjLists");
                    node.ID = "listfolder_1";
                    node.Value = "-1";
                    TreeView1.Nodes.Add(node);
                }
            }
            else
            {
                ListFolder fParent = new ListFolder(parentId);
                if (fParent != null)
                {
                    Mediachase.Ibn.Data.Services.TreeService ts = fParent.GetService<Mediachase.Ibn.Data.Services.TreeService>();
                    foreach (Mediachase.Ibn.Data.Services.TreeNode tN in ts.GetChildNodes())
                    {
                        MetaObject moFolder = tN.InnerObject;
                        ListFolder folder = new ListFolder(moFolder.PrimaryKeyId.Value);
                        int iFolderId = folder.PrimaryKeyId.Value;
                        node = new TreeViewNode();
                        node.Text = folder.Title;

                        bool IsPrivate = (folder.FolderType == ListFolderType.Private);
                        if (folder.HasChildren)
                        {
                            if (Request["MoveList"] == null)
                                node.ContentCallbackUrl = ResolveUrl("~/Modules/XmlForTreeView.aspx") + "?ListFolderId1=" + iFolderId.ToString();
                            else
                            {
                                string sMoveList = Request["MoveList"];
                                node.ContentCallbackUrl = ResolveUrl("~/Modules/XmlForTreeView.aspx") + "?MoveList=" + sMoveList + "&ListFolderId1=" + iFolderId.ToString();
                            }
                        }
                        node.ID = "listfolder" + iFolderId.ToString();
                        if (Request["MoveList"] != null && IsPrivate)
                            node.ID += "private";
                        node.Value = iFolderId.ToString();
                        if (Request["MoveList"] == null)
                            node.NavigateUrl = "~/Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + iFolderId.ToString();
                        TreeView1.Nodes.Add(node);
                    }
                }
            }
        }
Ejemplo n.º 26
0
        private void BindRecursive(JsonTreeNode node, ArrayList parentList)
        {
            node.children = new List<JsonTreeNode>();

            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Id", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Count", typeof(int)));
            DataRow dr;
            string nodeId = node.itemid;
            if(nodeId == "-1")
            {
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                    {
                        ListFolder prj = ListManager.GetProjectRoot((int)reader["ProjectId"]);
                        dr = dt.NewRow();
                        dr["Id"] = prj.PrimaryKeyId.Value.ToString();
                        dr["Name"] = reader["Title"].ToString();
                        dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(prj).Length;
                        dt.Rows.Add(dr);
                    }
                }
            }
            else
            {
                ListFolder folder = new ListFolder(PrimaryKeyId.Parse(nodeId));
                foreach (Mediachase.Ibn.Data.Services.TreeNode tN in Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(folder))
                {
                    ListFolder inFolder = new ListFolder(tN.InnerObject.PrimaryKeyId.Value);
                    dr = dt.NewRow();
                    dr["Id"] = inFolder.PrimaryKeyId.Value.ToString();
                    dr["Name"] = inFolder.Title;
                    dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(inFolder).Length;
                    dt.Rows.Add(dr);
                }
            }

            DataView dv = dt.DefaultView;
            dv.Sort = "Name";
            foreach (DataRowView drv in dv)
            {
                JsonTreeNode inNode = new JsonTreeNode();
                inNode.leaf = ((int)drv["Count"] == 0);
                inNode.cls = "nodeCls";
                inNode.iconCls = "iconStdCls";
                inNode.icon = ResolveClientUrl("~/layouts/images/folder.gif");
                inNode.text = drv["Name"].ToString();
                inNode.id = Guid.NewGuid().ToString("N");
                inNode.itemid = drv["Id"].ToString();
                if (parentList.Contains(PrimaryKeyId.Parse(drv["Id"].ToString())))
                {
                    inNode.expanded = true;
                    BindRecursive(inNode, parentList);
                }
                else
                    inNode.expanded = false;

                Dictionary<string, string> param = new Dictionary<string, string>();
                param.Add("FolderId", drv["Id"].ToString());
                string cmd = CommandManager.GetCommandString("MC_ListApp_ChangeFolderTree", param);
                cmd = cmd.Replace("\"", "&quot;");
                inNode.href = String.Format("javascript:{0}", cmd);
                node.children.Add(inNode);
            }
        }
Ejemplo n.º 27
0
 private string GetRandomFolderPath() => ListFolder.PickRandom().FullPath;
Ejemplo n.º 28
0
        private void BindToolBar()
        {
            if (ListFolderId > 0)
            {
                secHeader.Title = CHelper.GetResFileString("{IbnFramework.ListInfo:EditFolder}");
            }
            else
            {
                string sTitle = "";
                ListFolder folder = new ListFolder(parentFolderId);
                if (folder.FolderType != ListFolderType.Project)
                {
                    if (folder.FolderType == ListFolderType.Private)
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    else
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                }
                else
                    sTitle = Task.GetProjectTitle(folder.ProjectId.Value);

                secHeader.Title = CHelper.GetResFileString("{IbnFramework.ListInfo:CreateFolder}") + " '" + sTitle + "'";
            }
        }
Ejemplo n.º 29
0
        private void BindNode(string nodeId, ArrayList parentList)
        {
            List<JsonTreeNode> nodes = new List<JsonTreeNode>();

            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Id", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Count", typeof(int)));
            DataRow dr;

            if (nodeId == "0")
            {
                //Private Lists
                dr = dt.NewRow();
                ListFolder priv = ListManager.GetPrivateRoot(Mediachase.IBN.Business.Security.CurrentUser.UserID);
                dr["Id"] = priv.PrimaryKeyId.Value.ToString();
                dr["Name"] = GetGlobalResourceObject("IbnShell.Navigation", "tPrivLists").ToString();
                dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(priv).Length;
                dt.Rows.Add(dr);

                //Public Lists
                dr = dt.NewRow();
                ListFolder pub = ListManager.GetPublicRoot();
                dr["Id"] = pub.PrimaryKeyId.Value.ToString();
                dr["Name"] = GetGlobalResourceObject("IbnShell.Navigation", "tPubLists").ToString();
                dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(pub).Length;
                dt.Rows.Add(dr);

                //Projects Lists
                dr = dt.NewRow();
                dr["Id"] = "-1";
                dr["Name"] = GetGlobalResourceObject("IbnShell.Navigation", "tPrjLists").ToString();
                int count = 0;
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                        count++;
                }
                dr["Count"] = count;
                dt.Rows.Add(dr);
            }
            else if (nodeId == "-1")
            {
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                    {
                        ListFolder prj = ListManager.GetProjectRoot((int)reader["ProjectId"]);
                        dr = dt.NewRow();
                        dr["Id"] = prj.PrimaryKeyId.Value.ToString();
                        dr["Name"] = reader["Title"].ToString();
                        dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(prj).Length;
                        dt.Rows.Add(dr);
                    }
                }
            }
            else
            {
                ListFolder folder = new ListFolder(PrimaryKeyId.Parse(nodeId));
                foreach (Mediachase.Ibn.Data.Services.TreeNode tN in Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(folder))
                {
                    ListFolder inFolder = new ListFolder(tN.InnerObject.PrimaryKeyId.Value);
                    dr = dt.NewRow();
                    dr["Id"] = inFolder.PrimaryKeyId.Value.ToString();
                    dr["Name"] = inFolder.Title;
                    dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(inFolder).Length;
                    dt.Rows.Add(dr);
                }
            }

            DataView dv = dt.DefaultView;
            dv.Sort = "Name";
            foreach (DataRowView drv in dv)
            {
                JsonTreeNode node = new JsonTreeNode();
                node.leaf = ((int)drv["Count"] == 0);
                node.cls = "nodeCls";
                node.iconCls = "iconStdCls";
                node.icon = ResolveClientUrl("~/layouts/images/folder.gif");
                node.text = drv["Name"].ToString();
                node.id = Guid.NewGuid().ToString("N");
                node.itemid = drv["Id"].ToString();

                if (parentList.Contains(PrimaryKeyId.Parse(drv["Id"].ToString())))
                {
                    node.expanded = true;
                    BindRecursive(node, parentList);
                }
                else
                    node.expanded = false;

                if (node.itemid != "-1")
                {
                    Dictionary<string, string> param = new Dictionary<string, string>();
                    param.Add("FolderId", drv["Id"].ToString());
                    string cmd = CommandManager.GetCommandString("MC_ListApp_ChangeFolderTree", param);
                    cmd = cmd.Replace("\"", "&quot;");
                    node.href = String.Format("javascript:{0}", cmd);
                }
                nodes.Add(node);
            }
            WriteArray(nodes);
        }
Ejemplo n.º 30
0
 private void BindData()
 {
     lblFolderTitle.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:FolderTitle}");
     if (ListFolderId > 0)
     {
         string fName = "";
         ListFolder folder = new ListFolder(ListFolderId);
         if (folder != null)
             fName = folder.Title;
         tbFolderTitle.Text = HttpUtility.HtmlDecode(fName);
     }
 }
Ejemplo n.º 31
0
        private void BindToolBar()
        {
            string sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tLists}");

            if (ListFolderId == -1)
            {
                sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrjLists}");
            }
            else if (ProjectId <= 0)
            {
                ListFolder folder          = new ListFolder(_folderId);
                int        iParentFolderId = (folder.ParentId.HasValue) ? (int)folder.ParentId.Value : 0;
                if (iParentFolderId == 0 && folder.FolderType != ListFolderType.Project)
                {
                    if (folder.FolderType == ListFolderType.Private)
                    {
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    }
                    else
                    {
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                    }
                }
                else if (iParentFolderId == 0)
                {
                    int projectId = ListFolderId;
                    if (folder.ProjectId.HasValue)
                    {
                        projectId = folder.ProjectId.Value;
                    }
                    sTitle = Task.GetProjectTitle(projectId);
                }
            }

            string link1 = "~/Apps/ListApp/Pages/ListFolderEdit.aspx?parentFolderId=" + _folderId.ToString();

            if (ProjectId > 0)
            {
                link1 += "&ProjectId=" + ProjectId.ToString();
            }

            string link2 = "~/Apps/ListApp/Pages/ListInfoCreate.aspx?ListFolderId=" + _folderId.ToString();

            if (ProjectId > 0)
            {
                link2 += "&ProjectId=" + ProjectId.ToString();
            }

            if (this.Parent is Mediachase.UI.Web.Modules.IToolbarLight)
            {
                Mediachase.UI.Web.Modules.BlockHeaderLightWithMenu parentHeaderTrue = ((Mediachase.UI.Web.Modules.IToolbarLight) this.Parent).GetToolBar();
//				parentHeaderTrue.AddText(CHelper.GetResFileString("{IbnFramework.ListInfo:tLists}"));
                BindMenu(parentHeaderTrue.ActionsMenu, link1, link2);
            }
            else
            {
                secHeader.Title = sTitle;

                if (ListFolderId != -1)
                {
                    BindMenu(secHeader.ActionsMenu, link1, link2);
                }
            }
        }
Ejemplo n.º 32
0
        public string GetJsonDataSource(string nodeId)
        {
            int parentId = 0;

            int.TryParse(nodeId, out parentId);

            List <JsonTreeNode> nodes = new List <JsonTreeNode>();

            JsonTreeNode node;

            if (parentId == 0)
            {
                ListFolder privFolder = ListManager.GetPrivateRoot(Mediachase.Ibn.Data.Services.Security.CurrentUserId);
                node = new JsonTreeNode();

                node.text = CHelper.GetResFileString("{IbnShell.Navigation:tPrivLists}");
                node.cls  = "nodeCls";

                node.id             = Guid.NewGuid().ToString("N");
                node.itemid         = privFolder.PrimaryKeyId.Value.ToString();
                node.staticParentId = _rootId;

                node.href       = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + privFolder.PrimaryKeyId.Value.ToString();
                node.hrefTarget = "right";

                if (!privFolder.HasChildren)
                {
                    node.leaf = true;
                }

                nodes.Add(node);

                ListFolder pubFolder = ListManager.GetPublicRoot();
                node = new JsonTreeNode();

                node.text = CHelper.GetResFileString("{IbnShell.Navigation:tPubLists}");
                node.cls  = "nodeCls";

                node.id             = Guid.NewGuid().ToString("N");
                node.itemid         = pubFolder.PrimaryKeyId.Value.ToString();
                node.staticParentId = _rootId;

                node.href       = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + pubFolder.PrimaryKeyId.Value.ToString();
                node.hrefTarget = "right";

                if (!pubFolder.HasChildren)
                {
                    node.leaf = true;
                }

                nodes.Add(node);

                if (Mediachase.IBN.Business.Configuration.ProjectManagementEnabled)
                {
                    node = new JsonTreeNode();

                    node.text = CHelper.GetResFileString("{IbnShell.Navigation:tPrjLists}");
                    node.cls  = "nodeCls";

                    node.id             = Guid.NewGuid().ToString("N");
                    node.itemid         = "-1";
                    node.staticParentId = _rootId;

                    node.href       = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=-1";
                    node.hrefTarget = "right";

                    node.leaf = true;
                    nodes.Add(node);
                }
            }
            else
            {
                ListFolder fParent = new ListFolder(parentId);
                if (fParent != null)
                {
                    Mediachase.Ibn.Data.Services.TreeService ts = fParent.GetService <Mediachase.Ibn.Data.Services.TreeService>();
                    foreach (Mediachase.Ibn.Data.Services.TreeNode tN in ts.GetChildNodes())
                    {
                        MetaObject moFolder  = tN.InnerObject;
                        ListFolder folder    = new ListFolder(moFolder.PrimaryKeyId.Value);
                        int        iFolderId = folder.PrimaryKeyId.Value;

                        node = new JsonTreeNode();

                        node.text = folder.Title;
                        node.cls  = "nodeCls";

                        node.id             = Guid.NewGuid().ToString("N");
                        node.itemid         = iFolderId.ToString();
                        node.staticParentId = _rootId;

                        node.href       = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + iFolderId.ToString();
                        node.hrefTarget = "right";

                        if (!folder.HasChildren)
                        {
                            node.leaf = true;
                        }

                        nodes.Add(node);
                    }
                }
            }

            if (nodes.Count > 0)
            {
                return(UtilHelper.JsonSerialize(nodes));
            }
            else
            {
                return(String.Empty);
            }
        }
Ejemplo n.º 33
0
        /// <summary>
        /// Binds the ListFolder tree.
        /// </summary>
        private void BindTree()
        {
            int iFolderId = -1;
            switch (rbList.SelectedValue)
            {
                case "1":
                    iFolderId = ListManager.GetPublicRoot().PrimaryKeyId.Value;
                    break;
                case "2":
                    int prjId = ucProject.ObjectId;
                    if (prjId > 0)
                        iFolderId = ListManager.GetProjectRoot(prjId).PrimaryKeyId.Value;
                    break;
                default:
                    iFolderId = ListManager.GetPrivateRoot(Mediachase.IBN.Business.Security.CurrentUser.UserID).PrimaryKeyId.Value;
                    break;
            }

            int selFolderId = iFolderId;
            if(!String.IsNullOrEmpty(destFolderId.Value))
                selFolderId = int.Parse(destFolderId.Value);

            MoveTree.Nodes.Clear();
            MoveTree.ClientSideOnNodeSelect = "onNodeClick";
            if (iFolderId > 0)
            {
                TreeViewNode node;
                ListFolder folder = new ListFolder(iFolderId);
                node = new TreeViewNode();
                if (folder.FolderType == ListFolderType.Private)
                {
                    node.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    node.ID = "listfolder" + iFolderId.ToString() + "private";
                }
                else if (folder.FolderType == ListFolderType.Public)
                {
                    node.Text = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                    node.ID = "listfolder" + iFolderId.ToString();
                }
                else if (folder.FolderType == ListFolderType.Project)
                {
                    node.Text = Task.GetProjectTitle(folder.ProjectId.Value);
                    node.ID = "listfolder" + iFolderId.ToString() + "project";
                }
                node.Value = iFolderId.ToString();
                if (folder.HasChildren)
                    BindSubNodes(node, folder, selFolderId);
                MoveTree.Nodes.Add(node);
                if(iFolderId == selFolderId)
                    MoveTree.SelectedNode = node;
                destFolderId.Value = selFolderId.ToString();
                if (rbUpdList.Checked)
                    BindLists(selFolderId);
            }
        }
Ejemplo n.º 34
0
        private void BindNode(string nodeId, ArrayList parentList)
        {
            List <JsonTreeNode> nodes = new List <JsonTreeNode>();

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Id", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Count", typeof(int)));
            DataRow dr;

            if (nodeId == "0")
            {
                //Private Lists
                dr = dt.NewRow();
                ListFolder priv = ListManager.GetPrivateRoot(Mediachase.IBN.Business.Security.CurrentUser.UserID);
                dr["Id"]    = priv.PrimaryKeyId.Value.ToString();
                dr["Name"]  = GetGlobalResourceObject("IbnShell.Navigation", "tPrivLists").ToString();
                dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(priv).Length;
                dt.Rows.Add(dr);

                //Public Lists
                dr = dt.NewRow();
                ListFolder pub = ListManager.GetPublicRoot();
                dr["Id"]    = pub.PrimaryKeyId.Value.ToString();
                dr["Name"]  = GetGlobalResourceObject("IbnShell.Navigation", "tPubLists").ToString();
                dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(pub).Length;
                dt.Rows.Add(dr);

                //Projects Lists
                dr         = dt.NewRow();
                dr["Id"]   = "-1";
                dr["Name"] = GetGlobalResourceObject("IbnShell.Navigation", "tPrjLists").ToString();
                int count = 0;
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                    {
                        count++;
                    }
                }
                dr["Count"] = count;
                dt.Rows.Add(dr);
            }
            else if (nodeId == "-1")
            {
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                    {
                        ListFolder prj = ListManager.GetProjectRoot((int)reader["ProjectId"]);
                        dr          = dt.NewRow();
                        dr["Id"]    = prj.PrimaryKeyId.Value.ToString();
                        dr["Name"]  = reader["Title"].ToString();
                        dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(prj).Length;
                        dt.Rows.Add(dr);
                    }
                }
            }
            else
            {
                ListFolder folder = new ListFolder(PrimaryKeyId.Parse(nodeId));
                foreach (Mediachase.Ibn.Data.Services.TreeNode tN in Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(folder))
                {
                    ListFolder inFolder = new ListFolder(tN.InnerObject.PrimaryKeyId.Value);
                    dr          = dt.NewRow();
                    dr["Id"]    = inFolder.PrimaryKeyId.Value.ToString();
                    dr["Name"]  = inFolder.Title;
                    dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(inFolder).Length;
                    dt.Rows.Add(dr);
                }
            }

            DataView dv = dt.DefaultView;

            dv.Sort = "Name";
            foreach (DataRowView drv in dv)
            {
                JsonTreeNode node = new JsonTreeNode();
                node.leaf    = ((int)drv["Count"] == 0);
                node.cls     = "nodeCls";
                node.iconCls = "iconStdCls";
                node.icon    = ResolveClientUrl("~/layouts/images/folder.gif");
                node.text    = drv["Name"].ToString();
                node.id      = Guid.NewGuid().ToString("N");
                node.itemid  = drv["Id"].ToString();

                if (parentList.Contains(PrimaryKeyId.Parse(drv["Id"].ToString())))
                {
                    node.expanded = true;
                    BindRecursive(node, parentList);
                }
                else
                {
                    node.expanded = false;
                }

                if (node.itemid != "-1")
                {
                    Dictionary <string, string> param = new Dictionary <string, string>();
                    param.Add("FolderId", drv["Id"].ToString());
                    string cmd = CommandManager.GetCommandString("MC_ListApp_ChangeFolderTree", param);
                    cmd       = cmd.Replace("\"", "&quot;");
                    node.href = String.Format("javascript:{0}", cmd);
                }
                nodes.Add(node);
            }
            WriteArray(nodes);
        }
Ejemplo n.º 35
0
        /// <summary>
        /// Default data bind.
        /// </summary>
        private void PreBindSteps()
        {
            rbSourceType.Items.Add(new ListItem(" " + GetGlobalResourceObject("IbnFramework.ListInfo", "imExcel").ToString(), "0"));
            rbSourceType.Items.Add(new ListItem(" " + GetGlobalResourceObject("IbnFramework.ListInfo", "imXML").ToString(), "1"));
            rbSourceType.Items.Add(new ListItem(" " + GetGlobalResourceObject("IbnFramework.ListInfo", "imCSV").ToString(), "2"));
            CHelper.SafeSelect(rbSourceType, "0");

            //ddlLists.DataSource = ListInfo.List(FilterElement.EqualElement("IsTemplate", false));
            //ddlLists.DataTextField = "Title";
            //ddlLists.DataValueField = "PrimaryKeyId";
            //ddlLists.DataBind();

            rbList.Items.Add(new ListItem(" " + GetGlobalResourceObject("IbnFramework.ListInfo", "tPrivateLists").ToString(), "0"));
            rbList.Items.Add(new ListItem(" " + GetGlobalResourceObject("IbnFramework.ListInfo", "tPublicLists").ToString(), "1"));
            if (Mediachase.IBN.Business.Configuration.ProjectManagementEnabled)
            {
                rbList.Items.Add(new ListItem(" " + GetGlobalResourceObject("IbnFramework.ListInfo", "tPrjLists").ToString(), "2"));
            }
            rbList.Width = Unit.Percentage(100);
            rbList.CellPadding = 5;

            trProject.Visible = false;

            #region Define Folder
            int folderId = ListManager.GetPublicRoot().PrimaryKeyId.Value;
            if(Request["ListFolderId"]!=null)
                folderId = int.Parse(Request["ListFolderId"]);
            if (_listId > 0)
            {
                ListInfo list = new ListInfo(_listId);
                if (list.FolderId.HasValue)
                    folderId = list.FolderId.Value;
            }
            ListFolder fld = null;
            try
            {
                fld = new ListFolder(folderId);
            }
            catch
            {
                try
                {
                    fld = new ListFolder(ListManager.GetProjectRoot(folderId).PrimaryKeyId.Value);
                }
                catch { }
            }
            if (fld != null)
            {
                if (fld.FolderType == ListFolderType.Private)
                    CHelper.SafeSelect(rbList, "0");
                else if (fld.FolderType == ListFolderType.Public)
                    CHelper.SafeSelect(rbList, "1");
                else
                {
                    CHelper.SafeSelect(rbList, "2");
                    trProject.Visible = true;
                    ucProject.ObjectTypeId = 3;
                    ucProject.ObjectId = fld.ProjectId.Value;
                }

                destFolderId.Value = fld.PrimaryKeyId.Value.ToString();
            }
            else
                CHelper.SafeSelect(rbList, "0");
            #endregion

            ddDelimeter.Items.Add(new ListItem(",", ","));
            ddDelimeter.Items.Add(new ListItem(".", "."));
            ddDelimeter.Items.Add(new ListItem(";", ";"));
            ddDelimeter.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.ListInfo", "tSpaceValue").ToString(), "space"));
            ddDelimeter.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.ListInfo", "tTabValue").ToString(), "tab"));

            ddTextQualifier.Items.Add(new ListItem("\"", "\""));
            ddTextQualifier.Items.Add(new ListItem("'", "'"));

            ddEncoding.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.ListInfo", "tDefault").ToString(), "Default"));
            ddEncoding.Items.Add(new ListItem("ASCII", "ASCII"));
            ddEncoding.Items.Add(new ListItem("UTF-8", "UTF8"));
            ddEncoding.Items.Add(new ListItem("Unicode", "Unicode"));

            MetaFieldType enumListType = DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListTypeEnumName];
            MetaFieldType enumListStatus = DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListStatusEnumName];

            foreach (MetaEnumItem mei in enumListType.EnumItems)
                ddType.Items.Add(new ListItem(CHelper.GetResFileString(mei.Name), mei.Handle.ToString()));

            foreach (MetaEnumItem mei in enumListStatus.EnumItems)
                ddStatus.Items.Add(new ListItem(CHelper.GetResFileString(mei.Name), mei.Handle.ToString()));

            if (_listId > 0)
            {
                rbUpdList.Checked = true;
                hdnListId.Value = _listId.ToString();
                //CHelper.SafeSelect(ddlLists, _listId.ToString());
            }
            else
                rbNewList.Checked = true;
        }
Ejemplo n.º 36
0
        private void BindRecursive(JsonTreeNode node, ArrayList parentList)
        {
            node.children = new List <JsonTreeNode>();

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Id", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Count", typeof(int)));
            DataRow dr;
            string  nodeId = node.itemid;

            if (nodeId == "-1")
            {
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                    {
                        ListFolder prj = ListManager.GetProjectRoot((int)reader["ProjectId"]);
                        dr          = dt.NewRow();
                        dr["Id"]    = prj.PrimaryKeyId.Value.ToString();
                        dr["Name"]  = reader["Title"].ToString();
                        dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(prj).Length;
                        dt.Rows.Add(dr);
                    }
                }
            }
            else
            {
                ListFolder folder = new ListFolder(PrimaryKeyId.Parse(nodeId));
                foreach (Mediachase.Ibn.Data.Services.TreeNode tN in Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(folder))
                {
                    ListFolder inFolder = new ListFolder(tN.InnerObject.PrimaryKeyId.Value);
                    dr          = dt.NewRow();
                    dr["Id"]    = inFolder.PrimaryKeyId.Value.ToString();
                    dr["Name"]  = inFolder.Title;
                    dr["Count"] = Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(inFolder).Length;
                    dt.Rows.Add(dr);
                }
            }

            DataView dv = dt.DefaultView;

            dv.Sort = "Name";
            foreach (DataRowView drv in dv)
            {
                JsonTreeNode inNode = new JsonTreeNode();
                inNode.leaf    = ((int)drv["Count"] == 0);
                inNode.cls     = "nodeCls";
                inNode.iconCls = "iconStdCls";
                inNode.icon    = ResolveClientUrl("~/layouts/images/folder.gif");
                inNode.text    = drv["Name"].ToString();
                inNode.id      = Guid.NewGuid().ToString("N");
                inNode.itemid  = drv["Id"].ToString();
                if (parentList.Contains(PrimaryKeyId.Parse(drv["Id"].ToString())))
                {
                    inNode.expanded = true;
                    BindRecursive(inNode, parentList);
                }
                else
                {
                    inNode.expanded = false;
                }

                Dictionary <string, string> param = new Dictionary <string, string>();
                param.Add("FolderId", drv["Id"].ToString());
                string cmd = CommandManager.GetCommandString("MC_ListApp_ChangeFolderTree", param);
                cmd         = cmd.Replace("\"", "&quot;");
                inNode.href = String.Format("javascript:{0}", cmd);
                node.children.Add(inNode);
            }
        }
Ejemplo n.º 37
0
        /// <summary>
        /// Binds the tool bar.
        /// </summary>
        private void BindBlockHeader()
        {
            int ListFolderId = 1;
            int ProjectId = 0;
            string sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tLists}");
            if (ListFolderId == -1)
            {
                sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrjLists}");
            }
            else if (ProjectId <= 0)
            {
                ListFolder folder = new ListFolder(ListFolderId);
                int iParentFolderId = (folder.ParentId.HasValue) ? (int)folder.ParentId.Value : 0;
                if (iParentFolderId == 0 && folder.FolderType != ListFolderType.Project)
                {
                    if (folder.FolderType == ListFolderType.Private)
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}");
                    else
                        sTitle = CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}");
                }
                else if (iParentFolderId == 0)
                {
                    int projectId = ListFolderId;
                    if (folder.ProjectId.HasValue)
                        projectId = folder.ProjectId.Value;
                    sTitle = Task.GetProjectTitle(projectId);
                }
            }

            BlockHeaderMain.Title = sTitle;
        }
Ejemplo n.º 38
0
        public string GetJsonDataSource(string nodeId)
        {
            int parentId = 0;
            int.TryParse(nodeId, out parentId);

            List<JsonTreeNode> nodes = new List<JsonTreeNode>();

            JsonTreeNode node;
            if (parentId == 0)
            {
                ListFolder privFolder = ListManager.GetPrivateRoot(Mediachase.Ibn.Data.Services.Security.CurrentUserId);
                node = new JsonTreeNode();

                node.text = CHelper.GetResFileString("{IbnShell.Navigation:tPrivLists}");
                node.cls = "nodeCls";

                node.id = Guid.NewGuid().ToString("N");
                node.itemid = privFolder.PrimaryKeyId.Value.ToString();
                node.staticParentId = _rootId;

                node.href = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + privFolder.PrimaryKeyId.Value.ToString();
                node.hrefTarget = "right";

                if (!privFolder.HasChildren)
                    node.leaf = true;

                nodes.Add(node);

                ListFolder pubFolder = ListManager.GetPublicRoot();
                node = new JsonTreeNode();

                node.text = CHelper.GetResFileString("{IbnShell.Navigation:tPubLists}");
                node.cls = "nodeCls";

                node.id = Guid.NewGuid().ToString("N");
                node.itemid = pubFolder.PrimaryKeyId.Value.ToString();
                node.staticParentId = _rootId;

                node.href = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + pubFolder.PrimaryKeyId.Value.ToString();
                node.hrefTarget = "right";

                if (!pubFolder.HasChildren)
                    node.leaf = true;

                nodes.Add(node);

                if (Mediachase.IBN.Business.Configuration.ProjectManagementEnabled)
                {
                    node = new JsonTreeNode();

                    node.text = CHelper.GetResFileString("{IbnShell.Navigation:tPrjLists}");
                    node.cls = "nodeCls";

                    node.id = Guid.NewGuid().ToString("N");
                    node.itemid = "-1";
                    node.staticParentId = _rootId;

                    node.href = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=-1";
                    node.hrefTarget = "right";

                    node.leaf = true;
                    nodes.Add(node);
                }
            }
            else
            {
                ListFolder fParent = new ListFolder(parentId);
                if (fParent != null)
                {
                    Mediachase.Ibn.Data.Services.TreeService ts = fParent.GetService<Mediachase.Ibn.Data.Services.TreeService>();
                    foreach (Mediachase.Ibn.Data.Services.TreeNode tN in ts.GetChildNodes())
                    {
                        MetaObject moFolder = tN.InnerObject;
                        ListFolder folder = new ListFolder(moFolder.PrimaryKeyId.Value);
                        int iFolderId = folder.PrimaryKeyId.Value;

                        node = new JsonTreeNode();

                        node.text = folder.Title;
                        node.cls = "nodeCls";

                        node.id = Guid.NewGuid().ToString("N");
                        node.itemid = iFolderId.ToString();
                        node.staticParentId = _rootId;

                        node.href = "../../../Apps/ListApp/Pages/ListInfoList.aspx?ListFolderId=" + iFolderId.ToString();
                        node.hrefTarget = "right";

                        if (!folder.HasChildren)
                            node.leaf = true;

                        nodes.Add(node);
                    }
                }
            }

            if (nodes.Count > 0)
                return UtilHelper.JsonSerialize(nodes);
            else
                return String.Empty;
        }
Ejemplo n.º 39
0
        private void BindList()
        {
            int i = 3;

            grdMain.Columns[i++].HeaderText = CHelper.GetResFileString("{IbnFramework.ListInfo:tName}");
            grdMain.Columns[i++].HeaderText = CHelper.GetResFileString("{IbnFramework.ListInfo:Type}");
            grdMain.Columns[i++].HeaderText = CHelper.GetResFileString("{IbnFramework.ListInfo:Status}");
            grdMain.Columns[i++].HeaderText = CHelper.GetResFileString("{IbnFramework.ListInfo:CreatedBy}");
            grdMain.Columns[i++].HeaderText = CHelper.GetResFileString("{IbnFramework.ListInfo:Created}");

            foreach (DataGridColumn dgc in grdMain.Columns)
            {
                if (dgc.SortExpression == pc["Lists_FV_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" == pc["Lists_FV_Sort"].ToString())
                {
                    dgc.HeaderText += String.Format("&nbsp;<img border='0' align='absmiddle' width='9px' height='5px' src='{0}'/>", ResolveUrl("~/layouts/images/downbtnF.jpg"));
                }
            }

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("ObjectId", typeof(int)));
            dt.Columns.Add(new DataColumn("Type", typeof(string)));
            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("TypeName", typeof(string)));
            dt.Columns.Add(new DataColumn("StatusName", typeof(string)));
            dt.Columns.Add(new DataColumn("CreatorName", typeof(string)));
            dt.Columns.Add(new DataColumn("CreationDate", typeof(DateTime)));

            dt.Columns.Add(new DataColumn("ActionMove", typeof(string)));
            dt.Columns.Add(new DataColumn("ActionSecurity", typeof(string)));
            dt.Columns.Add(new DataColumn("ActionEdit", typeof(string)));
            dt.Columns.Add(new DataColumn("ActionDelete", typeof(string)));

            dt.Columns.Add(new DataColumn("sortName", typeof(string)));
            dt.Columns.Add(new DataColumn("sortCreator", typeof(string)));

            string link  = "";
            string sPath = ResolveUrl("~/Apps/ListApp/Pages/ListInfoList.aspx?Tab=0");

            if (ProjectId > 0)
            {
                link  = "ProjectId=" + ProjectId.ToString();
                sPath = ResolveUrl(String.Format("~/Projects/ProjectView.aspx?{0}", link));
            }

            DataRow    dr;
            DataRow    dr_bas          = dt.NewRow();
            bool       fl_UseBas       = false;
            int        iParentFolderId = 0;
            bool       IsPrjFolder     = false;
            ListFolder folder          = null;

            if (_folderId == -1)
            {
                IsPrjFolder = true;
            }
            else
            {
                folder          = new ListFolder(_folderId);
                iParentFolderId = (folder.ParentId.HasValue)? (int)folder.ParentId.Value : 0;
                IsPrjFolder     = (folder.FolderType == ListFolderType.Project);
            }
            if ((iParentFolderId > 0 || (IsPrjFolder && _folderId != -1)) &&
                (ProjectId < 0 || (ProjectId > 0 && _folderId != ListManager.GetProjectRoot(ProjectId).PrimaryKeyId.Value)))
            {
                if (IsPrjFolder && iParentFolderId == 0)
                {
                    iParentFolderId = -1;
                }
                fl_UseBas          = true;
                dr_bas["ObjectId"] = iParentFolderId;
                dr_bas["Icon"]     = ResolveUrl("~/layouts/images/blank.gif");
                dr_bas["Name"]     = String.Format("<a href='{1}&ListFolderId={0}'>[..]</a>", iParentFolderId.ToString(), sPath);
            }

            if (folder == null)
            {
                using (IDataReader reader = Project.GetListProjects())
                {
                    while (reader.Read())
                    {
                        AddFolderItem(dt, link, sPath, (int)reader["ProjectId"], reader["Title"].ToString(),
                                      (int)reader["CreatorId"], (DateTime)reader["CreationDate"], true);
                    }
                }
            }
            else
            {
                foreach (Mediachase.Ibn.Data.Services.TreeNode tN in Mediachase.Ibn.Data.Services.TreeManager.GetChildNodes(folder))
                {
                    MetaObject mo = tN.InnerObject;
                    AddFolderItem(dt, link, sPath, mo.PrimaryKeyId.Value, tN.Title, (int)mo.Properties["CreatorId"].Value, (DateTime)mo.Properties["Created"].Value, false);
                }
            }

            string sFilter = pc["Lists_FV_Sort"].ToString();

            if (!(sFilter == "sortName") || (sFilter == "sortName DESC"))
            {
                sFilter += ",sortName";
            }
            DataRow[] drFolders = dt.Select("", sFilter);
            DataTable dtLists   = dt.Clone();

            foreach (ListInfo li in ListManager.GetLists(_folderId))
            {
                int iListId = li.PrimaryKeyId.Value;
                dr             = dtLists.NewRow();
                dr["ObjectId"] = iListId;
                dr["Type"]     = "List";
                dr["Icon"]     = ResolveUrl("~/layouts/images/lists.gif");
                dr["Name"]     = String.Format("<a href='{3}?ClassName={0}{1}&ListFolderId={4}'>{2}</a>",
                                               ListManager.GetListMetaClassName(iListId), (String.IsNullOrEmpty(link) ? link : "&" + link), li.Title,
                                               ResolveUrl("~/Apps/MetaUIEntity/Pages/EntityList.aspx"),
                                               _folderId);
                dr["sortName"]     = li.Title;
                dr["sortCreator"]  = Mediachase.UI.Web.Util.CommonHelper.GetUserStatusPureName(li.CreatorId);
                dr["TypeName"]     = (li.Properties["ListType"].Value != null) ? CHelper.GetResFileString(MetaEnum.GetFriendlyName(DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListTypeEnumName], (int)li.Properties["ListType"].Value)) : "";
                dr["StatusName"]   = (li.Properties["Status"].Value != null) ? CHelper.GetResFileString(MetaEnum.GetFriendlyName(DataContext.Current.MetaModel.RegisteredTypes[ListManager.ListStatusEnumName], (int)li.Properties["Status"].Value)) : "";
                dr["CreatorName"]  = Mediachase.UI.Web.Util.CommonHelper.GetUserStatus(li.CreatorId);
                dr["CreationDate"] = li.Created;

                if (ListInfoBus.CanAdmin(iListId))
                {
                    if (folder.FolderType != ListFolderType.Private)
                    {
                        string sPrjId = "";
                        if (ProjectId > 0)
                        {
                            sPrjId = "," + ProjectId.ToString();
                        }
                    }


                    string className = ListManager.GetListMetaClassName(iListId);
                    string moveLink  = String.Format("javascript:OpenSizableWindow(\"{3}?ListId={0}{2}&btn={1}\", {4}, {5});",
                                                     iListId, btnRefresh.UniqueID, (String.IsNullOrEmpty(link) ? link : "&" + link),
                                                     ResolveClientUrl("~/Apps/ListApp/Pages/ListInfoMove.aspx"), _dialogWidth, _dialogHeight);

                    dr["ActionMove"] = String.Format("<a href='{0}'><img alt='' src='{2}' width='12' height='12' border='0' align='absmiddle' title='{1}'></a>",
                                                     moveLink, CHelper.GetResFileString("{IbnFramework.ListInfo:MoveTo}"),
                                                     ResolveUrl("~/layouts/images/MoveTo.gif"));

                    Dictionary <string, string> prms = new Dictionary <string, string>();
                    prms.Add("ClassName", className);
                    string securityLink = String.Format("javascript:{{{0}}}", CommandManager.GetCurrent(this.Page).AddCommand("", "", "ListInfoList", "MC_ListApp_Security", prms).Replace("\"", "&quot;"));
                    dr["ActionSecurity"] = String.Format("<a href=\"{0}\"><img alt='' src='{1}' width='16' height='16' border='0' align='absmiddle' title='{2}'></a>",
                                                         securityLink,
                                                         ResolveUrl("~/Layouts/Images/icon-key.gif"),
                                                         CHelper.GetResFileString("{IbnFramework.ListInfo:Security}"));

                    dr["ActionEdit"] = String.Format("<a href='{3}?ListFolderId={0}&class={5}{2}'><img alt='' src='{4}' width='16' height='16' border='0'  align='absmiddle' title='{1}'></a>",
                                                     folder.PrimaryKeyId.Value.ToString(),
                                                     CHelper.GetResFileString("{IbnFramework.ListInfo:ListManagement}"), (String.IsNullOrEmpty(link) ? link : "&" + link),
                                                     ResolveUrl(CHelper.ListAdminPage),
                                                     ResolveUrl("~/layouts/images/customize.gif"),
                                                     className);
                    //dr["ActionDelete"] = "<a href='javascript:DeleteList(" + iListId.ToString() + ")'><img src='../layouts/images/delete.gif' width='16' height='16' border=0  align='absmiddle' title='" + CHelper.GetResFileString("{IbnFramework.ListInfo:Delete}") + "' ></a>";
                    //dr["ActionDelete"] = String.Format("<img alt='' src='{1}' width='16' height='16' border='0' align='absmiddle' title='{0}'>",
                    //        CHelper.GetResFileString("{IbnFramework.ListInfo:Delete}"),
                    //        ResolveUrl("~/layouts/images/delete.gif"));

                    dr["ActionDelete"] = String.Format("<a href='javascript:DeleteList({2})'><img alt='' src='{1}' width='16' height='16' border='0' align='absmiddle' title='{0}'></a>",
                                                       CHelper.GetResFileString("{IbnFramework.ListInfo:Delete}"),
                                                       ResolveUrl("~/layouts/images/delete.gif"), iListId.ToString());
                }
                dtLists.Rows.Add(dr);
            }

            DataRow[] drLists = dtLists.Select("", sFilter);

            DataTable dtResult = dt.Clone();

            if (fl_UseBas)
            {
                DataRow _dr = dtResult.NewRow();
                _dr.ItemArray = (Object[])dr_bas.ItemArray.Clone();
                dtResult.Rows.Add(_dr);
            }
            foreach (DataRow dr1 in drFolders)
            {
                DataRow _dr = dtResult.NewRow();
                _dr.ItemArray = dr1.ItemArray;
                dtResult.Rows.Add(_dr);
            }
            foreach (DataRow dr2 in drLists)
            {
                DataRow _dr = dtResult.NewRow();
                _dr.ItemArray = dr2.ItemArray;
                dtResult.Rows.Add(_dr);
            }

            DataView dv = dtResult.DefaultView;

            if (pc["Lists_FV_PageSize"] != null)
            {
                grdMain.PageSize = int.Parse(pc["Lists_FV_PageSize"]);
            }

            int iPageIndex = 0;

            if (pc["Lists_FV_Page"] != null)
            {
                iPageIndex = int.Parse(pc["Lists_FV_Page"]);
            }

            int ppi = dtResult.Rows.Count / grdMain.PageSize;

            if (dtResult.Rows.Count % grdMain.PageSize == 0)
            {
                ppi = ppi - 1;
            }
            if (iPageIndex <= ppi)
            {
                grdMain.CurrentPageIndex = iPageIndex;
            }
            else
            {
                grdMain.CurrentPageIndex = 0;
            }

            grdMain.DataSource = dv;
            grdMain.DataBind();
        }
Ejemplo n.º 40
0
        private void BindData()
        {
            rbList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.ListInfo:tPrivateLists}"), "0"));
            rbList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.ListInfo:tPublicLists}"), "1"));
            if (Configuration.ProjectManagementEnabled)
            {
                rbList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.ListInfo:tPrjLists}"), "2"));
            }
            rbList.Width = Unit.Percentage(100);
            rbList.CellPadding = 5;

            ListInfo liInfo = new ListInfo(_listId);
            ListFolder folder = new ListFolder(liInfo.FolderId.Value);
            switch (folder.FolderType)
            {
                case ListFolderType.Public:
                    rbList.SelectedValue = "1";
                    trProject.Visible = false;
                    break;
                case ListFolderType.Project:
                    rbList.SelectedValue = "2";
                    trProject.Visible = true;
                    ucProject.ObjectId = folder.ProjectId.Value;
                    ucProject.ObjectTypeId = (int)ObjectTypes.Project;
                    break;
                default:
                    rbList.SelectedValue = "0";
                    trProject.Visible = false;
                    break;
            }
            BindTree();
        }