/// <summary> /// Reaction on selectd calculation fired from selection user fontrol /// </summary> /// <param name="calculation">Selectd calculation</param> private void OnCalculationSelected(CostsCalculation calculation) { // Calculation selected -> enable functionality SetImportedItemsControlsEnability(true); // Loads SubSections from currently selected calculation LoadSubSectionDataGrid(); }
/// <summary> /// Gets all imported main items from given calculation. /// </summary> /// <param name="calculation">Calculation to obtain list</param> /// <returns>Returns list of main items</returns> private List<MainItem> GetItemsFromCalculation(CostsCalculation calculation) { List<MainItem> items = new List<MainItem>(); foreach (SubSection subSection in calculation.SubSections) { items.AddRange(subSection.MainItemsList); } return items; }
private void OnCalculationSelected(CostsCalculation calculation) { if (calculation == null) { DisableDataGrids(); return; } // Enable disabled controls this.dg_BillingItems.IsEnabled = true; this.dg_CalculationItems.IsEnabled = true; // Fill calculation datagrid with all main items in selected calculation RefreshDatagrid( this.dg_CalculationItems, GetItemsFromCalculation(calculation) ); }
/// <summary> /// Creates overView of given <see cref="Karafa.ConstructionHierarchy.CostsCalculation"/>. /// </summary> /// <param name="constructionName">Name of <see cref="Karafa.ConstructionHierarchy.Construction"/> (that contains CostsCalculation)</param> /// <param name="objectName">Name of <see cref="Karafa.ConstructionHierarchy.ConstructionObject"/> (that contains CostsCalculation)</param> /// <param name="investor">Construction investor</param> /// <param name="projectEngineer">Construction Project enginer</param> /// <param name="calculation">Given CostsCalculation</param> /// <param name="content">Specifies content type of overview</param> /// <param name="save">True to save PDF document, false not to.</param> public void CreateCalculationOverView( string constructionName, string objectName, string investor, string projectEngineer, CostsCalculation calculation, CaluclationOverviewContent content, bool save = true) { this.constructionName = constructionName; this.objectName = objectName; this.investor = investor; this.engineer = projectEngineer; this.calculation = calculation; this.content = content; // Create PDF page PdfPage page = NewPage(); InitColumnDimensions(page); try { int yCoordinate = 0; // Calculation has no preliminary initial overview if (this.content != CaluclationOverviewContent.CALCULATION) { // Draw initial header yCoordinate = DrawSubSectionHeader(page, 0, 0, page.Width.Value); // Draw every subsection name ane its prices yCoordinate = DrawSubSectionsOverView(page, 0, yCoordinate, page.Width.Value, page.Height.Value); // Start on new page page = NewPage(); // Start draing at the top of page yCoordinate = 0; } // Start with header yCoordinate = DrawMainItemsHeader(page, 0, yCoordinate, page.Width.Value); // Print analysis yCoordinate = DrawMainItemsOverView(page, 0, yCoordinate, page.Width.Value, page.Height.Value); // Save overview and show it string documentName = this.content == CaluclationOverviewContent.CALCULATION ? string.Format("{0}_{1}", Properties.Resources.TEXT_CALCULATION_OVERVIEW, this.calculation.Name) : this.content == CaluclationOverviewContent.ANALYSIS ? string.Format("{0}_{1}", Properties.Resources.TEXT_ANALYSIS_OVERVIEW, this.calculation.Name) : this.calculation.Name; if (save) SaveDocument(documentName, true); } catch (Exception ex) { Karafa.Errors.KarafaLogger.LogError(ex); // Report error only when this document should be shown if (save) KarafaMainWindow.Instance.ReportProcess( Properties.Resources.MESSAGE_ERROR_CALCULATION_OVERVIEW_FAILED ); } }