﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » WinForms (How do I?)  » Displaying Busines Rules</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Fri, 12 Jun 2026 07:38:22 GMT</lastBuildDate><ttl>20</ttl><item><title>Displaying Busines Rules</title><link>http://forum.strataframe.net/FindPost29958.aspx</link><description>&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;In the BusinessRulesChecked event of a Form , I want to call a 'Common' routine which will loop through all Errors on all Business objects and display them in a Message Box. I have the code (from another Thread) whcih loops through All Broken Rule of all business Objects, but dont know how to pass the object to my common routine. (Sometmes when the Broken Rules display, they may be in different tabs on the form and I need to see them all at the same time, rather than searching through each of the Tabs to locate them). &lt;br/&gt;&lt;br/&gt;[quote]private void MyForm_BusinessRulesChecked(MicroFour.StrataFrame.Business.BusinessRulesCheckedEventArgs e)&lt;br/&gt;{&lt;br/&gt;ShowBusinessRules(????????????XXXXX);&lt;br/&gt;} [/quote]&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font size=2 face=Consolas&gt;&lt;font size=2 face=Consolas&gt;Then in my ShowBusinessRules code, I want to loop through the BrokenRules of the BusinessObjects&lt;br/&gt;&lt;br/&gt;[quote]public static void ShowBusinessRules(?????????YYYY)&lt;br/&gt;{&lt;br/&gt;string&amp;nbsp;myBrokenRules&amp;nbsp;&lt;br/&gt;&lt;br/&gt;//Loop through BrokenRules in each Business Object and add a line to myBrokenRules..... this bit I am ok with &lt;br/&gt;MessageBox.Show(myBrokenRules);&lt;br/&gt;}[/quote]&lt;br/&gt;&lt;br/&gt;Its the ??????????XXXXXX and&amp;nbsp; ??????YYYYYYYYY I am unsure about&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;</description><pubDate>Tue, 10 May 2011 15:12:45 GMT</pubDate><dc:creator>Ger Cannoll</dc:creator></item><item><title>RE: Displaying Busines Rules</title><link>http://forum.strataframe.net/FindPost29966.aspx</link><description>Well a couple of things are likely going on...&lt;br/&gt;&lt;br/&gt;First, if you construct a BusinessLayer, there are a bunch of properties that are not actually implemented and intended to implemented by actual BOs (which the BO Mapper takes care of for you). So it quite safe to have variables and arguments of type BusinessLayer, but don't try to just create an object of that type.&lt;br/&gt;&lt;br/&gt;Second, there is no blank or default construct for BrokenRule. Check out Intellisense or help to see the valid constructors.&lt;br/&gt;&lt;br/&gt;Glad you got the other bit going!</description><pubDate>Tue, 10 May 2011 15:12:45 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item><item><title>RE: Displaying Busines Rules</title><link>http://forum.strataframe.net/FindPost29963.aspx</link><description>Got this working &lt;br/&gt;&lt;br/&gt;&lt;font size=2 face=Consolas&gt;&lt;font size=2 face=Consolas&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;[quote]public static void ShowBrokenRules(Dictionary&amp;lt;BusinessLayer,MicroFour.StrataFrame.Business.BrokenRulesCollection&amp;gt; allBrokenRules)&lt;br/&gt;{&lt;br/&gt;string myBrokenRules = "";&lt;br/&gt;foreach (MicroFour.StrataFrame.Business.BusinessLayer bo in allBrokenRules.Keys)&lt;br/&gt;{&lt;br/&gt;foreach (MicroFour.StrataFrame.Business.BrokenRule br in bo.BrokenRules.ToArray())&lt;br/&gt;{&lt;br/&gt;myBrokenRules = myBrokenRules + br.Description + Environment.NewLine;&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;MessageBox.Show(myBrokenRules, "Kernel Software - Invalid Items");&lt;br/&gt;// Why wont following work (brok must take at least one argument ???&lt;br/&gt;MicroFour.StrataFrame.Business.BusinessLayer busobj = new BusinessLayer();&lt;br/&gt;MicroFour.StrataFrame.Business.BrokenRule brok = new BrokenRule();&lt;br/&gt;} // End of ShowBrokenRules[/quote]&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font color=#008000 size=2 face=Consolas&gt;&lt;font color=#008000 size=2 face=Consolas&gt;&lt;font color=#008000 size=2 face=Consolas&gt;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=2 face=Consolas&gt;&lt;font size=2 face=Consolas&gt;But dont know why the two last lines give an error. I have seen some code on another thread where a version , in VB, similar to this seems to work:&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font size=2 face=Consolas&gt;[quote]Dim loBO As MicroFour.StrataFrame.Business.BusinessLayer&lt;br/&gt;Dim loRule as MicroFour.Strataframe.Business.BrokenRule[/quote]&lt;/font&gt;</description><pubDate>Tue, 10 May 2011 13:13:12 GMT</pubDate><dc:creator>Ger Cannoll</dc:creator></item><item><title>RE: Displaying Busines Rules</title><link>http://forum.strataframe.net/FindPost29962.aspx</link><description>Hi Greg. Thanks for reply.&lt;br/&gt;&lt;br/&gt;I have inserted your code, but compiler is complaining about the BrokenRuleCollection in the [public void static line]&amp;nbsp;. Do I need a SF reference ?&lt;br/&gt;&lt;br/&gt;(I have included &lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;using&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=2 face=Consolas&gt;&lt;font size=2 face=Consolas&gt;&lt;font color=#000000&gt; MicroFour.StrataFrame.Business;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;using&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=2 face=Consolas&gt;&lt;font size=2 face=Consolas&gt;&lt;font color=#000000&gt; MicroFour.StrataFrame.Data;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;&lt;font color=#0000ff size=2 face=Consolas&gt;using&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=2 face=Consolas&gt;&lt;font size=2 face=Consolas&gt;&lt;font color=#000000&gt; MicroFour.StrataFrame.Messaging;)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font size=2 face=Consolas&gt;&lt;font size=2 face=Consolas&gt;&lt;font color=#000000&gt;&lt;/font&gt;&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;</description><pubDate>Tue, 10 May 2011 11:45:25 GMT</pubDate><dc:creator>Ger Cannoll</dc:creator></item><item><title>RE: Displaying Busines Rules</title><link>http://forum.strataframe.net/FindPost29959.aspx</link><description>Just pass along the AllBrokenRules dictionary provided by the event args:&lt;br/&gt;&lt;br/&gt;&lt;span&gt;[code]private void MyForm_BusinessRulesChecked(MicroFour.StrataFrame.Business.BusinessRulesCheckedEventArgs e)&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ShowBusinessRules(e.AllBrokenRules);&lt;br/&gt;} &lt;br/&gt;[/code]&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;In your common routine, just accept of a generic dictionary of the appropriate type:&lt;br/&gt;&lt;br/&gt;&lt;span&gt;[code]public static void ShowBusinessRules(Dictionary&amp;lt;BusinessLayer, BrokenRuleCollection&amp;gt; allBrokenRules)&lt;br/&gt;{&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string myBrokenRules&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Loop through BrokenRules in each Business Object and add a line to myBrokenRules.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach(KeyValue&amp;lt;BusinessLayer, BrokenRuleCollection&amp;gt; item in allBrokenRules)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //-- Build line for broken rule.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(myBrokenRules);&lt;br/&gt;}&lt;br/&gt;[/code]&lt;/span&gt;&lt;span&gt;&lt;/span&gt;</description><pubDate>Tue, 10 May 2011 10:53:26 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item></channel></rss>