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; } } } } } } }
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()); } }
/// <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; } }
/// <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; } }
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()); } }