コード例 #1
0
        void grdMain_ItemCreated(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                CpInfo       column = CurrentColumn;
                DataGridItem item   = e.Item;

                if (column != null && column.Items.Count > 0)
                {
                    CheckBox chb = item.FindControl("cbId") as CheckBox;
                    if (chb != null)
                    {
                        DataRowView row = item.DataItem as DataRowView;
                        if (row != null)
                        {
                            foreach (CpInfoItem infoItem in column.Items)
                            {
                                if (String.Compare(infoItem.Id, (string)row["Id"], true) == 0)
                                {
                                    chb.Checked = true;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: CustomPageEdit.ascx.cs プロジェクト: 0anion0/IBN
        protected void SaveButton_ServerClick(object sender, EventArgs e)
        {
            string className = string.Empty;
            string objectIdString = string.Empty;
            int objectId = 0;
            if (int.TryParse(Request["ObjectId"], out objectId))	// for portal level we can get "{QueryString:ObjectId}"
            {
                objectIdString = objectId.ToString();
                className = Request["ClassName"];
            }

            PrimaryKeyId pageId = PrimaryKeyId.Empty;
            if (CustomPageId == PrimaryKeyId.Empty)	// new
            {
                Guid pageUid = Guid.NewGuid();

                CustomPageEntity page = BusinessManager.InitializeEntity<CustomPageEntity>(CustomPageEntity.ClassName);
                page.Title = ctrlTitleText.Text; //TitleText.Text;
                page.Description = DescriptionText.Text;
                page.TemplateId = new Guid(TemplateList.SelectedValue);
                page.ProfileId = ProfileId;
                page.UserId = UserId;
                page.Uid = pageUid;

                // Json
                List<CpInfo> list = new List<CpInfo>();
                WorkspaceTemplateInfo wti = WorkspaceTemplateFactory.GetTemplateInfo(TemplateList.SelectedValue);
                List<ColumnInfo> columnInfoList = UtilHelper.JsonDeserialize<List<ColumnInfo>>(wti.ColumnInfo);
                foreach (ColumnInfo columnInfo in columnInfoList)
                {
                    CpInfo cpInfo = new CpInfo();
                    cpInfo.Id = columnInfo.Id;
                    cpInfo.Items = new List<CpInfoItem>();
                    list.Add(cpInfo);
                }
                page.JsonData = UtilHelper.JsonSerialize(list);
                //

                pageId = BusinessManager.Create(page);

                Response.Redirect(
                    String.Format(CultureInfo.InvariantCulture,
                        "~/Apps/WidgetEngine/Pages/CustomPageDesign.aspx?id={0}&ClassName={1}&ObjectId={2}&PageUid={3}",
                        pageId,
                        className,
                        objectIdString,
                        pageUid)
                    );
            }
            else // edit
            {
                CustomPageEntity page = (CustomPageEntity)BusinessManager.Load(CustomPageEntity.ClassName, CustomPageId);
                Guid pageUid = page.Uid;
                Guid newTemplateId = new Guid(TemplateList.SelectedValue);

                // if we edit the page from the current layer
                if ((page.UserId.HasValue && UserId.HasValue && (int)page.UserId.Value == UserId.Value)
                    ||
                    (page.ProfileId.HasValue && ProfileId.HasValue && (int)page.ProfileId.Value == ProfileId.Value)
                    ||
                    (!page.UserId.HasValue && !page.ProfileId.HasValue && !UserId.HasValue && !ProfileId.HasValue && !page.Properties.Contains(LocalDiskEntityObjectPlugin.IsLoadDiskEntityPropertyName)))
                {
                    page.Title = ctrlTitleText.Text;// TitleText.Text;
                    page.Description = DescriptionText.Text;

                    if (page.TemplateId != newTemplateId)
                    {
                        page.TemplateId = newTemplateId;
                        page.JsonData = GetNewJson(page.JsonData, newTemplateId);
                    }

                    BusinessManager.Update(page);
                }
                else // if we edit the page from the above layer
                {
                    CustomPageEntity newPage = BusinessManager.InitializeEntity<CustomPageEntity>(CustomPageEntity.ClassName);
                    newPage.Title = ctrlTitleText.Text;// TitleText.Text;
                    newPage.Description = DescriptionText.Text;
                    newPage.ProfileId = ProfileId;
                    newPage.UserId = UserId;
                    newPage.Uid = pageUid;
                    newPage.TemplateId = newTemplateId;
                    if (page.TemplateId != newTemplateId)
                    {
                        page.JsonData = GetNewJson(page.JsonData, newTemplateId);
                    }
                    else
                    {
                        newPage.JsonData = page.JsonData;
                    }

                    BusinessManager.Create(newPage);
                }

                Response.Redirect(GetLinkToList());
            }
        }
コード例 #3
0
        /// <summary>
        /// Handles the ItemCommand event of the grdMain control.
        /// </summary>
        /// <param name="source">The source of the event.</param>
        /// <param name="e">The <see cref="System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param>
        void grdMain_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Add")
            {
                string        Ids      = e.CommandArgument.ToString();
                List <CpInfo> userList = new List <CpInfo>();

                CustomPageEntity page = null;
                if (!this.IsAdmin)
                {
                    page = CustomPageManager.GetCustomPage(PageUid, null, Mediachase.IBN.Business.Security.CurrentUser.UserID);
                }
                else
                {
                    page = CustomPageManager.GetCustomPage(PageUid, ProfileId, UserId);
                }

                string userData    = page.JsonData;
                Guid   templateUid = page.TemplateId;

                List <ColumnInfo> list = new List <ColumnInfo>();
                if (this.IsAdmin)
                {
                    WorkspaceTemplateInfo wti = WorkspaceTemplateFactory.GetTemplateInfo(templateUid.ToString());
                    list = UtilHelper.JsonDeserialize <List <ColumnInfo> >(wti.ColumnInfo);
                }
                userList = UtilHelper.JsonDeserialize <List <CpInfo> >(userData.Replace("\\", ""));

                List <string> currentColumnsId = new List <string>();
                foreach (CpInfo cpItem in userList)
                {
                    currentColumnsId.Add(cpItem.Id);
                }

                List <CpInfo> newUserList = new List <CpInfo>();
                newUserList.AddRange(userList);

                if (this.IsAdmin)
                {
                    foreach (CpInfo cpItem in userList)
                    {
                        foreach (ColumnInfo info in list)
                        {
                            if (currentColumnsId.Contains(info.Id))
                            {
                                continue;
                            }

                            CpInfo cInfo = new CpInfo();
                            cInfo.Id    = info.Id;
                            cInfo.Items = new List <CpInfoItem>();
                            newUserList.Add(cInfo);
                        }
                    }
                }

                foreach (CpInfo cpItem in newUserList)
                {
                    if (cpItem.Id == this.ColumnId)
                    {
                        CpInfoItem newItem = new CpInfoItem();
                        newItem.Collapsed   = "false";
                        newItem.Id          = Ids;
                        newItem.InstanseUid = Guid.NewGuid().ToString("N");
                        cpItem.Items.Add(newItem);
                    }
                }

                string newJsonData = UtilHelper.JsonSerialize(newUserList);

                // Perform save to storage
                if (!IsAdmin)
                {
                    CustomPageManager.UpdateCustomPage(PageUid, newJsonData, templateUid, null, Mediachase.IBN.Business.Security.UserID);
                }
                else
                {
                    CustomPageManager.UpdateCustomPage(PageUid, newJsonData, templateUid, ProfileId, UserId);
                }

                divTemplateUpdate.Style.Add(HtmlTextWriterStyle.Display, "block");
                this.ForcePostback = true;
            }
        }
コード例 #4
0
ファイル: AddFramePopup.ascx.cs プロジェクト: 0anion0/IBN
        /// <summary>
        /// Handles the ItemCommand event of the grdMain control.
        /// </summary>
        /// <param name="source">The source of the event.</param>
        /// <param name="e">The <see cref="System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param>
        void grdMain_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Add")
            {
                string Ids = e.CommandArgument.ToString();
                List<CpInfo> userList = new List<CpInfo>();

                CustomPageEntity page = null;
                if (!this.IsAdmin)
                    page = CustomPageManager.GetCustomPage(PageUid, null, Mediachase.IBN.Business.Security.CurrentUser.UserID);
                else
                    page = CustomPageManager.GetCustomPage(PageUid, ProfileId, UserId);

                string userData = page.JsonData;
                Guid templateUid = page.TemplateId;

                List<ColumnInfo> list = new List<ColumnInfo>();
                if (this.IsAdmin)
                {
                    WorkspaceTemplateInfo wti = WorkspaceTemplateFactory.GetTemplateInfo(templateUid.ToString());
                    list = UtilHelper.JsonDeserialize<List<ColumnInfo>>(wti.ColumnInfo);
                }
                userList = UtilHelper.JsonDeserialize<List<CpInfo>>(userData.Replace("\\", ""));

                List<string> currentColumnsId = new List<string>();
                foreach (CpInfo cpItem in userList)
                    currentColumnsId.Add(cpItem.Id);

                List<CpInfo> newUserList = new List<CpInfo>();
                newUserList.AddRange(userList);

                if (this.IsAdmin)
                {
                    foreach (CpInfo cpItem in userList)
                    {
                        foreach (ColumnInfo info in list)
                        {
                            if (currentColumnsId.Contains(info.Id))
                                continue;

                            CpInfo cInfo = new CpInfo();
                            cInfo.Id = info.Id;
                            cInfo.Items = new List<CpInfoItem>();
                            newUserList.Add(cInfo);
                        }
                    }
                }

                foreach (CpInfo cpItem in newUserList)
                {
                    if (cpItem.Id == this.ColumnId)
                    {
                        CpInfoItem newItem = new CpInfoItem();
                        newItem.Collapsed = "false";
                        newItem.Id = Ids;
                        newItem.InstanseUid = Guid.NewGuid().ToString("N");
                        cpItem.Items.Add(newItem);
                    }
                }

                string newJsonData = UtilHelper.JsonSerialize(newUserList);

                // Perform save to storage
                if (!IsAdmin)
                    CustomPageManager.UpdateCustomPage(PageUid, newJsonData, templateUid, null, Mediachase.IBN.Business.Security.UserID);
                else
                    CustomPageManager.UpdateCustomPage(PageUid, newJsonData, templateUid, ProfileId, UserId);

                divTemplateUpdate.Style.Add(HtmlTextWriterStyle.Display, "block");
                this.ForcePostback = true;
            }
        }
コード例 #5
0
ファイル: CustomPageEdit.ascx.cs プロジェクト: alex765022/IBN
        protected void SaveButton_ServerClick(object sender, EventArgs e)
        {
            string className      = string.Empty;
            string objectIdString = string.Empty;
            int    objectId       = 0;

            if (int.TryParse(Request["ObjectId"], out objectId))                // for portal level we can get "{QueryString:ObjectId}"
            {
                objectIdString = objectId.ToString();
                className      = Request["ClassName"];
            }

            PrimaryKeyId pageId = PrimaryKeyId.Empty;

            if (CustomPageId == PrimaryKeyId.Empty)             // new
            {
                Guid pageUid = Guid.NewGuid();

                CustomPageEntity page = BusinessManager.InitializeEntity <CustomPageEntity>(CustomPageEntity.ClassName);
                page.Title       = ctrlTitleText.Text;           //TitleText.Text;
                page.Description = DescriptionText.Text;
                page.TemplateId  = new Guid(TemplateList.SelectedValue);
                page.ProfileId   = ProfileId;
                page.UserId      = UserId;
                page.Uid         = pageUid;

                // Json
                List <CpInfo>         list           = new List <CpInfo>();
                WorkspaceTemplateInfo wti            = WorkspaceTemplateFactory.GetTemplateInfo(TemplateList.SelectedValue);
                List <ColumnInfo>     columnInfoList = UtilHelper.JsonDeserialize <List <ColumnInfo> >(wti.ColumnInfo);
                foreach (ColumnInfo columnInfo in columnInfoList)
                {
                    CpInfo cpInfo = new CpInfo();
                    cpInfo.Id    = columnInfo.Id;
                    cpInfo.Items = new List <CpInfoItem>();
                    list.Add(cpInfo);
                }
                page.JsonData = UtilHelper.JsonSerialize(list);
                //

                pageId = BusinessManager.Create(page);

                Response.Redirect(
                    String.Format(CultureInfo.InvariantCulture,
                                  "~/Apps/WidgetEngine/Pages/CustomPageDesign.aspx?id={0}&ClassName={1}&ObjectId={2}&PageUid={3}",
                                  pageId,
                                  className,
                                  objectIdString,
                                  pageUid)
                    );
            }
            else             // edit
            {
                CustomPageEntity page          = (CustomPageEntity)BusinessManager.Load(CustomPageEntity.ClassName, CustomPageId);
                Guid             pageUid       = page.Uid;
                Guid             newTemplateId = new Guid(TemplateList.SelectedValue);

                // if we edit the page from the current layer
                if ((page.UserId.HasValue && UserId.HasValue && (int)page.UserId.Value == UserId.Value)
                    ||
                    (page.ProfileId.HasValue && ProfileId.HasValue && (int)page.ProfileId.Value == ProfileId.Value)
                    ||
                    (!page.UserId.HasValue && !page.ProfileId.HasValue && !UserId.HasValue && !ProfileId.HasValue && !page.Properties.Contains(LocalDiskEntityObjectPlugin.IsLoadDiskEntityPropertyName)))
                {
                    page.Title       = ctrlTitleText.Text;              // TitleText.Text;
                    page.Description = DescriptionText.Text;

                    if (page.TemplateId != newTemplateId)
                    {
                        page.TemplateId = newTemplateId;
                        page.JsonData   = GetNewJson(page.JsonData, newTemplateId);
                    }

                    BusinessManager.Update(page);
                }
                else                 // if we edit the page from the above layer
                {
                    CustomPageEntity newPage = BusinessManager.InitializeEntity <CustomPageEntity>(CustomPageEntity.ClassName);
                    newPage.Title       = ctrlTitleText.Text;              // TitleText.Text;
                    newPage.Description = DescriptionText.Text;
                    newPage.ProfileId   = ProfileId;
                    newPage.UserId      = UserId;
                    newPage.Uid         = pageUid;
                    newPage.TemplateId  = newTemplateId;
                    if (page.TemplateId != newTemplateId)
                    {
                        page.JsonData = GetNewJson(page.JsonData, newTemplateId);
                    }
                    else
                    {
                        newPage.JsonData = page.JsonData;
                    }

                    BusinessManager.Create(newPage);
                }

                Response.Redirect(GetLinkToList());
            }
        }