コード例 #1
0
        public override void OnNext()
        {
            base.OnNext();
            try
            {
                List <LayerDesc> layerDescs = new List <LayerDesc>();
                foreach (ILayer2D layer in uCtrlLayerList.Selected)
                {
                    layerDescs.Add(layer.LayerDescriptor);
                }

                Solution.SetSolver(new LayerSolver());

                AnalysisCylinderCase analysis = _item as AnalysisCylinderCase;

                if (null == analysis)
                {
                    _item = _document.CreateNewAnalysisCylinderCase(
                        ItemName, ItemDescription
                        , SelectedCylinder, SelectedCase
                        , new List <InterlayerProperties>()
                        , BuildConstraintSet()
                        , layerDescs);
                }
                else
                {
                    analysis.ID.SetNameDesc(ItemName, ItemDescription);
                    analysis.Content        = SelectedCylinder;
                    analysis.CaseProperties = SelectedCase;
                    analysis.ConstraintSet  = BuildConstraintSet();
                    analysis.AddSolution(layerDescs);

                    _document.UpdateAnalysis(analysis);
                }
                Close();
            }
            catch (Exception ex)
            {
                _log.Error(ex.ToString());
            }
        }