Control order of BO in _BusinessObjects collection


Author
Message
Chan
Chan
Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
Hi,

Hi,

While waiting for response of one to one relationship thread, I tried to use IncludeInFormAdd, IncludeInFormDelete and etc property to achieve my goal (but I still hope someone can help on my previous posted issue). At first it works fine. But don't know why it just not working now.



I have the BO setting as below. After some debugging, I found that, BaseForm call child BO CompanyAddress.Add() before parent BO CompaniesBO.Add(). Even I set InitializationPriority.



Anyway ideas?



My topmost level BO - CompaniesBO is using PrimaryKeyIsAutoIncremented = true. My child BOs - CompanyAddress and CompanyContacts PK is composite key. Therefore, I set both PrimaryKeyIsAutoIncremented = false.



CompanyAddressBO - CompanyID, AddressTypeID

CompanyContactsBO - CompanyID, ContactTypeID



When I click on new button, I would get error



BusinessLayerException

   An error occurred while retrieving the primary key from the parent business object.

BusinessLayerException

   The CurrentRow could not be evaluated because the CurrentRowIndex is out of range. Business object record count: 0. CurrentRowIndex: -1.



Trent Taylor
Trent Taylor
StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 7K
Is it possible for you to post a simple sample showing how you are producing this.  I am not able to reproduce the behavior you have described.  If possible, use the StrataFrameSample database, otherwise please provide us with a DDT package file for your structures or the MDF file for you SQL Server database.  Thanks.
Chan
Chan
Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
Hi,

Please find the attached file.

It contains my source code, which has few problems. If you don't mind, please go thru also. Thank you very much.



Inventory

---------

1. Please check out CompanyMaintenance form. It demonstrates IncludeInFormAdd issue. Run "Company" from Mainform.toolbar and click new button.

2. Please check out CompanyMaintenance2 form. It demonstrates problem of drop childformdialog on user control. Run "Company2" from Mainform.toolbar and click "Country" linklabel directly.





JKFramework

------------

1. Try to drop linklabel/label control from JK.Framework.UI.Windows.Forms to SF form. VS will die.



Your help are appreciated.
Chan
Chan
Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
Hi,

Forgot to upload DDT package. Here it is.
Chan
Chan
Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
In case you need this.



Sorry for any inconvinience
Trent Taylor
Trent Taylor
StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 7K
I cannot get your SQL backup to restore and I cannot use the PKG file because it is password protected.  Either send me the JKInventory.MDF file or give me the password to the PKG file...or give me a PKG file without a password.  Thanks.
Chan
Chan
Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
Sorry for that.



PKG is no password.

Attach JKInventory.MDF



Thank you
Trent Taylor
Trent Taylor
StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 7K
Please check out CompanyMaintenance form. It demonstrates IncludeInFormAdd issue. Run "Company" from Mainform.toolbar and click new button.

You had the IncludeInFormAdd property set to True on the Companies,Addresses, and Contacts.  You also had the Addresses and contacts ParentBusinessObject property set to companies.  In this instance the instantiation order is not controlled and you cannot control which Add() will occur first.  The InitializationPriority property is NOT respected here.  In your situation, let the Companies Add() be fired through the MaintenanceFormToolstrip.  In the AfterAddNew of the Coanies, add a new record to Addresses and Contacts.

Please check out CompanyMaintenance2 form. It demonstrates problem of drop childformdialog on user control. Run "Company2" from Mainform.toolbar and click "Country" linklabel directly.

All you have to do is set the ParentForm property of the ChildFormDialog.

this.CountryAddFormDialog.ParentForm = (MicroFour.StrataFrame.UI.Windows.Forms.BaseForm)this.ParentForm;
            if (this.CountryAddFormDialog.ShowDialog() == DialogResult.OK)
            {
                this.cboCountry.SelectedValue = this.countriesBO.CountryID;
            }

So I was right whe I said that you could drop the ChildFormDialog control on the user control.  You just have to set the ParentForm property.

Attached is your corrected project.

Attachments
FixedInventory.zip (116 views, 1.00 MB)
Chan
Chan
Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
Hi,

Thank you for checking.



Any ideas for the issue below?



JKFramework

------------

1. Try to drop linklabel/label control from JK.Framework.UI.Windows.Forms to SF form. VS will die.

Chan
Chan
Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)Advanced StrataFrame User (965 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
hi,

I tried the "fixedInventory". FYI, it doesn't work. It still hit error unless I add these code as mentioned in other thread.



this._CompaniesBO.ChildAutoFilterOption = AutoChildFilterOptions.Off;

this._CompanyAddressBO.Filter = "";

this._CompanyContactsBO.Filter = "";





Any ideas? When should I restore the ChildAutoFilterOption, Undo/AfterSave event?



Beside, when I click new button, business rules for CompanyAddressBO and CompanyContactsBO will broken. Error providers show little icon beside my controls to complaint for blank value. How to omit this?



Thank you
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search