private ProjectListViewModel CreateProjectListViewModel(ProjectListData data, int start) { var listViewModel = Mapper.Map <List <ProjectItemViewModel> >(data.List); return(new ProjectListViewModel { TotalCount = data.TotalCount, List = listViewModel, PageSize = ProjectListPageSize, Start = start }); }
public ProjectListData GetProjectList(int start, int count) { var work = new GetProjectListWork(m_projectRepository, start, count); var resultEntities = work.Execute(); var result = new ProjectListData { List = Mapper.Map <List <ProjectContract> >(resultEntities), TotalCount = work.GetResultCount() }; return(result); }
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()); }