
#import "b4i_person.h"
#import "b4i_main.h"


@implementation b4i_person 


+ (B4I*)createBI {
    return [B4IShellBI alloc];
}

- (void)dealloc {
    if (self.bi != nil)
        NSLog(@"Class (b4i_person) instance released.");
}

- (NSString*)  _initialize:(b4i_person*) __ref :(B4I*) _ba :(NSString*) _firstname :(NSString*) _lastname :(long long) _birthdate{
__ref = self;
[self initializeClassModule];
[B4IRDebugUtils shared].currentModule=@"person";
if ([B4IDebug shouldDelegate: @"initialize"])
	return ((NSString*) [B4IDebug delegate:self.bi :@"initialize::::" :@[_ba,_firstname,_lastname,@(_birthdate)]]);
[B4IRDebugUtils shared].currentLine=327680;
 //BA.debugLineNum = 327680;BA.debugLine="Sub Initialize (FirstName As String, LastName As S";
[B4IRDebugUtils shared].currentLine=327681;
 //BA.debugLineNum = 327681;BA.debugLine="mFirstName = FirstName";
__ref._mfirstname = _firstname;
[B4IRDebugUtils shared].currentLine=327682;
 //BA.debugLineNum = 327682;BA.debugLine="mLastName = LastName";
__ref._mlastname = _lastname;
[B4IRDebugUtils shared].currentLine=327683;
 //BA.debugLineNum = 327683;BA.debugLine="mBirthDate = BirthDate";
__ref._mbirthdate = _birthdate;
[B4IRDebugUtils shared].currentLine=327684;
 //BA.debugLineNum = 327684;BA.debugLine="End Sub";
return @"";
}
- (int)  _getcurrentage:(b4i_person*) __ref{
__ref = self;
[B4IRDebugUtils shared].currentModule=@"person";
if ([B4IDebug shouldDelegate: @"getcurrentage"])
	return ((NSNumber*) [B4IDebug delegate:self.bi :@"getcurrentage" :nil]).intValue;
[B4IRDebugUtils shared].currentLine=458752;
 //BA.debugLineNum = 458752;BA.debugLine="Public Sub GetCurrentAge As Int";
[B4IRDebugUtils shared].currentLine=458753;
 //BA.debugLineNum = 458753;BA.debugLine="Return GetAgeAt(DateTime.Now)";
if (true) return [__ref _getageat:nil :[[self.__c DateTime] Now]];
[B4IRDebugUtils shared].currentLine=458754;
 //BA.debugLineNum = 458754;BA.debugLine="End Sub";
return 0;
}
- (NSString*)  _class_globals:(b4i_person*) __ref{
__ref = self;
self._main=[b4i_main new];
[B4IRDebugUtils shared].currentModule=@"person";
[B4IRDebugUtils shared].currentLine=262144;
 //BA.debugLineNum = 262144;BA.debugLine="Sub Class_Globals";
[B4IRDebugUtils shared].currentLine=262145;
 //BA.debugLineNum = 262145;BA.debugLine="Private mFirstName, mLastName As String";
self._mfirstname = @"";
self._mlastname = @"";
[B4IRDebugUtils shared].currentLine=262146;
 //BA.debugLineNum = 262146;BA.debugLine="Private mBirthDate As Long";
self._mbirthdate = 0L;
[B4IRDebugUtils shared].currentLine=262147;
 //BA.debugLineNum = 262147;BA.debugLine="End Sub";
return @"";
}
- (int)  _getageat:(b4i_person*) __ref :(long long) _date{
__ref = self;
[B4IRDebugUtils shared].currentModule=@"person";
if ([B4IDebug shouldDelegate: @"getageat"])
	return ((NSNumber*) [B4IDebug delegate:self.bi :@"getageat:" :@[@(_date)]]).intValue;
long long _diff = 0L;
[B4IRDebugUtils shared].currentLine=524288;
 //BA.debugLineNum = 524288;BA.debugLine="Public Sub GetAgeAt(Date As Long) As Int";
[B4IRDebugUtils shared].currentLine=524289;
 //BA.debugLineNum = 524289;BA.debugLine="Dim diff As Long";
_diff = 0L;
[B4IRDebugUtils shared].currentLine=524290;
 //BA.debugLineNum = 524290;BA.debugLine="diff = Date - mBirthDate";
_diff = (long long) (_date-__ref._mbirthdate);
[B4IRDebugUtils shared].currentLine=524291;
 //BA.debugLineNum = 524291;BA.debugLine="Return Floor(diff / DateTime.TicksPerDay / 365)";
if (true) return (int) ([self.__c Floor:_diff/(double)[[self.__c DateTime] TicksPerDay]/(double)365]);
[B4IRDebugUtils shared].currentLine=524292;
 //BA.debugLineNum = 524292;BA.debugLine="End Sub";
return 0;
}
- (NSString*)  _getname:(b4i_person*) __ref{
__ref = self;
[B4IRDebugUtils shared].currentModule=@"person";
if ([B4IDebug shouldDelegate: @"getname"])
	return ((NSString*) [B4IDebug delegate:self.bi :@"getname" :nil]);
[B4IRDebugUtils shared].currentLine=393216;
 //BA.debugLineNum = 393216;BA.debugLine="Public Sub GetName As String";
[B4IRDebugUtils shared].currentLine=393217;
 //BA.debugLineNum = 393217;BA.debugLine="Return mFirstName & \" \" & mLastName";
if (true) return [@[__ref._mfirstname,@" ",__ref._mlastname] componentsJoinedByString:@""];
[B4IRDebugUtils shared].currentLine=393218;
 //BA.debugLineNum = 393218;BA.debugLine="End Sub";
return @"";
}
@end