private void OnReport(object sender, EventArgs e)
 {
     try
     {
         // build list of BCT
         QualityData qdata        = SelectedMaterial;
         Vector3D    caseDim      = CaseDimensions;
         var         dynBCTmatrix = McKeeFormula.EvaluateEdgeCrushTestMatrix(
             caseDim.X, caseDim.Y, caseDim.Z,
             Resources.CASETYPE_AMERICANCASE, IsDoubleWall, PrintSurface,
             qdata, McKeeFormulaType);
         List <DynamicBCTRow> listBCTRows = new List <DynamicBCTRow>();
         foreach (var keyStorage in McKeeFormula.StockCoefDictionary.Keys)
         {
             List <double> values = new List <double>();
             foreach (var keyHumidity in McKeeFormula.HumidityCoefDictionary.Keys)
             {
                 values.Add(dynBCTmatrix[new KeyValuePair <string, string>(keyStorage, keyHumidity)]);
             }
             listBCTRows.Add(new DynamicBCTRow()
             {
                 Name = keyStorage, Values = values
             });
         }
         // build report data
         var reportData = new ReportDataPackStress()
         {
             Author           = CardboardQualityAccessor.Instance.UserName,
             McKeeFormulaType = (int)McKeeFormulaType,
             Box = CaseProperties,
             Mat = new Material()
             {
                 Name       = qdata.Name,
                 Profile    = qdata.Profile,
                 Thickness  = qdata.Thickness,
                 ECT        = qdata.ECT,
                 RigidityDX = qdata.RigidityDX,
                 RigidityDY = qdata.RigidityDY
             },
             StaticBCT = StaticBCT,
             Analysis  = null,
             BCTRows   = listBCTRows
         };
         using (var form = new FormReportDesign(reportData))
             form.ShowDialog();
     }
     catch (Exception ex)
     {
         _log.Error(ex.Message);
     }
 }
        private void FillGridDynamicBCT()
        {
            Vector3D    caseDim = CaseDimensions;
            QualityData qdata   = SelectedMaterial;

            if (null != qdata)
            {
                FillGridDynamicBCT(
                    McKeeFormula.EvaluateEdgeCrushTestMatrix(
                        caseDim.X, caseDim.Y, caseDim.Z, Resources.CASETYPE_AMERICANCASE, PrintSurface,
                        qdata,
                        McKeeFormulaType)
                    );
            }
        }