예제 #1
0
        /// <summary>
        /// Generates the channel information.
        /// </summary>
        /// <param name="channel">The channel.</param>
        private void GenerateChannelInformation(RssChannel channel)
        {
            if (this.Parameters.ClassName.StartsWith("List_"))
            {
                string strListId = this.Parameters.ClassName.Replace("List_", string.Empty);
                int    listId    = int.Parse(strListId);

                if (!ListInfoBus.CanRead(listId))
                {
                    throw new Mediachase.Ibn.AccessDeniedException();
                }

                GenerateListChannelInformation(channel);
            }
        }
예제 #2
0
        public void Invoke(object Sender, object Element)
        {
            NameValueCollection qs = ((Control)Sender).Page.Request.QueryString;

            if (!String.IsNullOrEmpty(qs["ViewName"]))
            {
                int listId = ListManager.GetListIdByClassName(qs["ViewName"]);
                ListInfoBus.AddFavorites(listId);
            }
            else if (!String.IsNullOrEmpty(qs["ClassName"]))
            {
                int listId = ListManager.GetListIdByClassName(qs["ClassName"]);
                ListInfoBus.AddFavorites(listId);
            }
        }
예제 #3
0
        public bool IsEnable(object Sender, object Element)
        {
            bool retval = false;

            if (Element is CommandParameters)
            {
                CommandParameters cp  = (CommandParameters)Element;
                string            sid = cp.CommandArguments["primaryKeyId"];

                string[] elem = sid.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                int      id   = -1;
                int.TryParse(elem[0], out id);
                retval = ListInfoBus.CanAdmin(id);
            }
            return(retval);
        }
예제 #4
0
        public bool IsEnable(object Sender, object Element)
        {
            bool retval            = false;
            NameValueCollection qs = ((Control)Sender).Page.Request.QueryString;

            if (!String.IsNullOrEmpty(qs["ViewName"]))
            {
                int listId = ListManager.GetListIdByClassName(qs["ViewName"]);
                retval = ListInfoBus.CanAdmin(listId);
            }
            else if (!String.IsNullOrEmpty(qs["ClassName"]))
            {
                int listId = ListManager.GetListIdByClassName(qs["ClassName"]);
                retval = ListInfoBus.CanAdmin(listId);
            }
            return(retval);
        }
예제 #5
0
        private void BindDGLists()
        {
            dgLists.DataSource = ListInfoBus.GetListFavoritesDT();
            dgLists.DataBind();

            int RowCount = dgLists.Items.Count;

            if (RowCount == 0)
            {
                Sep7.Visible = false;
                Pan7.Visible = false;
            }
            else
            {
                Sep7.Title = String.Format("{0} ({1})", LocRM.GetString("Lists"), RowCount);
            }
        }
예제 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            li = ListManager.GetListInfoByMetaClassName(ClassName);

            if (!IsPostBack)
            {
                if (!li.IsTemplate && !ListInfoBus.CanAdmin(li.PrimaryKeyId.Value))
                {
                    throw new Mediachase.Ibn.AccessDeniedException();
                }

                BindLists();
                BindSavedData();
                Page.SetFocus(ListNameTextBox);

                MainBlockHeader.AddLink("~/images/IbnFramework/cancel.gif",
                                        GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "Back").ToString(),
                                        String.Format(CultureInfo.InvariantCulture, "{0}?class={1}", CHelper.ListAdminPage, ClassName));
            }

            CancelButton.Attributes.Add("onclick", String.Format(CultureInfo.InvariantCulture, "window.location.href='ListInfoView.aspx?class={0}';return false;", ClassName));
        }
예제 #7
0
        public bool IsEnable(object Sender, object Element)
        {
            bool retval = false;

            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;
                if (cp.CommandArguments != null && cp.CommandArguments.ContainsKey(CommandParameters.CommandParametersKey))
                {
                    string param = cp.CommandArguments[CommandParameters.CommandParametersKey];

                    int id = -1;
                    int.TryParse(param, out id);

                    if (id > 0)
                    {
                        retval = ListInfoBus.CanRead(id);
                    }
                }
            }
            return(retval);
        }
예제 #8
0
        /// <summary>
        /// Binds the table.
        /// </summary>
        void BindTable()
        {
            int i = 1;

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

            DataTable dt = ListInfoBus.GetListFavoritesDT();

            dt.Columns.Add(new DataColumn("Icon", typeof(string)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("UserName", typeof(string)));

            foreach (DataRow row in dt.Rows)
            {
                string   metaClassName = String.Format("List_{0}", row["ObjectId"]);
                ListInfo li            = ListManager.GetListInfoByMetaClassName(metaClassName);

                row["Name"] = String.Format("<a href='{2}?ClassName={0}'>{1}</a>",
                                            metaClassName, li.Title, ResolveUrl("~/Apps/MetaUIEntity/Pages/EntityList.aspx"));
                row["Icon"]     = this.ResolveUrl("~/layouts/images/blank.gif");
                row["UserName"] = Mediachase.UI.Web.Util.CommonHelper.GetUserStatusPureName(li.CreatorId);
            }

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

            if (dt.Rows.Count == 0)
            {
                panelNoFavList.Visible = true;
                grdMain.Visible        = false;
            }
            else
            {
                panelNoFavList.Visible = false;
                grdMain.Visible        = true;
            }
        }
예제 #9
0
        public bool IsEnable(object Sender, object Element)
        {
            bool retval            = false;
            NameValueCollection qs = ((Control)Sender).Page.Request.QueryString;

            if (!String.IsNullOrEmpty(qs["ViewName"]))
            {
                if (ListManager.MetaClassIsList(qs["ViewName"]))
                {
                    int listId = ListManager.GetListIdByClassName(qs["ViewName"]);
                    return(ListInfoBus.CanWrite(listId));
                }
            }
            if (!String.IsNullOrEmpty(qs["ClassName"]))
            {
                if (ListManager.MetaClassIsList(qs["ClassName"]))
                {
                    int listId = ListManager.GetListIdByClassName(qs["ClassName"]);
                    return(ListInfoBus.CanWrite(listId));
                }
            }
            object className = CHelper.GetFromContext("Reference1N_ClassName");

            if (className != null && ListManager.MetaClassIsList(className.ToString()))
            {
                int listId = ListManager.GetListIdByClassName(className.ToString());
                return(ListInfoBus.CanWrite(listId));
            }
            className = CHelper.GetFromContext("ReferenceNN_ClassName");
            if (className != null && ListManager.MetaClassIsList(className.ToString()))
            {
                int listId = ListManager.GetListIdByClassName(className.ToString());
                return(ListInfoBus.CanWrite(listId));
            }
            return(retval);
        }
예제 #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!ListInfoBus.CanAdmin(_listId))
                {
                    throw new AccessDeniedException();
                }
            }

            rbList.SelectedIndexChanged += new EventHandler(rbList_SelectedIndexChanged);
            if (!Page.IsPostBack)
            {
                BindData();
            }

            btnMove.CustomImage  = ResolveUrl("~/layouts/images/upload.gif");
            btnMove.ServerClick += new EventHandler(btnSave_ServerClick);
            btnMove.Text         = CHelper.GetResFileString("{IbnFramework.ListInfo:tMove}");
            btnMove.Attributes.Add("onclick", "DisableButtons(this);");

            btnMoveAssign.CustomImage  = ResolveUrl("~/layouts/images/upload.gif");
            btnMoveAssign.ServerClick += new EventHandler(btnMoveAssign_ServerClick);
            btnMoveAssign.Text         = CHelper.GetResFileString("{IbnFramework.ListInfo:tMoveAssign}");
            btnMoveAssign.Attributes.Add("onclick", "DisableButtons(this);");

            ScriptManager sm = ScriptManager.GetCurrent(this.Page);

            if (sm != null)
            {
                sm.RegisterPostBackControl(btnMove);
                sm.RegisterPostBackControl(btnMoveAssign);
            }

            BindToolbar();
        }
예제 #11
0
        private void GetACLData()
        {
            DataTable dt = ACLToDateTable(ListInfoBus.GetListAccessesDT(iListId));

            ViewState["ACL"] = dt;
        }
예제 #12
0
        private void dgLists_DeleteCommand(object source, DataGridCommandEventArgs e)
        {
            int ObjectId = int.Parse(e.CommandArgument.ToString());

            ListInfoBus.DeleteFavorites(ObjectId);
        }
예제 #13
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();
        }