public override bool CheckVisibility(object dataItem) { if (dataItem != null && dataItem is BusinessObject) { bool isVisible = false; if (dataItem is TimeTrackingBlock) { TimeTrackingBlock blk = (TimeTrackingBlock)dataItem; // New or old (4.1) Finance schema bool areFinancesNew = true; if (blk.ProjectId.HasValue) { areFinancesNew = ProjectSpreadSheet.IsActive(blk.ProjectId.Value); } if (areFinancesNew) { SecurityService ss = ((TimeTrackingBlock)dataItem).GetService <SecurityService>(); if (ss != null && ss.CheckUserRight(TimeTrackingManager.Right_ViewFinances)) { isVisible = true; } } } return(isVisible); } return(base.CheckVisibility(dataItem)); }
void BindDropDown() { Mediachase.IBN.Business.SpreadSheet.Row[] mas = ProjectSpreadSheet.GetFactAvailableRows(CommonHelper.GetProjectIdByObjectIdObjectType(ObjectId, ObjectTypeId)); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("Id", typeof(string))); foreach (Row row in mas) { if (!(row.Name == string.Empty && row.ReadOnly)) { DataRow datarow = dt.NewRow(); datarow["Id"] = row.Id; if (!row.HasChildRows && !row.ReadOnly && row.Visibility == RowVisibility.User) { datarow["Name"] = "--- " + row.Name; } else { datarow["Name"] = row.Name; } dt.Rows.Add(datarow); } } ddAccounts.DataSource = dt; ddAccounts.DataTextField = "Name"; ddAccounts.DataValueField = "Id"; ddAccounts.DataBind(); }
/// <summary> /// Handles the ServerClick event of the btnDeactivateFinance control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> void btnDeactivateFinance_ServerClick(object sender, EventArgs e) { ProjectSpreadSheet.Deactivate(int.Parse(Request["ProjectId"])); Response.Redirect( String.Format(CultureInfo.InvariantCulture, "~/Projects/ProjectView.aspx?ProjectId={0}", Request["ProjectId"])); }
/// <summary> /// Handles the ServerClick event of the btnOk control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void btnOk_ServerClick(object sender, EventArgs e) { ProjectSpreadSheet.SetUserRowName(int.Parse(Request["ProjectId"]), RowId, tbName.Text); StringBuilder sb = new StringBuilder(); sb.Append("<script language=JavaScript>"); sb.AppendFormat("window.opener.mygrid.setItemText('{0}','{2}');", RowId, Index, tbName.Text); sb.Append("window.close();"); sb.Append("</script>"); Page.ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), sb.ToString()); }
protected void Page_Load(object sender, System.EventArgs e) { UserLightPropertyCollection pc = Security.CurrentUser.Properties; // Add Tabs string link = String.Format("ProjectView.aspx?ProjectId={0}&Tab=4&SubTab=0", ProjectId); bool IsFinance41 = (Finance.GetListActualFinancesByProject(int.Parse(this.Request["ProjectId"]), false).Rows.Count > 0); blockControl.AddTab("0", LocRM.GetString("tSpreadSheet"), link, "../Projects/Modules/FinanceSpreadSheet.ascx"); if ((SubTab == "0" || SubTab == "1" || SubTab == "2")) { pc[pcKey] = SubTab; } else if (pc[pcKey] == null) { pc[pcKey] = "0"; } bool projectSpreadSheetIsActive = ProjectSpreadSheet.IsActive(int.Parse(this.Request["ProjectId"])); if (!projectSpreadSheetIsActive) { link = String.Format("ProjectView.aspx?ProjectId={0}&Tab=4&SubTab=1", ProjectId); if (IsFinance41) { blockControl.AddTab("1", LocRM.GetString("tActFinances"), link, "../Projects/Modules/FinanceActualList.ascx"); } if (pc[pcKey] != "2" && !IsFinance41) { pc[pcKey] = "0"; } } else { //blockControl.AddTab("0", LocRM.GetString("tSpreadSheet"), link, "../Projects/Modules/FinanceSpreadSheet.ascx"); link = String.Format("ProjectView.aspx?ProjectId={0}&Tab=4&SubTab=1", ProjectId); blockControl.AddTab("1", LocRM.GetString("tActFinances"), link, "../Projects/Modules/FinanceActualList2.ascx"); } //IBN 4.1 Finances if (IsFinance41 && !projectSpreadSheetIsActive) { link = String.Format("ProjectView.aspx?ProjectId={0}&Tab=4&SubTab=2", ProjectId); blockControl.AddTab("2", LocRM.GetString("tAccounts"), link, "../Projects/Modules/FinanceAccountsList.ascx"); } // Select Tab blockControl.SelectTab(pc[pcKey]); }
private void BindToolbar() { if (this.Parent.Parent is IToolbarLight) { bool projectSpreadSheetIsActive = ProjectSpreadSheet.IsActive(int.Parse(this.Request["ProjectId"])); if (projectSpreadSheetIsActive) { BlockHeaderLightWithMenu secHeaderLight = (BlockHeaderLightWithMenu)((IToolbarLight)this.Parent.Parent).GetToolBar(); secHeaderLight.AddRightLink("<img alt='' src='../Layouts/Images/icons/xlsexport.gif'/> " + LocRM2.GetString("ExcelExport"), "../Projects/ProjectBSExport.aspx?" + "ProjectId=" + ProjectId.ToString() + "&BasePlan1=" + pc["SpreadSheet_dd1" + ProjectId.ToString()] + "&BasePlan2=" + pc["SpreadSheet_dd2" + ProjectId.ToString()] + "&FromYear=" + pc["SpreadSheet_From" + ProjectId.ToString()] + "&ToYear=" + pc["SpreadSheet_To" + ProjectId.ToString()] + "&FinanceType=" + pc["SpreadSheet_DocumentType" + ProjectId.ToString()]); } } }
protected void BindBasePlans() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("BasePlanSlotId", typeof(int))); Hashtable ht = ProjectSpreadSheet.GetFilledSlotHash(int.Parse(Request["ProjectId"])); if (ht.Keys.Count <= 0) { trBasePlanFilter.Visible = false; } foreach (BasePlanSlot bps in BasePlanSlot.List()) { DataRow row = dt.NewRow(); row["BasePlanSlotId"] = bps.BasePlanSlotId; DateTime d_time = DateTime.MinValue; if (ht.Contains(bps.BasePlanSlotId)) { foreach (BasePlan bp in BasePlan.List(int.Parse(Request["ProjectId"]))) { if (bp.BasePlanSlotId == bps.BasePlanSlotId) { d_time = bp.Created; break; } } } if (d_time != DateTime.MinValue) { row["Name"] = String.Format("{0} ({1}: {2})", bps.Name, LocRM.GetString("LastSaved"), d_time); } else { continue; } dt.Rows.Add(row); } ddlBasePlans.DataSource = dt; ddlBasePlans.DataTextField = "Name"; ddlBasePlans.DataValueField = "BasePlanSlotId"; ddlBasePlans.DataBind(); ddlBasePlans.Items.Insert(0, new ListItem(LocRM.GetString("NotSet"), "-1")); ddlBasePlans.SelectedValue = BasePlanSlotId.ToString(); }
void BindDropDown() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("BasePlanSlotId", typeof(int))); Hashtable ht = ProjectSpreadSheet.GetFilledSlotHash(int.Parse(Request["ProjectId"])); int selvalue = -1; DateTime d_time = DateTime.Now; foreach (BasePlanSlot bps in BasePlanSlot.List()) { if (bps.IsDefault) { selvalue = bps.BasePlanSlotId; } DataRow row = dt.NewRow(); row["BasePlanSlotId"] = bps.BasePlanSlotId; if (ht.Contains(bps.BasePlanSlotId)) { foreach (BasePlan bp in BasePlan.List(int.Parse(Request["ProjectId"]))) { if (bp.BasePlanSlotId == bps.BasePlanSlotId) { d_time = bp.Created; break; } } row["Name"] = String.Format("{0} ({1}: {2})", bps.Name, LocRM.GetString("LastSaved"), d_time); //row["Created"] = ht[bps.BasePlanSlotId]; } else { row["Name"] = bps.Name; } dt.Rows.Add(row); } ddBasePlan.DataSource = dt; ddBasePlan.DataTextField = "Name"; ddBasePlan.DataValueField = "BasePlanSlotId"; ddBasePlan.DataBind(); ddBasePlan.SelectedValue = selvalue.ToString(); }
private void btnActivate_ServerClick(object sender, EventArgs e) { ProjectSpreadSheet.Activate(int.Parse(Request["ProjectId"]), (SpreadSheetDocumentType)int.Parse(ddDocType.SelectedValue), ddTemplate.SelectedValue); #region tmpversion /*DataTable dt = Finance.GetListActualFinancesByProject(int.Parse(Request["ProjectId"])); * if (dt.Rows.Count > 0) * { * SpreadSheetView view = ProjectSpreadSheet.LoadView(int.Parse(Request["ProjectId"]), 0, DateTime.Now.Year, DateTime.Now.Year); * string[] newIds = new string[100]; * int counter = 0; * foreach (DataRow row in dt.Rows) * { #region GetBlockRowId * string _id = string.Empty; * foreach (Row r in view.Rows) * { * if (r is Block) * { * _id = r.Id; * break; * } * } #endregion * * //DV: Convert finances from IBN 4.1 * newIds[counter] = Guid.NewGuid().ToString(); * view.AddBlockRow(_id, newIds[counter]); * counter++; * if (row == null) return; * } * counter = 0; * ProjectSpreadSheet.SaveView(int.Parse(Request["ProjectId"]), 0, view); * foreach (DataRow row in dt.Rows) * { * ProjectSpreadSheet.SetUserRowName(int.Parse(Request["ProjectId"]), newIds[counter], (string)row[2]); * ActualFinances.Create((int)row["ObjectId"], (ObjectTypes)row["ObjectTypeId"], (DateTime)row["LastSavedDate"], newIds[counter], Convert.ToDouble(row["AValue"]), (string)row[2]); * counter++; * } * }*/ #endregion Page.ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script language=JavaScript> window.location.href=window.location.href; </script>"); }
protected void Page_Load(object sender, System.EventArgs e) { divGrid.Visible = false; divActivate.Visible = false; BindHeader(); ApplyLocalization(); btnDeactivate.Click += new EventHandler(btnDeactivate_Click); btnDeactivateFinance.ServerClick += new EventHandler(btnDeactivateFinance_ServerClick); btnDeactivateFinance.Attributes.Add("onclick", String.Format("if(!confirm('{0}')) return false;", LocRM.GetString("ReactivateMsg"))); btnApplyFilter.ServerClick += new EventHandler(btnApplyFilter_ServerClick); btnDeactivateFinance.CustomImage = this.Page.ResolveUrl("~/layouts/images/card-delete.gif"); btnApplyFilter.CustomImage = this.Page.ResolveUrl("~/layouts/images/accept.gif"); btnActivate.CustomImage = this.Page.ResolveUrl("~/layouts/images/accept.gif"); btnCancel.CustomImage = this.Page.ResolveUrl("~/layouts/images/cancel.gif"); if (!IsPostBack) { BindDropDowns(); } if (ProjectSpreadSheet.IsActive(int.Parse(this.Request["ProjectId"]))) { divGrid.Visible = true; if (!IsPostBack) { GenerateScript(); } // Put user code to initialize the page here AddOnkeydownAttribute(); //AddOnMouseClickListener(); } else { divActivate.Visible = true; } BindToolbar(); }
protected void Page_Load(object sender, System.EventArgs e) { if (pc["FinAct_Sort"] == null) { pc["FinAct_Sort"] = "ActualDate"; } DefineParentProjectId(); ApplyLocalization(); int ProjectId = Util.CommonHelper.GetProjectIdByObjectIdObjectType(this.ObjectId, this.ObjectTypeId); if (!IsPostBack) { BindValues(); } if (!Page.IsPostBack && ProjectSpreadSheet.IsActive(ProjectId)) { BindDG(dgAccounts); } BindToolbar(); }
private void BindFinanceTable() { XmlDocument doc = new XmlDocument(); ArrayList PrIds = LoadProjectList(); SpreadSheetDocumentType type = SpreadSheetDocumentType.WeekYear; switch (FinanceType) { case "1": type = SpreadSheetDocumentType.WeekYear; break; case "2": type = SpreadSheetDocumentType.MonthQuarterYear; break; case "3": type = SpreadSheetDocumentType.QuarterYear; break; case "4": type = SpreadSheetDocumentType.Year; break; case "5": type = SpreadSheetDocumentType.Total; break; } SpreadSheetView view = null; if (!Reverse) { view = ProjectSpreadSheet.CompareProjects(PrIds, type, BasePlan1, FromYear, ToYear); } else { view = ProjectSpreadSheet.CompareProjectsReverse(PrIds, type, BasePlan1, FromYear, ToYear); } if (BasePlan2 == -2) { doc = ProjectSpreadSheet.CreateViewDocForAnalysis(view); } else { SpreadSheetView view2 = null; if (!Reverse) { view2 = ProjectSpreadSheet.CompareProjects(PrIds, type, BasePlan2, FromYear, ToYear); } else { view2 = ProjectSpreadSheet.CompareProjectsReverse(PrIds, type, BasePlan2, FromYear, ToYear); } doc = ProjectSpreadSheet.CreateViewCompareDocForAnalysis(view, view2); } if (doc != null) { #region BindTableHeader HtmlTableRow rheader1 = new HtmlTableRow(); HtmlTableRow rheader2 = new HtmlTableRow(); HtmlTableRow rheader3 = new HtmlTableRow(); if (view.Document.DocumentType != SpreadSheetDocumentType.Total && view.Document.DocumentType != SpreadSheetDocumentType.Year) { int YearCounter = ToYear - FromYear + 1; int ColSpanRate = -1; #region Year if (view.Document.DocumentType == SpreadSheetDocumentType.QuarterYear) { ColSpanRate = 5; HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 2; c1.InnerText = LocRM.GetString("tProjects"); rheader1.Cells.Add(c1); } else if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { ColSpanRate = 17; HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 3; c1.InnerText = LocRM.GetString("tProjects"); rheader1.Cells.Add(c1); } else if (view.Document.DocumentType == SpreadSheetDocumentType.WeekYear) { ColSpanRate = 53; HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 2; c1.InnerText = LocRM.GetString("tProjects"); rheader1.Cells.Add(c1); } int RowSpanRate = (view.Columns.Length - YearCounter) / (YearCounter * 4); int yearCount = 0; int tmp = 0; int tmp2 = 0; for (int i = 0; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % (ColSpanRate) == 0) { tmp = FromYear + yearCount; tmp2 = ColSpanRate - 1; HtmlTableCell c1 = new HtmlTableCell(); c1.Align = "center"; c1.ColSpan = tmp2; c1.InnerHtml = tmp.ToString(); rheader1.Cells.Add(c1); } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 3; c1.Align = "center"; c1.InnerHtml = LocRM.GetString("tYear"); rheader1.Cells.Add(c1); } } else //Week/Year or Quarter/Year { if (i % (ColSpanRate) == 0) { tmp = FromYear + yearCount; tmp2 = ColSpanRate - 1; HtmlTableCell c1 = new HtmlTableCell(); c1.ColSpan = tmp2; c1.Align = "center"; c1.InnerHtml = tmp.ToString(); rheader1.Cells.Add(c1); } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 2; c1.InnerHtml = LocRM.GetString("tYear"); c1.Align = "center"; rheader1.Cells.Add(c1); } } if (i % (ColSpanRate) == 0) { yearCount++; } } if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 3; c1.InnerHtml = LocRM.GetString("tTotalSum"); c1.Align = "center"; rheader1.Cells.Add(c1); } else { HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 2; c1.InnerHtml = LocRM.GetString("tTotalSum"); c1.Align = "center"; rheader1.Cells.Add(c1); } #endregion #region Quartals if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { for (int i = 0; i < view.Columns.Length - 1; i++) { int counter = i % ColSpanRate; if (counter % (RowSpanRate) == 0 && counter != 16) { tmp = (counter / 4) + 1; HtmlTableCell c1 = new HtmlTableCell(); c1.ColSpan = 3; c1.Align = "center"; c1.InnerHtml = LocRM.GetString("tQuarterYear") + " " + tmp.ToString(); rheader2.Cells.Add(c1); } else if ((counter + 1) % RowSpanRate == 0) { HtmlTableCell c1 = new HtmlTableCell(); c1.RowSpan = 2; c1.InnerHtml = LocRM.GetString("tQuarterTotal"); c1.Align = "center"; rheader2.Cells.Add(c1); } else if (counter == 16) { } } } #endregion #region BindServerData int _counter = 0; for (int i = 0; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % ColSpanRate == 0 && i > 0) { _counter++; } if ((i + 1 - _counter) % RowSpanRate == 0 && i > 0) { } else if ((i + 1) % ColSpanRate == 0 && i > 0) { } else { HtmlTableCell c1 = new HtmlTableCell(); c1.InnerHtml = ((Column)view.Columns[i]).Name; c1.Align = "center"; rheader3.Cells.Add(c1); } } else { if ((i + 1) % ColSpanRate == 0) { } else { HtmlTableCell c1 = new HtmlTableCell(); c1.InnerHtml = ((Column)view.Columns[i]).Name; c1.Align = "center"; rheader3.Cells.Add(c1); } } } #endregion rheader1.Attributes.Add("class", "gridheader"); tGrid.Rows.Add(rheader1); rheader2.Attributes.Add("class", "gridheader"); if (rheader2.Cells.Count > 0) { tGrid.Rows.Add(rheader2); } rheader3.Attributes.Add("class", "gridheader"); if (rheader3.Cells.Count > 0) { tGrid.Rows.Add(rheader3); } } else { rheader1 = new HtmlTableRow(); HtmlTableCell c1 = new HtmlTableCell(); c1.InnerHtml = LocRM.GetString("tProjects"); rheader1.Cells.Add(c1); for (int i = 0; i < view.Columns.Length; i++) { c1 = new HtmlTableCell(); c1.InnerHtml = ((Column)view.Columns[i]).Name; c1.Align = "center"; rheader1.Cells.Add(c1); } rheader1.Attributes.Add("class", "gridheader"); tGrid.Rows.Add(rheader1); } #endregion #region BindTableBody XmlNode ParentNode = doc.DocumentElement; foreach (XmlNode node in ParentNode.ChildNodes) { HtmlTableRow rbody = new HtmlTableRow(); ArrayList alcr = new ArrayList(); foreach (XmlNode node2 in node.ChildNodes) { HtmlTableRow crbody = new HtmlTableRow(); foreach (XmlNode cnode in node2.ChildNodes) { if (node2.Name == "row") { HtmlTableCell c1 = new HtmlTableCell(); c1.Align = "right"; c1.InnerHtml = cnode.InnerText; crbody.Cells.Add(c1); } else { if (node2.Name == "cell") { HtmlTableCell c2 = new HtmlTableCell(); c2.InnerHtml = "<b>" + node2.InnerText + "</b>"; rbody.Cells.Add(c2); } } } alcr.Add(crbody); crbody = new HtmlTableRow(); } if (rbody.Cells.Count > 0) { tGrid.Rows.Add(rbody); } for (int i = 0; i < alcr.Count; i++) { if (((HtmlTableRow)alcr[i]).Cells.Count > 0) { tGrid.Rows.Add((HtmlTableRow)alcr[i]); } } for (int i = 0; i < tGrid.Rows.Count; i++) { if (tGrid.Rows[i].Cells.Count > 0) { tGrid.Rows[i].Cells[0].Attributes.Add("class", "gridheader"); } } } #endregion } }
private void BindToolbar() { //DV: Esli netu userskih row v spreadshhete proekta to dobavit actual finansy nevozmozhno if (ProjectSpreadSheet.GetFactAvailableRows(Util.CommonHelper.GetProjectIdByObjectIdObjectType(ObjectId, ObjectTypeId)).Length == 0) { return; } if (this.Parent.Parent is IToolbarLight) { BlockHeaderLightWithMenu secHeaderLight = (BlockHeaderLightWithMenu)((IToolbarLight)this.Parent.Parent).GetToolBar(); secHeaderLight.ActionsMenu.Items.Clear(); secHeaderLight.ClearRightItems(); if (ProjectId < 0) { secHeaderLight.AddText(LocRM.GetString("tActFinances")); } ComponentArt.Web.UI.MenuItem subItem; #region New Item string command = String.Empty; if (ProjectId > 0 && Project.CanEditFinances(ProjectId)) { command = String.Format(CultureInfo.InvariantCulture, "OpenWindow(\"{0}?ObjectId={1}&ObjectTypeId={2}&btn={3}\",520,220,false);", ResolveClientUrl("~/projects/AddFinanceActual.aspx"), ProjectId, (int)ObjectTypes.Project, Page.ClientScript.GetPostBackEventReference(RefreshButton, "")); } if (TaskId > 0 && Task.CanViewFinances(TaskId)) { command = String.Format(CultureInfo.InvariantCulture, "OpenWindow(\"{0}?ObjectId={1}&ObjectTypeId={2}&btn={3}\",520,220,false);", ResolveClientUrl("~/projects/AddFinanceActual.aspx"), TaskId, (int)ObjectTypes.Task, Page.ClientScript.GetPostBackEventReference(RefreshButton, "")); } if (IncidentId > 0 && Incident.CanViewFinances(IncidentId)) { command = String.Format(CultureInfo.InvariantCulture, "OpenWindow(\"{0}?ObjectId={1}&ObjectTypeId={2}&btn={3}\",520,220,false);", ResolveClientUrl("~/projects/AddFinanceActual.aspx"), IncidentId, (int)ObjectTypes.Issue, Page.ClientScript.GetPostBackEventReference(RefreshButton, "")); } if (DocumentId > 0 && Document.CanViewFinances(DocumentId)) { command = String.Format(CultureInfo.InvariantCulture, "OpenWindow(\"{0}?ObjectId={1}&ObjectTypeId={2}&btn={3}\",520,220,false);", ResolveClientUrl("~/projects/AddFinanceActual.aspx"), DocumentId, (int)ObjectTypes.Document, Page.ClientScript.GetPostBackEventReference(RefreshButton, "")); } if (EventId > 0 && CalendarEntry.CanViewFinances(EventId)) { command = String.Format(CultureInfo.InvariantCulture, "OpenWindow(\"{0}?ObjectId={1}&ObjectTypeId={2}&btn={3}\",520,220,false);", ResolveClientUrl("~/projects/AddFinanceActual.aspx"), EventId, (int)ObjectTypes.CalendarEntry, Page.ClientScript.GetPostBackEventReference(RefreshButton, "")); } if (ToDoId > 0 && Mediachase.IBN.Business.ToDo.CanViewFinances(ToDoId)) { command = String.Format(CultureInfo.InvariantCulture, "OpenWindow(\"{0}?ObjectId={1}&ObjectTypeId={2}&btn={3}\",520,220,false);", ResolveClientUrl("~/projects/AddFinanceActual.aspx"), ToDoId, (int)ObjectTypes.ToDo, Page.ClientScript.GetPostBackEventReference(RefreshButton, "")); } if (command != String.Empty) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.LookId = "TopItemLook"; subItem.Look.LeftIconUrl = "~/Layouts/Images/newitem.gif"; subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.ClientSideCommand = command; subItem.Text = LocRM.GetString("tbAdd"); secHeaderLight.ActionsMenu.Items.Add(subItem); } #endregion #region Export subItem = new ComponentArt.Web.UI.MenuItem(); subItem.LookId = "TopItemLook"; subItem.Look.LeftIconUrl = "~/Layouts/Images/Icons/xlsexport.gif"; subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.ClientSideCommand = Page.ClientScript.GetPostBackEventReference(ExportButton, ""); subItem.Text = LocRM2.GetString("ExcelExport"); secHeaderLight.ActionsMenu.Items.Add(subItem); #endregion } else if (this.Parent is IToolbarLight) { BlockHeaderLightWithMenu secHeaderLight = (BlockHeaderLightWithMenu)((IToolbarLight)this.Parent).GetToolBar(); secHeaderLight.AddText(LocRM.GetString("tActFinances")); if (Project.CanEditFinances(ProjectId) && ProjectId > 0) { secHeaderLight.AddRightLink("<img alt='' src='../Layouts/Images/newitem.gif'/> " + LocRM.GetString("tbAdd"), "javascript:OpenWindow('../projects/AddFinanceActual.aspx?ObjectId=" + ProjectId.ToString() + "&ObjectTypeId=" + (int)ObjectTypes.Project + "',520,270,false);"); } if (TaskId > 0 && Task.CanViewFinances(TaskId)) { secHeaderLight.AddRightLink("<img alt='' src='../Layouts/Images/newitem.gif'/> " + LocRM.GetString("tbAdd"), "javascript:OpenWindow('../Projects/AddFinanceActual.aspx?ObjectId=" + TaskId + "&ObjectTypeId=" + (int)ObjectTypes.Task + "',520,270,false);"); } if (IncidentId > 0 && Incident.CanViewFinances(IncidentId)) { secHeaderLight.AddRightLink("<img alt='' src='../Layouts/Images/newitem.gif'/> " + LocRM.GetString("tbAdd"), "javascript:OpenWindow('../Projects/AddFinanceActual.aspx?ObjectId=" + IncidentId + "&ObjectTypeId=" + (int)ObjectTypes.Issue + "',520,270,false);"); } if (DocumentId > 0 && Document.CanViewFinances(DocumentId)) { secHeaderLight.AddRightLink("<img alt='' src='../Layouts/Images/newitem.gif'/> " + LocRM.GetString("tbAdd"), "javascript:OpenWindow('../Projects/AddFinanceActual.aspx?ObjectId=" + DocumentId + "&ObjectTypeId=" + (int)ObjectTypes.Document + "',520,270,false);"); } if (EventId > 0 && CalendarEntry.CanViewFinances(EventId)) { secHeaderLight.AddRightLink("<img alt='' src='../Layouts/Images/newitem.gif'/> " + LocRM.GetString("tbAdd"), "javascript:OpenWindow('../Projects/AddFinanceActual.aspx?ObjectId=" + EventId + "&ObjectTypeId=" + (int)ObjectTypes.CalendarEntry + "',520,270,false);"); } if (ToDoId > 0 && Mediachase.IBN.Business.ToDo.CanViewFinances(ToDoId)) { secHeaderLight.AddRightLink("<img alt='' src='../Layouts/Images/newitem.gif'/> " + LocRM.GetString("tbAdd"), "javascript:OpenWindow('../Projects/AddFinanceActual.aspx?ObjectId=" + ToDoId + "&ObjectTypeId=" + (int)ObjectTypes.ToDo + "',520,270,false);"); } } }
/// <summary> /// Handles the Click event of the btnDeactivateFinance control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> void btnDeactivateFinance_Click(object sender, EventArgs e) { ProjectSpreadSheet.Deactivate(ProjectId); Page.ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "<script language=JavaScript> window.location.href=window.location.href; </script>"); }
private void BindToolbar() { CommandManager cm = CommandManager.GetCurrent(this.Page); secHeader.Title = LocRM.GetString("QuickTools"); bool canUpdate = Project.CanUpdate(ProjectId); bool canViewFinances = Project.CanViewFinances(ProjectId); bool canDelete = Project.CanDelete(ProjectId); bool isExternal = Mediachase.IBN.Business.Security.CurrentUser.IsExternal; ComponentArt.Web.UI.MenuItem topMenuItem = new ComponentArt.Web.UI.MenuItem(); topMenuItem.Text = LocRM.GetString("Actions"); topMenuItem.Look.LeftIconUrl = ResolveUrl("~/Layouts/Images/downbtn1.gif"); topMenuItem.Look.LeftIconHeight = Unit.Pixel(5); topMenuItem.Look.LeftIconWidth = Unit.Pixel(16); topMenuItem.LookId = "TopItemLook"; ComponentArt.Web.UI.MenuItem subItem; #region Quick Add Tasks / To-dos if (Mediachase.IBN.Business.ToDo.CanCreate(ProjectId) || Task.CanCreate(ProjectId)) { ComponentArt.Web.UI.MenuItem listToDo = new ComponentArt.Web.UI.MenuItem(); listToDo.Look.LeftIconUrl = "~/Layouts/Images/rulesnew.gif"; listToDo.Look.LeftIconWidth = Unit.Pixel(16); listToDo.Look.LeftIconHeight = Unit.Pixel(16); CommandParameters cpQT = new CommandParameters("MC_MetaUI_CreateTaskTodoGrid"); string cmdQT = cm.AddCommand("Project", "", "ProjectView", cpQT); cmdQT = cmdQT.Replace("\"", """); listToDo.ClientSideCommand = "javascript:" + cmdQT; listToDo.Text = GetGlobalResourceObject("IbnFramework.Project", "CreateTaskTodoGrid").ToString(); secHeader.ActionsMenu.Items.Add(listToDo); } if (Mediachase.IBN.Business.ToDo.CanCreate(ProjectId)) { ComponentArt.Web.UI.MenuItem quickToDo = new ComponentArt.Web.UI.MenuItem(); quickToDo.Look.LeftIconUrl = "~/Layouts/Images/icons/task_create.gif"; quickToDo.Look.LeftIconWidth = Unit.Pixel(16); quickToDo.Look.LeftIconHeight = Unit.Pixel(16); CommandParameters cpQT = new CommandParameters("MC_MetaUI_CreateTodoQuick"); string cmdQT = cm.AddCommand("Project", "", "ProjectView", cpQT); cmdQT = cmdQT.Replace("\"", """); quickToDo.ClientSideCommand = "javascript:" + cmdQT; quickToDo.Text = LocRM.GetString("CreateToDo"); secHeader.ActionsMenu.Items.Add(quickToDo); } #endregion #region Create: Task, CalendarEntry, ToDo, Incident, Document ComponentArt.Web.UI.MenuItem createItem = new ComponentArt.Web.UI.MenuItem(); createItem.Text = LocRM.GetString("Create"); createItem.Look.LeftIconUrl = ResolveUrl("~/Layouts/Images/downbtn1.gif"); createItem.Look.LeftIconHeight = Unit.Pixel(5); createItem.Look.LeftIconWidth = Unit.Pixel(16); createItem.LookId = "TopItemLook"; #region Create Task if (!isMSProject && Task.CanCreate(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/task1_create.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.NavigateUrl = "~/Tasks/TaskEdit.aspx?ProjectId=" + ProjectId; subItem.Text = LocRM.GetString("CreateTask"); createItem.Items.Add(subItem); } #endregion #region Create ToDo if (Mediachase.IBN.Business.ToDo.CanCreate(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/task_create.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.NavigateUrl = "~/ToDo/ToDoEdit.aspx?ProjectId=" + ProjectId; subItem.Text = LocRM.GetString("CreateToDo"); createItem.Items.Add(subItem); } #endregion #region Create CalendarEntry if (CalendarEntry.CanCreate(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/event_create.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.NavigateUrl = "~/Events/EventEdit.aspx?ProjectId=" + ProjectId; subItem.Text = LocRM.GetString("CreateEvent"); createItem.Items.Add(subItem); } #endregion #region Create Incident if (Configuration.HelpDeskEnabled && Incident.CanCreate(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/incident_create.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.NavigateUrl = "~/Incidents/IncidentEdit.aspx?ProjectId=" + ProjectId; subItem.Text = LocRM.GetString("CreateIncident"); createItem.Items.Add(subItem); } #endregion #region Create Document if (Document.CanCreate(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/document_create.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.NavigateUrl = "~/Documents/DocumentEdit.aspx?ProjectId=" + ProjectId; subItem.Text = LocRM.GetString("CreateDocument"); createItem.Items.Add(subItem); } #endregion if (createItem.Items.Count > 0) { secHeader.ActionsMenu.Items.Add(createItem); } // topMenuItem.Items.Add(createItem); #endregion if (canUpdate) { #region Edit: Project, Timeline, GeneralInfo, ConfigurationInfo, Categories, Managers, Client ComponentArt.Web.UI.MenuItem editItem = new ComponentArt.Web.UI.MenuItem(); editItem.Text = LocRM.GetString("Edit"); editItem.Look.LeftIconUrl = ResolveUrl("~/Layouts/Images/downbtn1.gif"); editItem.Look.LeftIconHeight = Unit.Pixel(5); editItem.Look.LeftIconWidth = Unit.Pixel(16); editItem.LookId = "TopItemLook"; #region Edit Project subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/project_edit.gif"; subItem.NavigateUrl = "~/Projects/ProjectEdit.aspx?ProjectId=" + ProjectId + "&Back=project"; subItem.Text = LocRM.GetString("Project"); editItem.Items.Add(subItem); #endregion #region Participants: Team, Sponsors, Stakeholders, Managers ComponentArt.Web.UI.MenuItem participantsItem = new ComponentArt.Web.UI.MenuItem(); participantsItem.Text = LocRM.GetString("tParticipants"); participantsItem.Look.RightIconUrl = "~/Layouts/Images/arrow_right.gif"; #region Modify Team subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/newgroup.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); CommandParameters cpTeam = new CommandParameters("MC_PM_TeamEdit"); string cmdTeam = cm.AddCommand("Project", "", "ProjectView", cpTeam); subItem.ClientSideCommand = "javascript:" + cmdTeam; subItem.Text = LocRM.GetString("ModifyTeam"); participantsItem.Items.Add(subItem); #endregion #region Modify Sponsors subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/sponsors.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); CommandParameters cpSpons = new CommandParameters("MC_PM_SponsorsEdit"); string cmdSpons = cm.AddCommand("Project", "", "ProjectView", cpSpons); subItem.ClientSideCommand = "javascript:" + cmdSpons; subItem.Text = LocRM.GetString("ModifySponsors"); participantsItem.Items.Add(subItem); #endregion #region Modify Stakeholders subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/stakeholders.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); CommandParameters cpSt = new CommandParameters("MC_PM_StakesEdit"); string cmdSt = cm.AddCommand("Project", "", "ProjectView", cpSt); subItem.ClientSideCommand = "javascript:" + cmdSt; subItem.Text = LocRM.GetString("ModifyStakeholders"); participantsItem.Items.Add(subItem); #endregion editItem.Items.Add(participantsItem); #endregion #region Edit Target Timileme subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 400, 250);", ResolveClientUrl("~/Projects/EditTargetTimeline.aspx"), ProjectId); subItem.Text = LocRM.GetString("EditTargetTimeline"); editItem.Items.Add(subItem); #endregion #region Edit Actual Timileme subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 400, 250);", ResolveClientUrl("~/Projects/EditActualTimeline.aspx"), ProjectId); subItem.Text = LocRM.GetString("EditActualTimeline"); editItem.Items.Add(subItem); #endregion #region Edit State Info subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 350, 265);", ResolveClientUrl("~/Projects/EditStateInfo.aspx"), ProjectId); subItem.Text = LocRM.GetString("EditStateInfo"); editItem.Items.Add(subItem); #endregion #region Edit General Info subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 550, 450);", ResolveClientUrl("~/Projects/EditGeneralInfo.aspx"), ProjectId); subItem.Text = LocRM.GetString("EditGeneralInfo"); editItem.Items.Add(subItem); #endregion #region Edit Configuration Info subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 380, 270);", ResolveClientUrl("~/Projects/EditConfigurationInfo.aspx"), ProjectId); subItem.Text = LocRM.GetString("EditConfigurationInfo"); editItem.Items.Add(subItem); #endregion #region Edit Categories subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 300, 450);", ResolveClientUrl("~/Projects/EditCategories.aspx"), ProjectId); subItem.Text = LocRM.GetString("EditCategories"); editItem.Items.Add(subItem); #endregion #region Edit Managers subItem = new ComponentArt.Web.UI.MenuItem(); CommandParameters cpMan = new CommandParameters("MC_PM_Managers"); string cmdMan = cm.AddCommand("Project", "", "ProjectView", cpMan); subItem.ClientSideCommand = "javascript:" + cmdMan; subItem.Text = LocRM.GetString("EditManagers"); editItem.Items.Add(subItem); #endregion #region Edit Security subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 650, 280);", ResolveClientUrl("~/Projects/EditSecurity.aspx"), ProjectId); subItem.Text = LocRM2.GetString("SecuritySettings"); editItem.Items.Add(subItem); #endregion secHeader.ActionsMenu.Items.Add(editItem); // topMenuItem.Items.Add(editItem); #endregion } #region Copy to Clipboard subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/xp-copy.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = "javascript:try{_XMLReqForClip('AddClip=Prj&ProjectId=" + ProjectId.ToString() + "', '" + LocRM.GetString("tXMLError") + "')}catch(e){}"; subItem.Text = LocRM.GetString("tCopyPrjToClipboard"); topMenuItem.Items.Add(subItem); #endregion #region Add from Clipboard if (canUpdate) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/xp-paste.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); CommandManager cm1 = CommandManager.GetCurrent(this.Page); CommandParameters cp1 = new CommandParameters("MC_PM_RelatedPrjClipboard"); string cmd1 = cm1.AddCommand("Project", "", "ProjectView", cp1); cmd1 = cmd1.Replace("\"", """); subItem.ClientSideCommand = "javascript:" + cmd1; subItem.Text = LocRM.GetString("tPastePrjFromClipboard"); topMenuItem.Items.Add(subItem); } #endregion #region Clear Clipboard if (canUpdate) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/clearbuffer.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = "javascript:try{_XMLReqForClip('ClearClip=Prj', '" + LocRM.GetString("tXMLError") + "')}catch(e){}"; subItem.Text = LocRM.GetString("tClearClipboard"); topMenuItem.Items.Add(subItem); } #endregion #region --- Separator --- subItem = new ComponentArt.Web.UI.MenuItem(); subItem.LookId = "BreakItem"; topMenuItem.Items.Add(subItem); #endregion #region Add Related Project if (canUpdate) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/relprojects.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); CommandManager cm1 = CommandManager.GetCurrent(this.Page); CommandParameters cp1 = new CommandParameters("MC_PM_RelatedPrj"); string cmd1 = cm1.AddCommand("Project", "", "ProjectView", cp1); cmd1 = cmd1.Replace("\"", """); subItem.ClientSideCommand = "javascript:" + cmd1; subItem.Text = LocRM.GetString("AddRelated"); topMenuItem.Items.Add(subItem); } #endregion #region Add Comments subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/comments.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:OpenWindow('{0}?ProjectId={1}',520,270,false);", ResolveClientUrl("~/Common/CommentAdd.aspx"), ProjectId); subItem.Text = LocRM.GetString("CreateComment"); topMenuItem.Items.Add(subItem); #endregion #region Delete if (canDelete) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/project_delete.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = "javascript:DeleteProject()"; subItem.Text = LocRM2.GetString("Delete"); topMenuItem.Items.Add(subItem); } #endregion #region --- Separator --- subItem = new ComponentArt.Web.UI.MenuItem(); subItem.LookId = "BreakItem"; topMenuItem.Items.Add(subItem); #endregion #region Snapshot if (canViewFinances) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/report.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard2('{0}?ProjectId={1}', 750, 466, true);", ResolveClientUrl("~/Reports/OverallProjectSnapshot.aspx"), ProjectId); subItem.Text = LocRM.GetString("Snapshot"); topMenuItem.Items.Add(subItem); } #endregion #region CreateTemplate2 //DV if (canUpdate && !isMSProject) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/newtemplate.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 640, 600);", ResolveClientUrl("~/Projects/EditProjectTemplate2.aspx"), ProjectId); subItem.Text = LocRM.GetString("CreateTemplate"); topMenuItem.Items.Add(subItem); } #endregion #region SaveBasePlan if (canUpdate) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/SAVEITEM.GIF"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ProjectId={1}', 380, 100);", ResolveClientUrl("~/Projects/SaveBasePlanPopUp.aspx"), ProjectId); subItem.Text = LocRM.GetString("SaveBasePlan"); topMenuItem.Items.Add(subItem); } #endregion if (canUpdate && ProjectSpreadSheet.IsActive(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/card-delete.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = string.Format("if (confirm('{0}')) {{ {1} }}", LocRM4.GetString("ReactivateMsg"), this.Page.ClientScript.GetPostBackEventReference(btnDeactivateFinance, string.Empty)); subItem.Text = LocRM4.GetString("ReactivateText"); topMenuItem.Items.Add(subItem); } #region Export/Import if (canUpdate && Project.IsMSProjectSynchronizationEnabled() && !Project.GetIsMSProject(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/Synch.png"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "OpenWindow('{0}?ToMSPrj=1&ProjectId={1}',600,400);", ResolveClientUrl("~/Projects/ProjectExportImportNew.aspx"), ProjectId); subItem.Text = LocRM.GetString("ToMSProjSync"); topMenuItem.Items.Add(subItem); } if (canUpdate && ( (Project.IsMSProjectIntegrationEnabled() && !Project.GetIsMSProject(ProjectId)) || (Project.IsMSProjectSynchronizationEnabled() && Project.GetIsMSProject(ProjectId)) ) ) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/icons/export.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "OpenWindow('{0}?ProjectId={1}',600,410);", ResolveClientUrl("~/Projects/ProjectExportImportNew.aspx"), ProjectId); subItem.Text = LocRM.GetString("MSProjectExchange"); topMenuItem.Items.Add(subItem); } #endregion #region --- Separator --- if (canViewFinances || canUpdate) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.LookId = "BreakItem"; topMenuItem.Items.Add(subItem); } #endregion #region UpdateHistory subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ObjectId={1}&ObjectTypeId={1}', 750, 466);", ResolveClientUrl("~/Common/SystemEventsByObject.aspx"), ProjectId, (int)ObjectTypes.Project); subItem.Text = LocRM3.GetString("UpdateHistory"); topMenuItem.Items.Add(subItem); #endregion #region Latest Visitors subItem = new ComponentArt.Web.UI.MenuItem(); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ObjectId={1}&ObjectTypeId={2}', 450, 266);", ResolveClientUrl("~/Common/LatestVisitors.aspx"), ProjectId, (int)ObjectTypes.Project); subItem.Text = LocRM3.GetString("LatestVisitors"); topMenuItem.Items.Add(subItem); #endregion #region System Notifications subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/accept_1.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "~/Directory/SystemNotificationForObject.aspx?ObjectId={0}&ObjectTypeId={1}", ProjectId, ((int)ObjectTypes.Project).ToString()); subItem.Text = LocRM.GetString("SystemNotifications"); topMenuItem.Items.Add(subItem); #endregion #region System Reminder Project.ProjectSecurity ps = Project.GetSecurity(ProjectId); if (ps.IsManager || ps.IsManager || ps.IsTeamMember || ps.IsSponsor || ps.IsStakeHolder) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/reminder.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = String.Format(CultureInfo.InvariantCulture, "javascript:ShowWizard('{0}?ObjectTypeId={1}&ObjectId={2}', 420, 150)", ResolveClientUrl("~/Directory/SystemRemindersForObject.aspx"), (int)ObjectTypes.Project, ProjectId); subItem.Text = LocRM.GetString("EditReminder"); topMenuItem.Items.Add(subItem); } #endregion #region Favorites if (!Project.CheckFavorites(ProjectId)) { subItem = new ComponentArt.Web.UI.MenuItem(); subItem.Look.LeftIconUrl = "~/Layouts/Images/Favorites.gif"; subItem.Look.LeftIconWidth = Unit.Pixel(16); subItem.Look.LeftIconHeight = Unit.Pixel(16); subItem.ClientSideCommand = "javascript:" + Page.ClientScript.GetPostBackEventReference(btnAddToFavorites, ""); subItem.Text = LocRM.GetString("AddToFavorites"); topMenuItem.Items.Add(subItem); } #endregion secHeader.ActionsMenu.Items.Add(topMenuItem); }
protected void Page_Load(object sender, System.EventArgs e) { XmlDocument doc = new XmlDocument(); UserLightPropertyCollection pc = Security.CurrentUser.Properties; ArrayList PrIds = LoadProjectList(); SpreadSheetDocumentType type = SpreadSheetDocumentType.WeekYear; switch (FinanceType) { case "1": type = SpreadSheetDocumentType.WeekYear; break; case "2": type = SpreadSheetDocumentType.MonthQuarterYear; break; case "3": type = SpreadSheetDocumentType.QuarterYear; break; case "4": type = SpreadSheetDocumentType.Year; break; case "5": type = SpreadSheetDocumentType.Total; break; } SpreadSheetView view = null; if (!Reverse) { view = ProjectSpreadSheet.CompareProjects(PrIds, type, BasePlan1, FromYear, ToYear); } else { view = ProjectSpreadSheet.CompareProjectsReverse(PrIds, type, BasePlan1, FromYear, ToYear); } Response.ContentType = "text/xml"; if (BasePlan2 == -2) { doc = ProjectSpreadSheet.CreateViewDocForAnalysis(view); } else { SpreadSheetView view2 = null; if (!Reverse) { view2 = ProjectSpreadSheet.CompareProjects(PrIds, type, BasePlan2, FromYear, ToYear); } else { view2 = ProjectSpreadSheet.CompareProjectsReverse(PrIds, type, BasePlan2, FromYear, ToYear); } doc = ProjectSpreadSheet.CreateViewCompareDocForAnalysis(view, view2); } if (doc != null) { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Charset = "utf-8"; HttpContext.Current.Response.AddHeader("Content-Type", "application/octet-stream"); HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=BusinessScores.xls"); string Header = "<html><head><meta http-equiv=\"Content-Type\" content=\"application/octet-stream; charset=utf-8\"></head><body><table>"; string Footer = "</table></body></html>"; #region BindTableBody string body = string.Empty; string sbody = string.Empty; string childrows = string.Empty;; XmlNode ParentNode = doc.DocumentElement; foreach (XmlNode node in ParentNode.ChildNodes) { sbody = "<tr>"; childrows = "<tr>"; foreach (XmlNode node2 in node.ChildNodes) { foreach (XmlNode cnode in node2.ChildNodes) { if (node2.Name == "row") { if (BasePlan2 != -2) { childrows += "<td style='mso-number-format:\\@'>"; } else { childrows += "<td>"; } childrows += cnode.InnerText; childrows += "</td>"; } else { if (node2.Name == "cell") { if (BasePlan2 != -2) { sbody += "<td style='border-top:1px solid black; mso-number-format:\\@'><b>"; } else { sbody += "<td style='border-top:1px solid black'><b>"; } sbody += node2.InnerText; sbody += "<b></td>"; } } } childrows += "</tr>"; } sbody += "</tr>"; sbody += childrows; body += sbody; } #endregion #region BindTableHeader string header1 = string.Empty; string header2 = string.Empty; string header3 = string.Empty; if (view.Document.DocumentType != SpreadSheetDocumentType.Total && view.Document.DocumentType != SpreadSheetDocumentType.Year) { int YearCounter = ToYear - FromYear + 1; int ColSpanRate = -1; #region Year if (view.Document.DocumentType == SpreadSheetDocumentType.QuarterYear) { ColSpanRate = 5; header1 += "<tr><td rowspan='2' style='border:1px solid black' align='center' >" + LocRM.GetString("tProjects") + "</td>"; header2 += "<tr>"; } else if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { ColSpanRate = 17; header1 += "<tr><td rowspan='3' style='border:1px solid black' align='center' >" + LocRM.GetString("tProjects") + "</td>"; header2 += "<tr>"; header3 += "<tr>"; } else if (view.Document.DocumentType == SpreadSheetDocumentType.WeekYear) { ColSpanRate = 53; header1 += "<tr><td rowspan='2' style='border:1px solid black' align='center' >" + LocRM.GetString("tProjects") + "</td>"; header2 += "<tr>"; } int RowSpanRate = (view.Columns.Length - YearCounter) / (YearCounter * 4); //int RowSpanRate = 45; int yearCount = 0; int tmp = 0; int tmp2 = 0; for (int i = 0; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % (ColSpanRate) == 0) { tmp = FromYear + yearCount; tmp2 = ColSpanRate - 1; header1 += "<td colspan='" + tmp2.ToString() + "' style='border:1px solid black' align='center' >" + tmp.ToString() + "</td>"; } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { header1 += "<td rowspan='3' style='border:1px solid black' align='center' >" + LocRM.GetString("tYear") + "</td>"; } } else //Week/Year or Quarter/Year { if (i % (ColSpanRate) == 0) { tmp = FromYear + yearCount; tmp2 = ColSpanRate - 1; header1 += "<td colspan='" + tmp2.ToString() + "' style='border:1px solid black' align='center' >" + tmp.ToString() + "</td>"; } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { header1 += "<td rowspan='2' style='border:1px solid black' align='center' >" + LocRM.GetString("tYear") + "</td>"; } } if (i % (ColSpanRate) == 0) { yearCount++; } } if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { header1 += "<td rowspan='3' style='border:1px solid black' align='center' >" + LocRM.GetString("tTotalSum") + "</td></tr>"; } else { header1 += "<td rowspan='2' style='border:1px solid black' align='center' >" + LocRM.GetString("tTotalSum") + "</td></tr>"; } #endregion #region Quartals if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { for (int i = 0; i < view.Columns.Length - 1; i++) { int counter = i % ColSpanRate; if (counter % (RowSpanRate) == 0 && counter != 16) { tmp = (counter / 4) + 1; header2 += "<td colspan='3' style='border:1px solid black' align='center' >" + LocRM.GetString("tQuarterYear") + " " + tmp.ToString() + "</td>"; } else if ((counter + 1) % RowSpanRate == 0) { header2 += "<td rowspan='2' style='border:1px solid black' align='center' >" + LocRM.GetString("tQuarterTotal") + "</td>"; } else if (counter == 16) { //header2+="<td></td>"; } } header2 += "</tr>"; } #endregion #region BindServerData //sb.AppendFormat("mygrid2.attachHeader([\"#rspan\", \"{0}\"",((Column)view.Columns[0]).Name); int _counter = 0; //header3+="<td>"+((Column)view.Columns[0]).Name+"</td>"; for (int i = 0; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % ColSpanRate == 0 && i > 0) { _counter++; } if ((i + 1 - _counter) % RowSpanRate == 0 && i > 0) { } else if ((i + 1) % ColSpanRate == 0 && i > 0) { } else { header3 += "<td style='border:1px solid black' align='center' >" + ((Column)view.Columns[i]).Name + "</td>"; } } else { if ((i + 1) % ColSpanRate == 0) { } else { header3 += "<td style='border:1px solid black' align='center' >" + ((Column)view.Columns[i]).Name + "</td>"; } } } header3 += "</tr>"; #endregion body = body.Insert(0, header1 + header2 + header3); } else { header1 = "<tr>"; header1 += "<td style='border:1px solid black' align='center' >" + LocRM.GetString("tProjects") + "</td>"; for (int i = 0; i < view.Columns.Length; i++) { header1 += "<td style='border:1px solid black' align='center' >" + ((Column)view.Columns[i]).Name + "</td>"; } header1 += "</tr>"; body = body.Insert(0, header1); } #endregion HttpContext.Current.Response.Write(String.Concat(Header, body, Footer)); HttpContext.Current.Response.End(); } }
void GenerateScript() { SpreadSheetView view = ProjectSpreadSheet.LoadView(int.Parse(this.Request["ProjectId"]), 0, int.Parse(tbFrom.Text), int.Parse(tbTo.Text)); projType = (int)view.Document.DocumentType; int colCount = view.Columns.Length; int YearFrom = int.Parse(tbFrom.Text); int YearTo = int.Parse(tbTo.Text); StringBuilder sb = new StringBuilder(); sb.Append("<script type='text/javascript'>"); sb.Append("if (mygrid == null) mygrid = new dhtmlXGridObject('gridbox');"); #region Bind: Header Caption if (view.Document.DocumentType != SpreadSheetDocumentType.Total && view.Document.DocumentType != SpreadSheetDocumentType.Year) { // Generate procedure for scale grid GenerateScaleUpDownScript(view); #region Generate Html for scaling StringBuilder scaleHtml = new StringBuilder(); scaleHtml.Append("<div style='margin: 2px; padding: 2px;'>"); scaleHtml.Append("<table class='text' cellspacing='2' cellpadding='0'><tr>"); scaleHtml.AppendFormat("<td valign='top'><img alt='' src='{0}' border='0'/> </td>", ResolveUrl("~/Layouts/Images/zoomin.gif")); string disableKeyboard = ((bool)(ddPrimarySheet.SelectedValue != "0")).ToString().ToLower(); if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { scaleHtml.AppendFormat("<td id='span-link-month' class='dhtmlLink_Active' onclick='gridScale=-1; GridScaleUpDown2(110); DisableSelection = {1}; this.className=\"dhtmlLink_Active\";'> {0} </td><td class='ibn-separator'>|</td>", LocRM.GetString("tMonthQuarterYear"), disableKeyboard); scaleHtml.AppendFormat("<td id='span-link-quartal' class='dhtmlLink_Passive' onclick='gridScale=2; GridScaleUpDown(110); gridScale=0; GridScaleUpDown2(0); DisableSelection = true; this.className=\"dhtmlLink_Active\";'> {0} </td><td class='ibn-separator'>|</td>", LocRM.GetString("tQuarterYear")); scaleHtml.AppendFormat("<td id='span-link-year' class='dhtmlLink_Passive' onclick='gridScale=-1; GridScaleUpDown(110); gridScale=1; GridScaleUpDown2(0); DisableSelection = true; this.className=\"dhtmlLink_Active\"; '> {0} </td><td class='ibn-separator'>|</td>", LocRM.GetString("tYear")); scaleHtml.AppendFormat("<td id='span-link-project' class='dhtmlLink_Passive' onclick='gridScale=-1; GridScaleUpDown2(0); DisableSelection = true; this.className=\"dhtmlLink_Active\"; '> {0} </td>", LocRM.GetString("tTotal")); } else if (view.Document.DocumentType == SpreadSheetDocumentType.WeekYear) { scaleHtml.AppendFormat("<td id='span-link-week' class='dhtmlLink_Active' onclick='gridScale=-1; GridScaleUpDown2(110); DisableSelection = {1}; this.className=\"dhtmlLink_Active\";'> {0} </td><td class='ibn-separator'>|</td>", LocRM.GetString("tWeekYear"), disableKeyboard); scaleHtml.AppendFormat("<td id='span-link-year' class='dhtmlLink_Passive' onclick='gridScale=-1; GridScaleUpDown(110); gridScale=0; GridScaleUpDown2(0); DisableSelection = true; this.className=\"dhtmlLink_Active\"; '> {0} </td><td class='ibn-separator'>|</td>", LocRM.GetString("tYear")); scaleHtml.AppendFormat("<td id='span-link-project' class='dhtmlLink_Passive' onclick='gridScale=-1; GridScaleUpDown2(0); DisableSelection = true; this.className=\"dhtmlLink_Active\"; '> {0} </td>", LocRM.GetString("tTotal")); } else if (view.Document.DocumentType == SpreadSheetDocumentType.QuarterYear) { scaleHtml.AppendFormat("<td id='span-link-quartal' class='dhtmlLink_Active' onclick='gridScale=-1; GridScaleUpDown2(110); DisableSelection = {1}; this.className=\"dhtmlLink_Active\";'> {0} </td><td class='ibn-separator'>|</td>", LocRM.GetString("tQuarterYear"), disableKeyboard); scaleHtml.AppendFormat("<td id='span-link-year' class='dhtmlLink_Passive' onclick='gridScale=-1; GridScaleUpDown(110); gridScale=0; GridScaleUpDown2(0); DisableSelection = true; this.className=\"dhtmlLink_Active\"; '> {0} </td><td class='ibn-separator'>|</td>", LocRM.GetString("tYear")); scaleHtml.AppendFormat("<td id='span-link-project' class='dhtmlLink_Passive' onclick='gridScale=-1; GridScaleUpDown2(0); DisableSelection = true; this.className=\"dhtmlLink_Active\"; '> {0} </td>", LocRM.GetString("tTotal")); } scaleHtml.Append("</tr></table>"); scaleHtml.Append("</div>"); #endregion //Absolute panel for scale up/down finance grid panelScale.InnerHtml = scaleHtml.ToString(); sb.AppendFormat("mygrid.setHeader(\"{0}, ", LocRM.GetString("tGridHeader1")); int YearCounter = YearTo - YearFrom + 1; int ColSpanRate = -1; #region Year if (view.Document.DocumentType == SpreadSheetDocumentType.QuarterYear) { ColSpanRate = 5; } else if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { ColSpanRate = 17; } else if (view.Document.DocumentType == SpreadSheetDocumentType.WeekYear) { ColSpanRate = 53; } int RowSpanRate = (view.Columns.Length - YearCounter) / (YearCounter * 4); //int RowSpanRate = 45; int yearCount = 0; for (int i = 0; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % (ColSpanRate) == 0) { sb.AppendFormat(",{0}", YearFrom + yearCount); } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { sb.AppendFormat(",{0} {1}", LocRM.GetString("tYearTotal"), YearFrom + yearCount - 1); } else { sb.Append(",#cspan"); } } else { if (i % (ColSpanRate) == 0) { sb.AppendFormat(",{0}", YearFrom + yearCount); } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { sb.AppendFormat(",{0} {1}", LocRM.GetString("tYearTotal"), YearFrom + yearCount - 1); } else { sb.Append(",#cspan"); } } if (i % (ColSpanRate) == 0) { yearCount++; } } //} sb.AppendFormat(",{0}\");", LocRM.GetString("tProjectTotal")); #endregion #region Quartals if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { sb.Append("mygrid.attachHeader([\"#rspan\", \"#rspan\""); for (int i = 0; i < view.Columns.Length - 1; i++) { int counter = i % ColSpanRate; if (counter % (RowSpanRate) == 0 && counter != 16) { sb.AppendFormat(",\"{0} {1}\"", LocRM.GetString("tQuarterYear"), /*(((i + 1) / RowSpanRate) % 4) + 1*/ (counter / 4) + 1); } else if ((counter + 1) % RowSpanRate == 0) { sb.AppendFormat(", \"{0}{1}\"", LocRM.GetString("tQuartalTotal"), (counter / 4) + 1); } else if (counter == 16) { sb.Append(",\"#rspan\""); } else { sb.Append(",\"#cspan\""); } } sb.Append(",\"#rspan\"]);"); } #endregion #region BindServerData sb.AppendFormat("mygrid.attachHeader([\"#rspan\",\"#rspan\", \"{0}\"", ((Column)view.Columns[0]).Name); int _counter = 0; for (int i = 1; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % ColSpanRate == 0) { _counter++; } // Total for quartal if ((i + 1 - _counter) % RowSpanRate == 0) { sb.Append(",\"#rspan\""); } else //Total for year if ((i + 1) % ColSpanRate == 0) { sb.Append(",\"#rspan\""); } else { sb.AppendFormat(",\" {0}\"", ((Column)view.Columns[i]).Name); } } else { if ((i + 1) % ColSpanRate == 0) { sb.Append(",\"#rspan\""); } else { sb.AppendFormat(",\" {0}\"", ((Column)view.Columns[i]).Name); } } } sb.Append(",\"#rspan\"]);"); #endregion } else { //for scales: Year, Project Total sb.AppendFormat("mygrid.setHeader(\"{1}, , {0}", ((Column)view.Columns[0]).Name, LocRM.GetString("tGridHeader1")); for (int i = 1; i < view.Columns.Length; i++) { sb.AppendFormat(", {0}", ((Column)view.Columns[i]).Name); } sb.Append("\");"); } #endregion #region Bind: Header Width sb.AppendFormat("mygrid.setImagePath('{0}');", ResolveUrl("~/Layouts/Images/dhtmlGrid/imgs")); sb.AppendFormat("mygrid.setInitWidths(\"120,25,{0}", 110 /*(int)(maxWidth / view.Columns.Length)*/); for (int i = 1; i < view.Columns.Length; i++) { sb.AppendFormat(",{0}", 110 /*(int)(maxWidth / view.Columns.Length)*/); } sb.Append("\");"); #endregion #region Bind: Header Align sb.Append("mygrid.setColAlign(\"left,left,right"); for (int i = 1; i < view.Columns.Length; i++) { sb.Append(",right"); } sb.Append("\");"); #endregion #region Bind: Cols CanEdit if (ddPrimarySheet.SelectedValue != "0") { sb.Append("mygrid.setColTypes(\"tree,ro,ro"); } else { sb.Append("mygrid.setColTypes(\"tree,ro,ed"); } for (int i = 1; i < colCount; i++) { if (ddPrimarySheet.SelectedValue != "0") { sb.Append(",ro"); } else { sb.Append(",ed"); } } sb.Append("\");"); #endregion #region Bind: Cols Color sb.Append("mygrid.setColumnColor(\"#E1ECFC,#E1ECFC"); for (int i = 1; i < colCount; i++) { sb.Append(",white"); } sb.Append("\");"); #endregion sb.Append("gridScale = 0;"); sb.Append(" mygrid.enableKeyboardSupport(false); mygrid.enableDragAndDrop(true); mygrid.setDragBehavior('sibling'); mygrid.init(); "); sb.Append("mygrid.setDragHandler(drag_f); mygrid.setDropHandler(drop_f);"); if (ddSecondarySheet.SelectedValue != "-2") { sb.AppendFormat("qstring2='&BasePlanSlotId1={0}&BasePlanSlotId2={1}&FromYear={2}&ToYear={3}&compare=1';", ddPrimarySheet.SelectedValue, ddSecondarySheet.SelectedValue, tbFrom.Text, tbTo.Text); sb.AppendFormat("var xmlurl = '{0}?ProjectId={1}&ProjectFinance=1'+qstring2;", ResolveUrl("~/Modules/XmlForTreeView.aspx"), ProjectId); sb.AppendFormat("mygrid.loadXML(xmlurl);", ResolveUrl("~/Modules/XmlForTreeView.aspx"), ProjectId); //sb.Append("function({HighlightCell(null, -1, mygrid.getRowId(0), 2);});"); sb.Append("compareMode = 1;"); } else { sb.AppendFormat("qstring2='&BasePlanSlotId1={0}&BasePlanSlotId2={1}&FromYear={2}&ToYear={3}';", ddPrimarySheet.SelectedValue, ddSecondarySheet.SelectedValue, tbFrom.Text, tbTo.Text); sb.AppendFormat("var xmlurl = '{0}?ProjectId={1}&ProjectFinance=1'+qstring2;", ResolveUrl("~/Modules/XmlForTreeView.aspx"), ProjectId); sb.AppendFormat("mygrid.loadXML(xmlurl);", ResolveUrl("~/Modules/XmlForTreeView.aspx"), ProjectId); //sb.Append("function({HighlightCell(null, -1, mygrid.getRowId(0), 2);});"); sb.Append("compareMode = 0;"); } //sb.Append("mygrid.attachHeader([\"#rspan\", \"#rspan\", \"TEST MF\", \"#cspan\", \"T2\", \"_\", \"_\", \"T3\", \"_\", \"_\", \"_\", \"_\", \"_\", \"_\", \"_\", \"_\", \"_\", \"_\", \"_\", \"_\"]);"); //sb.Append("mygrid.setSizes();"); if (ddPrimarySheet.SelectedValue == "0") { sb.Append("DisableSelection = false;"); sb.Append(" setTimeout(\"HighlightCell(null,-1,mygrid.getRowId(0), 2)\", 500); "); } else { sb.Append("DisableSelection = true;"); } sb.Append("mygrid.setOnEditCellHandler(GridCellEdit); "); //DV: Fix bug with new doctype sb.Append("window.setTimeout(function () "); sb.Append("{ if (document.getElementById('gridbox')) { "); sb.Append(" document.getElementById('gridbox').style.height = '399px'; "); sb.Append(" window.setTimeout(function() { document.getElementById('gridbox').style.height = '400px'; }, 1000);"); sb.Append(" }"); sb.Append("}, 100);"); sb.Append("</script>"); //Page.RegisterClientScriptBlock(); this.Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), sb.ToString()); }
public static IList <GanttObject> GetAnalysisObjects(int originalPlanSlotId, int basePlanSlotId) { List <GanttObject> ret = new List <GanttObject>(); IFormatProvider provider = CultureInfo.InvariantCulture; List <int> projects = new List <int>(); UserLightPropertyCollection pc = Security.CurrentUser.Properties; switch (pc["Report_ProjectListType"]) { case "Custom": string projectList = pc["Report_ProjectListData"]; if (!string.IsNullOrEmpty(projectList)) { foreach (string id in projectList.Split(';')) { int projectId; if (int.TryParse(id.Trim(), out projectId)) { projects.Add(projectId); } } } break; case "Portfolio": string portfolioId = pc["Report_ProjectListData"]; DataTable dt = Project.GetListProjectGroupedByPortfolio(int.Parse(portfolioId, provider), 0, 0); foreach (DataRow row in dt.Rows) { int projectId = (int)row["ProjectId"]; if (projectId > 0) { projects.Add(projectId); } } break; default: // All projects using (IDataReader reader = Project.GetListProjects()) { while (reader.Read()) { projects.Add((int)reader["ProjectId"]); } } break; } List <int> collapsedProjects = new List <int>(); string collapsedProjectList = pc["Report_CollapsedProjectsList"]; if (!string.IsNullOrEmpty(collapsedProjectList)) { foreach (string id in collapsedProjectList.Split(';')) { int projectId; if (int.TryParse(id.Trim(), out projectId)) { if (!collapsedProjects.Contains(projectId)) { collapsedProjects.Add(projectId); } } } } foreach (int projectId in projects) { GanttObject project = new GanttObject(); project.Id = projectId; project.IsProject = true; project.IsCollapsed = collapsedProjects.Contains(projectId); project.MilestonesCount = Task.TasksGetMilestonesCount(projectId); // O.R. [2009-03-30]: if current user is PM, then he can got AccessDeniedException for some projects try { using (IDataReader reader = Project.GetProject(projectId)) { if (reader.Read()) { project.Title = reader["Title"].ToString(); project.Start = (DateTime)reader["TargetStartDate"]; project.Finish = (DateTime)reader["TargetFinishDate"]; project.IsCompleted = !(bool)reader["IsActive"]; } } } catch (AccessDeniedException) { continue; } ret.Add(project); // Load milestones Dictionary <int, DateTime> originalPlan = null; if (originalPlanSlotId > 0) { originalPlan = ProjectSpreadSheet.GetTaskHash(projectId, originalPlanSlotId); } Dictionary <int, DateTime> basePlan = null; if (basePlanSlotId > 0) { basePlan = ProjectSpreadSheet.GetTaskHash(projectId, basePlanSlotId); } int milestonesCount = 0; using (IDataReader reader = Task.GetListTasksByProject(projectId)) { while (reader.Read()) { if ((bool)reader["IsMilestone"]) { GanttObject milestone = new GanttObject(); milestone.Id = (int)reader["TaskId"]; milestone.IsProject = false; milestone.IsCompleted = (bool)reader["IsCompleted"]; milestone.Title = reader["Title"].ToString(); if (originalPlan != null) { if (originalPlan.ContainsKey(milestone.Id)) { milestone.Start = originalPlan[milestone.Id]; } } else { milestone.Start = (DateTime)reader["StartDate"]; } milestone.Finish = milestone.Start; if (basePlan != null && basePlan.ContainsKey(milestone.Id)) { milestone.Finish = basePlan[milestone.Id]; } if (milestone.Start != DateTime.MinValue) { milestonesCount++; if (!project.IsCollapsed) { ret.Add(milestone); } } } } } project.MilestonesCount = milestonesCount; } return(ret); }
private void BindDG(DataGrid dg) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("ActualId", typeof(int))); dt.Columns.Add(new DataColumn("OutlineLevel", typeof(int))); dt.Columns.Add(new DataColumn("Description", typeof(string))); dt.Columns.Add(new DataColumn("ActualDate", typeof(DateTime))); dt.Columns.Add(new DataColumn("AValue", typeof(double))); dt.Columns.Add(new DataColumn("LastEditorId", typeof(int))); dt.Columns.Add(new DataColumn("LastEditorName", typeof(string))); dt.Columns.Add(new DataColumn("ObjectTypeId", typeof(int))); dt.Columns.Add(new DataColumn("ObjectId", typeof(int))); dt.Columns.Add(new DataColumn("RowId", typeof(string))); dt.Columns.Add(new DataColumn("BlockId", typeof(int))); dt.Columns.Add(new DataColumn("TotalApproved", typeof(string))); dt.Columns.Add(new DataColumn("OwnerDisplayName", typeof(string))); dt.Columns.Add(new DataColumn("OwnerName", typeof(string))); if (ObjectId > 0) { int projectId = Util.CommonHelper.GetProjectIdByObjectIdObjectType(ObjectId, ObjectTypeId); bool projectSpreadSheetIsActive = ProjectSpreadSheet.IsActive(projectId); Hashtable rowNameHashtable = ProjectSpreadSheet.GetRowNameByIdHash(projectId); #region dates DateTime?dt1 = null; DateTime?dt2 = null; switch (PeriodList.SelectedValue) { case "[DateTimeThisAny]": break; case "[DateTimeThisWeek]": dt1 = CHelper.GetRealWeekStartByDate(DateTime.Today); dt2 = CHelper.GetRealWeekEndByDate(DateTime.Today); break; case "[DateTimeLastWeek]": dt1 = CHelper.GetRealWeekStartByDate(DateTime.Today.AddDays(-7)); dt2 = CHelper.GetRealWeekEndByDate(DateTime.Today.AddDays(-7)); break; case "[DateTimeThisMonth]": dt1 = DateTime.Today.AddDays(1 - DateTime.Today.Day); dt2 = DateTime.Today; break; case "[DateTimeLastMonth]": dt1 = DateTime.Today.AddDays(1 - DateTime.Today.Day).AddMonths(-1); dt2 = DateTime.Today.AddDays(-DateTime.Today.Day); break; case "[DateTimeThisYear]": dt1 = DateTime.Today.AddDays(1 - DateTime.Today.DayOfYear); dt2 = DateTime.Today; break; case "[DateTimeLastYear]": dt1 = DateTime.Today.AddDays(1 - DateTime.Now.DayOfYear).AddYears(-1); dt2 = DateTime.Today.AddDays(-DateTime.Now.DayOfYear); break; case "0": dt1 = Dtc0.SelectedDate; dt2 = CHelper.GetRealWeekEndByDate(Dtc0.SelectedDate); break; case "-1": dt1 = Dtc1.SelectedDate; dt2 = Dtc2.SelectedDate; break; default: break; } #endregion foreach (ActualFinances af in ActualFinances.List(ObjectId, (ObjectTypes)ObjectTypeId, dt1, dt2)) { DataRow row = dt.NewRow(); row["ActualId"] = af.ActualFinancesId; row["Description"] = af.Comment; row["ActualDate"] = af.Date; row["AValue"] = af.Value; row["LastEditorId"] = af.CreatorId; row["LastEditorName"] = Util.CommonHelper.GetUserStatusPureName(af.CreatorId); row["OutlineLevel"] = 1; row["ObjectTypeId"] = af.ObjectTypeId; row["ObjectId"] = af.ObjectId; if (projectSpreadSheetIsActive && rowNameHashtable.ContainsKey(af.RowId)) { row["RowId"] = rowNameHashtable[af.RowId].ToString(); } else { row["RowId"] = string.Empty; } if (af.BlockId.HasValue) { row["BlockId"] = af.BlockId.Value; } if (af.TotalApproved.HasValue) { if (dg == dgExport) { row["TotalApproved"] = (int)af.TotalApproved.Value; } else { row["TotalApproved"] = CommonHelper.GetHours((int)af.TotalApproved.Value); } } if (af.OwnerId.HasValue) { row["OwnerDisplayName"] = Util.CommonHelper.GetUserStatus(af.OwnerId.Value); if (dgExport.Visible) { row["OwnerName"] = Util.CommonHelper.GetUserStatusAndPositionPureName(af.OwnerId.Value); } else { row["OwnerName"] = Util.CommonHelper.GetUserStatusPureName(af.OwnerId.Value); } } dt.Rows.Add(row); } } /*else if(TaskId>0) * dt = Finance.GetListActualFinancesByTask(TaskId); * else if(IncidentId>0) * dt = Finance.GetListActualFinancesByIncident(IncidentId); * else if(DocumentId>0) * dt = Finance.GetListActualFinancesByDocument(DocumentId); * else if(EventId>0) * dt = Finance.GetListActualFinancesByEvent(EventId); * else if(ToDoId>0) * dt = Finance.GetListActualFinancesByToDo(ToDoId);*/ DataView dv = dt.DefaultView; dv.Sort = pc["FinAct_Sort"].ToString(); if (pc["FinAct_PageSize"] != null) { dg.PageSize = int.Parse(pc["FinAct_PageSize"]); } if (pc["FinAct_Page"] != null) { dg.CurrentPageIndex = int.Parse(pc["FinAct_Page"]); } int pageindex = dg.CurrentPageIndex; int ppi = dv.Count / dg.PageSize; if (dv.Count % dg.PageSize == 0) { ppi = ppi - 1; } if (pageindex <= ppi) { dg.CurrentPageIndex = pageindex; } else { dg.CurrentPageIndex = 0; pc["FinAct_Page"] = "0"; } dg.DataSource = dv; dg.DataBind(); bool haveRights = false; if (ProjectId > 0) { haveRights = Project.CanEditFinances(ProjectId); } if (TaskId > 0) { haveRights = Task.CanViewFinances(TaskId); } if (IncidentId > 0) { haveRights = Incident.CanViewFinances(IncidentId); } if (DocumentId > 0) { haveRights = Document.CanViewFinances(DocumentId); } if (EventId > 0) { haveRights = CalendarEntry.CanViewFinances(EventId); } if (ToDoId > 0) { haveRights = Mediachase.IBN.Business.ToDo.CanViewFinances(ToDoId); } foreach (DataGridItem dgi in dg.Items) { if (dgi.FindControl("ibDelete") != null) { ImageButton ibDelete = (ImageButton)dgi.FindControl("ibDelete"); ibDelete.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("Warning") + "')"); } if (dgi.FindControl("ibEdit") != null) { ImageButton ibEdit = (ImageButton)dgi.FindControl("ibEdit"); string link = string.Empty; if (ObjectId > 0 && haveRights) { link = String.Format(CultureInfo.InvariantCulture, "javascript:OpenWindow(\"{0}?ObjectId={1}&ObjectTypeId={2}&ActualFinancesId={3}&btn={4}\",520,270,false);return false;", ResolveClientUrl("~/projects/AddFinanceActual.aspx"), ObjectId, ObjectTypeId, dgi.Cells[0].Text, Page.ClientScript.GetPostBackEventReference(RefreshButton, "")); } ibEdit.Attributes.Add("onclick", link); } } // if(!Project.CanEditFinances(ProjectId)) // dg.Columns[10].Visible = false; }
private void BindDD() { // Group GroupingList.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.TimeTracking", "GroupingWeekUser").ToString(), GroupingWeekUser)); GroupingList.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.TimeTracking", "GroupingUserWeek").ToString(), GroupingUserWeek)); // Projects bool isPpmExec = Mediachase.IBN.Business.Security.IsUserInGroup(InternalSecureGroups.PowerProjectManager) || Mediachase.IBN.Business.Security.IsUserInGroup(InternalSecureGroups.ExecutiveManager); string titledFieldName = TimeTrackingManager.GetBlockTypeInstanceMetaClass().TitleFieldName; foreach (TimeTrackingBlockTypeInstance bo in TimeTrackingManager.GetProjectBlockTypeInstances()) { // Условия для того, чтобы BlockTypeInstances попал в список: // - он должен быть связан с проектом // - у него должны быть активны финансы // - текущий пользователь - либо PPM/Exec, либо менеджер/исп.менеджер проекта if (bo.ProjectId.HasValue) { int projectId = bo.ProjectId.Value; if (ProjectSpreadSheet.IsActive(projectId)) { bool add = false; if (isPpmExec) { add = true; } else { Project.ProjectSecurity ps = Project.GetSecurity(projectId); if (ps.IsManager || ps.IsExecutiveManager) { add = true; } } if (add) { ListItem li = new ListItem(bo.Properties[titledFieldName].Value.ToString(), bo.PrimaryKeyId.ToString()); ProjectList.Items.Add(li); } } } } if (ProjectList.Items.Count <= 0) { NoProjectsDiv.Visible = true; PanelFilters.Visible = false; return; } else { NoProjectsDiv.Visible = false; } // Users UserList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.Global:_mc_All}"), "0")); Principal[] mas = Principal.List(new FilterElementCollection(FilterElement.EqualElement("Card", "User"), FilterElement.EqualElement("Activity", 3)), new SortingElementCollection(new SortingElement("Name", SortingElementType.Asc))); foreach (Principal pl in mas) { UserList.Items.Add(new ListItem(pl.Name, pl.PrimaryKeyId.ToString())); } // Dates PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_Any}"), "[DateTimeThisAny]")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_ThisWeek}"), "[DateTimeThisWeek]")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_LastWeek}"), "[DateTimeLastWeek]")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_ThisMonth}"), "[DateTimeThisMonth]")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_LastMonth}"), "[DateTimeLastMonth]")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_ThisYear}"), "[DateTimeThisYear]")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_LastYear}"), "[DateTimeLastYear]")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_CustomWeek}"), "0")); PeriodList.Items.Add(new ListItem(CHelper.GetResFileString("{IbnFramework.TimeTracking:_mc_CustomPeriod}"), "-1")); Dtc1.SelectedDate = CHelper.GetRealWeekStartByDate(DateTime.Today); Dtc2.SelectedDate = CHelper.GetRealWeekStartByDate(DateTime.Today); }
private void GenerateScript() { ArrayList ProjectIds = new ArrayList(); switch (ProjectListType) { case "All": using (IDataReader reader = Project.GetListProjects()) { while (reader.Read()) { ProjectIds.Add(int.Parse(reader["ProjectId"].ToString())); } } break; case "Portfolio": DataTable dt = Project.GetListProjectGroupedByPortfolio(int.Parse(ProjectListData), 0, 0); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { int prid = int.Parse(dr["ProjectId"].ToString()); if (prid > 0) { ProjectIds.Add(prid); } } } break; case "Custom": if (ProjectListData != null && ProjectListData.Length > 0) { string[] Ids = ProjectListData.Split(';'); if (Ids != null && Ids.Length > 0) { for (int i = 0; i < Ids.Length; i++) { ProjectIds.Add(int.Parse(Ids[i])); } } } break; default: break; } SpreadSheetDocumentType type = SpreadSheetDocumentType.Total; switch (FinanceType) { case "1": type = SpreadSheetDocumentType.WeekYear; break; case "2": type = SpreadSheetDocumentType.MonthQuarterYear; break; case "3": type = SpreadSheetDocumentType.QuarterYear; break; case "4": type = SpreadSheetDocumentType.Year; break; case "5": type = SpreadSheetDocumentType.Total; break; } SpreadSheetView view = null; if (!Reverse) { view = ProjectSpreadSheet.CompareProjects(ProjectIds, type, BasePlan1, FromYear, ToYear); } else { view = ProjectSpreadSheet.CompareProjectsReverse(ProjectIds, type, BasePlan1, FromYear, ToYear); } SpreadSheetView view2; if (BasePlan2 != -2) { if (!Reverse) { view2 = ProjectSpreadSheet.CompareProjects(ProjectIds, type, BasePlan2, FromYear, ToYear); } else { view2 = ProjectSpreadSheet.CompareProjectsReverse(ProjectIds, type, BasePlan2, FromYear, ToYear); } } int colCount = view.Columns.Length; //int maxWidth = 950; StringBuilder sb = new StringBuilder(); sb.AppendLine("<script type='text/javascript'>"); sb.AppendLine("//<![CDATA["); sb.AppendLine("if (mygrid2 == null)"); sb.AppendLine(" mygrid2 = new dhtmlXGridObject('gridbox');"); //sb.Append(""); #region Bind: Header Caption if (view.Document.DocumentType != SpreadSheetDocumentType.Total && view.Document.DocumentType != SpreadSheetDocumentType.Year) { sb.AppendFormat("mygrid2.setHeader(\"{0}", LocRM.GetString("tProjects")); int YearCounter = ToYear - FromYear + 1; int ColSpanRate = -1; #region Year if (view.Document.DocumentType == SpreadSheetDocumentType.QuarterYear) { ColSpanRate = 5; } else if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { ColSpanRate = 17; } else if (view.Document.DocumentType == SpreadSheetDocumentType.WeekYear) { ColSpanRate = 53; } int RowSpanRate = (view.Columns.Length - YearCounter) / (YearCounter * 4); //int RowSpanRate = 45; int yearCount = 0; for (int i = 0; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % (ColSpanRate) == 0) { sb.AppendFormat(",{0}", FromYear + yearCount); } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { sb.AppendFormat(",{0}", LocRM.GetString("tYear")); } else { sb.Append(",#cspan"); } } else { if (i % (ColSpanRate) == 0) { sb.AppendFormat(",{0}", FromYear + yearCount); } else if (((i - yearCount + 1) % (ColSpanRate - 1) == 0) && (i - yearCount + 1 != 0)) { sb.AppendFormat(",{0}", LocRM.GetString("tYear")); } else { sb.Append(",#cspan"); } } if (i % (ColSpanRate) == 0) { yearCount++; } } //} sb.AppendFormat(",{0}\");", LocRM.GetString("tTotalSum")); #endregion #region Quartals if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { sb.Append("mygrid2.attachHeader([\"#rspan\""); for (int i = 0; i < view.Columns.Length - 1; i++) { int counter = i % ColSpanRate; if (counter % (RowSpanRate) == 0 && counter != 16) { sb.AppendFormat(",\"{0} {1}\"", LocRM.GetString("tQuarterYear"), /*(((i + 1) / RowSpanRate) % 4) + 1*/ (counter / 4) + 1); } else if ((counter + 1) % RowSpanRate == 0) { sb.AppendFormat(", \"{0}\"", LocRM.GetString("tQuarterTotal")); } else if (counter == 16) { sb.Append(",\"#rspan\""); } else { sb.Append(",\"#cspan\""); } } sb.Append(",\"#rspan\"]);"); } #endregion #region BindServerData sb.AppendFormat("mygrid2.attachHeader([\"#rspan\", \"{0}\"", ((Column)view.Columns[0]).Name); int _counter = 0; for (int i = 1; i < view.Columns.Length - 1; i++) { if (view.Document.DocumentType == SpreadSheetDocumentType.MonthQuarterYear) { if (i % ColSpanRate == 0) { _counter++; } if ((i + 1 - _counter) % RowSpanRate == 0) { sb.Append(",\"#rspan\""); } else if ((i + 1) % ColSpanRate == 0) { sb.Append(",\"#rspan\""); } else { sb.AppendFormat(",\" {0}\"", ((Column)view.Columns[i]).Name); } } else { if ((i + 1) % ColSpanRate == 0) { sb.Append(",\"#rspan\""); } else { sb.AppendFormat(",\" {0}\"", ((Column)view.Columns[i]).Name); } } } sb.Append(",\"#rspan\"]);"); #endregion } else { //for scales: Year, Project Total sb.AppendFormat("mygrid2.setHeader(\"{0}", LocRM.GetString("tProjects")); for (int i = 0; i < view.Columns.Length; i++) { sb.AppendFormat(",{0}", ((Column)view.Columns[i]).Name); } sb.Append("\");"); } #endregion #region Bind: Header Width sb.AppendFormat("mygrid2.setImagePath('{0}');", ResolveUrl("~/Layouts/Images/dhtmlGrid/imgs")); sb.Append("mygrid2.setInitWidths(\"100"); for (int i = 0; i < view.Columns.Length; i++) { sb.AppendFormat(",{0}", 60 /*(int)(maxWidth / view.Columns.Length)*/); } sb.Append("\");"); #endregion #region Bind: Header Align sb.Append("mygrid2.setColAlign(\"left"); for (int i = 0; i < view.Columns.Length; i++) { sb.Append(",right"); } sb.Append("\");"); #endregion #region Bind: Cols CanEdit sb.Append("mygrid2.setColTypes(\"tree"); for (int i = 0; i < colCount; i++) { sb.Append(",ro"); } sb.Append("\");"); #endregion #region Bind: Cols Color sb.Append("mygrid2.setColumnColor(\"#E1ECFC"); for (int i = 1; i < colCount; i++) { sb.Append(",white"); } sb.Append("\");"); #endregion sb.AppendLine("mygrid2.enableKeyboardSupport(false);mygrid2.setOnLoadingEnd('EnableApplyButton');mygrid2.enableEditEvents(false,false,false);mygrid2.init();"); if (ddBasePlan2.SelectedValue != "-2") { sb.AppendLine("qstring2='&compare=1';"); sb.AppendFormat("var xmlurl='{0}?ProjectFinanceCompare=1'+qstring2;", ResolveUrl("~/Modules/XmlForTreeView.aspx")); sb.AppendLine("mygrid2.loadXML(xmlurl);"); sb.AppendLine("compareMode=1;"); } else { sb.AppendFormat("var xmlurl='{0}?ProjectFinanceCompare=1';", ResolveUrl("~/Modules/XmlForTreeView.aspx")); sb.AppendLine("mygrid2.loadXML(xmlurl);"); sb.AppendLine("compareMode=0;"); } sb.AppendLine("//]]>"); sb.AppendLine("</script>"); this.Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), sb.ToString()); }
/// <summary> /// Saves the specified Active Data by Project to Base Plan Slot. /// </summary> /// <param name="ProjectId">The project id.</param> /// <param name="BasePlanSlotId">The base plan slot id.</param> public static void Save(int ProjectId, int BasePlanSlotId) { using (DbTransaction tran = DbTransaction.Begin()) { // Step. Create or Update ProjectBasePlanInfoRow ProjectBasePlanInfoRow infoRow = new ProjectBasePlanInfoRow(); ProjectBasePlanInfoRow[] activeInfoRowList = ProjectBasePlanInfoRow.List(ProjectId); foreach (ProjectBasePlanInfoRow activeInfoRow in activeInfoRowList) { if (activeInfoRow.BasePlanSlotId == BasePlanSlotId) { infoRow = activeInfoRow; break; } } infoRow.BasePlanSlotId = BasePlanSlotId; infoRow.ProjectId = ProjectId; infoRow.Created = DateTime.UtcNow; infoRow.Update(); //DV. Fix Exception, when finances are not active! if (ProjectSpreadSheet.IsActive(ProjectId)) { // Step 1. Save Spread Sheet View from Currency ProjectSpreadSheetDataRow.Delete(ProjectId, BasePlanSlotId); ProjectSpreadSheetDataRow[] srcRowList = ProjectSpreadSheetDataRow.ListCurrentByProjectId(ProjectId); foreach (ProjectSpreadSheetDataRow srcRow in srcRowList) { ProjectSpreadSheetDataRow newRow = new ProjectSpreadSheetDataRow(); newRow.Index = BasePlanSlotId; newRow.ProjectSpreadSheetId = srcRow.ProjectSpreadSheetId; newRow.ColumnId = srcRow.ColumnId; newRow.RowId = srcRow.RowId; newRow.CellType = srcRow.CellType; newRow.Value = srcRow.Value; newRow.Update(); } SpreadSheetView view = ProjectSpreadSheet.LoadView(ProjectId, BasePlanSlotId, 2001, 2001); ProjectSpreadSheet.SaveBusinessScore(ProjectId, BasePlanSlotId, view.Document); } // Step 2. Save Tasks ProjectTaskBasePlanRow.Fill(ProjectId, BasePlanSlotId); tran.Commit(); } }