Exemplo n.º 1
0
        private void MenuMember_Filter_Click( object sender, EventArgs e )
        {
            var group = CurrentGroup;
            if ( group != null ) {

                try {
                    if ( group.Expressions == null )
                        group.Expressions = new ExpressionManager();

                    using ( var dialog = new DialogShipGroupFilter( group ) ) {

                        if ( dialog.ShowDialog( this ) == System.Windows.Forms.DialogResult.OK ) {

                            // replace
                            int id = group.GroupID;
                            group = dialog.ExportGroupData();
                            group.GroupID = id;
                            group.Expressions.Compile();

                            KCDatabase.Instance.ShipGroup.ShipGroups.Remove( id );
                            KCDatabase.Instance.ShipGroup.ShipGroups.Add( group );

                            ChangeShipView( SelectedTab );
                        }
                    }
                } catch ( Exception ex ) {

                    Utility.ErrorReporter.SendErrorReport( ex, "ShipGroup: フィルタダイアログでエラーが発生しました。" );
                }

            }
        }
        private void MenuMember_Filter_Click( object sender, EventArgs e )
        {
            var group = CurrentGroup;
            if ( group != null ) {

                try {
                    using ( var dialog = new DialogShipGroupFilter( group.Expressions ) ) {

                        dialog.ImportExpressionData( group.Expressions );

                        if ( dialog.ShowDialog( this ) == System.Windows.Forms.DialogResult.OK ) {

                            group.Expressions = dialog.ExportExpressionData();

                            group.Expressions.Compile();
                            group.UpdateMembers( ShipView.Rows.Cast<DataGridViewRow>().Select( r => (int)r.Cells[ShipView_ID.Index].Value ) );

                            ChangeShipView( SelectedTab );
                        }
                    }
                } catch ( Exception ex ) {

                    Utility.ErrorReporter.SendErrorReport( ex, "ShipGroup: フィルタダイアログでエラーが発生しました。" );
                }

            }
        }