Yep, that was other problem.

I've exported all classes, dropped namespace and database, created all as new namespace and import the classes.

Now, the message viewer works (fortunatly it is a DEV environment), compiled all via terminal.

However, sometimes the error about SendSuperSession appear intermittently, often when there are some request at the same time

It seem that works... but sometime I have an error, but I'm not able to check what is happend because the message viewer doesn't display the trace.

Always it's displaying an error

I've solved this problem just adding a Default setting for SendSuperSession

I know, this is not the best way to fix it.. but it works ;)

Yep, brace always.

Because you will never know if you need to update your condition or chain another. The brace shows what is the scope of the condition, also for loops, for, for each, etc.

It is a good practices and it is more readable.

As Eduard Lebedyuk   has commented, a single IF for use to set a variable, the postconditionals is a good idea, coz you know the condition before to set.

The idea is to copy only the common properties.

If you see the definition of PersonalInfo and NameInfo, both are different classes.

The unique union between both classes is Kurro.Utils.Functions

He does not know what properties the target class obtained, he only knows his own properties and makes a list of methods to copy from the current class to the target class.

This method is compiled, therefore, you need to verify if the destination property exists in the target class at run time. This method is created "on fly" when you create a new instance of this class. Do you know if the property "Name" will be in the object passed as a parameter? Maybe not, so you should check if this property exists in the target.

makes sense?

I hope I have solved the doubt, or maybe I do not understand your question.


I've created this method to check if a property exitsts because the method generator doesn't knows if the property exists in the target class in runtime.

If you debug the code you can see the compiled code:

zCopyProps(obj) public {
 If (obj.ExistsProperty("Code")) set obj.Code=..Code 
 If (obj.ExistsProperty("DateOfBirthday")) set obj.DateOfBirthday=..DateOfBirthday 
 If (obj.ExistsProperty("FirstName")) set obj.FirstName=..FirstName 
 If (obj.ExistsProperty("PassportId")) set obj.PassportId=..PassportId 
 If (obj.ExistsProperty("SecondName")) set obj.SecondName=..SecondName }

so, in runtime, there is no a quick way to check if this property exists to prevent an exception error.