public EntityCrosstabReportDTO ToEntityCrosstabReportDTO(DR_Requester requester, EntityCrosstabReport item, bool withDetails) { EntityCrosstabReportDTO result = new EntityCrosstabReportDTO(); result.ID = item.ID; bizEntitySearchableReport.ToEntitySearchableReportDTO(item.EntitySearchableReport, result, withDetails); result.EntityListViewID = item.EntityListViewID; if (withDetails) { BizEntityListView bizEntityListView = new BizEntityListView(); result.EntityListView = bizEntityListView.GetEntityListView(requester, item.EntityListViewID); if (result.EntityListView == null) { throw new Exception("عدم دسترسی به لیست نمایش به شناسه" + " " + item.EntityListViewID); } BizEntityRelationshipTail bizEntityRelationshipTail = new MyModelManager.BizEntityRelationshipTail(); foreach (var sub in item.CrosstabReportColumns) { CrosstabReportColumnDTO rColumn = new CrosstabReportColumnDTO(); rColumn.ID = sub.ID; rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID; rColumn.EntityListViewColumn = result.EntityListView.EntityListViewAllColumns.FirstOrDefault(x => x.ID == sub.EntityListViewColumnsID); if (rColumn.EntityListViewColumn == null) { throw new Exception("Crosstab report column" + " " + sub.ID + " " + "is not accessable!"); } result.Columns.Add(rColumn); } foreach (var sub in item.CrosstabReportRows) { CrosstabReportRowDTO rColumn = new CrosstabReportRowDTO(); rColumn.ID = sub.ID; rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID; rColumn.EntityListViewColumn = result.EntityListView.EntityListViewAllColumns.FirstOrDefault(x => x.ID == sub.EntityListViewColumnsID); if (rColumn.EntityListViewColumn == null) { throw new Exception("Crosstab report row" + " " + sub.ID + " " + "is not accessable!"); } result.Rows.Add(rColumn); } foreach (var sub in item.CrosstabReportValues) { CrosstabReportValueDTO rColumn = new CrosstabReportValueDTO(); rColumn.ID = sub.ID; rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID; rColumn.EntityListViewColumn = result.EntityListView.EntityListViewAllColumns.First(x => x.ID == sub.EntityListViewColumnsID); if (rColumn.EntityListViewColumn == null) { throw new Exception("Crosstab report value" + " " + sub.ID + " " + "is not accessable!"); } rColumn.ValueFunction = (ChartReportValueFunction)sub.FunctoinType; result.Values.Add(rColumn); } } return(result); }
public frmEntityCrosstabReport(int entityID, int CrosstabReportID) { InitializeComponent(); Message = new ModelEntites.EntityCrosstabReportDTO(); EntityID = entityID; SetEntityListViews(); SetEntityPreDefinedSearchList(); SetFunctoinTypes(); if (CrosstabReportID != 0) { GetEntityCrosstabReport(CrosstabReportID); } else { Message = new EntityCrosstabReportDTO(); ShowMessage(); } lokEntityListView.SelectionChanged += LokEntityListView_SelectionChanged; ControlHelper.GenerateContextMenu(dtgColumns); ControlHelper.GenerateContextMenu(dtgRows); ControlHelper.GenerateContextMenu(dtgValues); }
public int UpdateEntityCrosstabReports(EntityCrosstabReportDTO message) { using (var projectContext = new DataAccess.MyProjectEntities()) { var dbEntitySpecifiedReport = projectContext.EntityCrosstabReport.FirstOrDefault(x => x.ID == message.ID); if (dbEntitySpecifiedReport == null) { message.ReportType = ReportType.SearchableReport; message.SearchableReportType = SearchableReportType.CrosstabReport; dbEntitySpecifiedReport = new DataAccess.EntityCrosstabReport(); dbEntitySpecifiedReport.EntitySearchableReport = bizEntitySearchableReport.ToNewEntitySearchableReport(message); } else { bizEntitySearchableReport.ToUpdateEntitySearchableReport(dbEntitySpecifiedReport.EntitySearchableReport, message); } dbEntitySpecifiedReport.EntityListViewID = message.EntityListViewID; while (dbEntitySpecifiedReport.CrosstabReportColumns.Any()) { projectContext.CrosstabReportColumns.Remove(dbEntitySpecifiedReport.CrosstabReportColumns.First()); } foreach (var sub in message.Columns) { CrosstabReportColumns rColumn = new CrosstabReportColumns(); rColumn.EntityListViewColumnsID = sub.EntityListViewColumnID; dbEntitySpecifiedReport.CrosstabReportColumns.Add(rColumn); } while (dbEntitySpecifiedReport.CrosstabReportRows.Any()) { projectContext.CrosstabReportRows.Remove(dbEntitySpecifiedReport.CrosstabReportRows.First()); } foreach (var sub in message.Rows) { CrosstabReportRows rRow = new CrosstabReportRows(); rRow.EntityListViewColumnsID = sub.EntityListViewColumnID; dbEntitySpecifiedReport.CrosstabReportRows.Add(rRow); } while (dbEntitySpecifiedReport.CrosstabReportValues.Any()) { projectContext.CrosstabReportValues.Remove(dbEntitySpecifiedReport.CrosstabReportValues.First()); } foreach (var sub in message.Values) { CrosstabReportValues rColumn = new CrosstabReportValues(); rColumn.EntityListViewColumnsID = sub.EntityListViewColumnID; rColumn.FunctoinType = (short)sub.ValueFunction; dbEntitySpecifiedReport.CrosstabReportValues.Add(rColumn); } if (dbEntitySpecifiedReport.ID == 0) { projectContext.EntityCrosstabReport.Add(dbEntitySpecifiedReport); } projectContext.SaveChanges(); return(dbEntitySpecifiedReport.ID); } }
private void btnNew_Click(object sender, RoutedEventArgs e) { Message = new EntityCrosstabReportDTO(); ShowMessage(); }