init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,268 @@
|
|||
//***************************************************************************//
|
||||
// Nevet generál egy entitáslista DA-jának //
|
||||
//***************************************************************************//
|
||||
proc GenerateEntityCollectionDAName(startrole, endrole)
|
||||
return [startrole] "_" [endrole] "_DA";
|
||||
end proc
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Legenerálja a magadott osztályhoz tartozó entitáslista DA-inak tejles //
|
||||
// forráskódját //
|
||||
//***************************************************************************//
|
||||
template GenerateEntityCollectionDAs(MClass)
|
||||
[loop (MClass -> MAssociation as CurrentAssoc -> MAssociationEnd as StartRole -> MClass as StartClass where (GetStereoType([StartClass]) == "Entity"))]
|
||||
[loop (CurrentAssoc -> MAssociationEnd as EndRole -> MClass as EndClass where([StartRole.id] < [EndRole.id] and GetStereoType([EndClass]) == "Entity" ))]
|
||||
[if (([StartRole.multiplicity] == "0..*") or ([StartRole.multiplicity] == "1..*") or ([StartRole.multiplicity] == "*"))]
|
||||
internal class [GenerateEntityCollectionDAName([EndClass.name], DefineRoleName([StartRole]))] : EntityCollectionDA<[EndClass.name], [MClass.name]>
|
||||
{
|
||||
internal protected [GenerateEntityCollectionDAName([EndClass.name], DefineRoleName([StartRole]))]([EndClass.name] owner)
|
||||
: base(owner)
|
||||
{
|
||||
}
|
||||
|
||||
private const string m_Filter = @" and ([ConvertNameToSQLTableName([MClass.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))] = :[ConvertNameToCommandParameterName("ID")]) ";
|
||||
|
||||
public override void LoadCollection(IAssociatedEntityCollection<[MClass.name]> collection)
|
||||
{
|
||||
new [MClass.name]DBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID);
|
||||
}
|
||||
|
||||
public override void AddItem([MClass.name] entity)
|
||||
{
|
||||
entity.[ConvertRoleToName([EndRole])] = Owner.ID;
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([StartRole])], [GetRoleClassName([EndRole])]>("[DefineRoleName([StartRole])]_[DefineRoleName([EndRole])]");
|
||||
assochandler.BeforeInsert(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([EndRole])], [GetRoleClassName([StartRole])]>("[DefineRoleName([EndRole])]_[DefineRoleName([StartRole])]");
|
||||
assochandler.BeforeInsert(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
entity.Insert(true);
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.AfterInsert(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
assochandler.AfterInsert(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
}
|
||||
|
||||
public override void DeleteItem([MClass.name] entity)
|
||||
{
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([StartRole])], [GetRoleClassName([EndRole])]>("[DefineRoleName([StartRole])]_[DefineRoleName([EndRole])]");
|
||||
assochandler.BeforeDelete(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([EndRole])], [GetRoleClassName([StartRole])]>("[DefineRoleName([EndRole])]_[DefineRoleName([StartRole])]");
|
||||
assochandler.BeforeDelete(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
entity.Delete(true); // egyszeruen töröljük az asszociációs osztályt
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.AfterDelete(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
assochandler.AfterDelete(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
}
|
||||
}
|
||||
|
||||
[end if]
|
||||
[if (([EndRole.multiplicity] == "0..*") or ([EndRole.multiplicity] == "1..*") or ([EndRole.multiplicity] == "*"))]
|
||||
internal class [GenerateEntityCollectionDAName([StartClass.name], DefineRoleName([EndRole]))] : EntityCollectionDA<[StartClass.name], [MClass.name]>
|
||||
{
|
||||
internal protected [GenerateEntityCollectionDAName([StartClass.name], DefineRoleName([EndRole]))]([StartClass.name] owner)
|
||||
: base(owner)
|
||||
{
|
||||
}
|
||||
|
||||
private const string m_Filter = @" and ([ConvertNameToSQLTableName([MClass.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([StartRole]))] = :[ConvertNameToCommandParameterName("ID")]) ";
|
||||
|
||||
public override void LoadCollection(IAssociatedEntityCollection<[MClass.name]> collection)
|
||||
{
|
||||
new [MClass.name]DBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID);
|
||||
}
|
||||
|
||||
public override void AddItem([MClass.name] entity)
|
||||
{
|
||||
entity.[ConvertRoleToName([StartRole])] = Owner.ID;
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([StartRole])], [GetRoleClassName([EndRole])]>("[DefineRoleName([StartRole])]_[DefineRoleName([EndRole])]");
|
||||
assochandler.BeforeInsert(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([EndRole])], [GetRoleClassName([StartRole])]>("[DefineRoleName([EndRole])]_[DefineRoleName([StartRole])]");
|
||||
assochandler.BeforeInsert(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
entity.Insert(true);
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.AfterInsert(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
assochandler.AfterInsert(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
}
|
||||
|
||||
public override void DeleteItem([MClass.name] entity)
|
||||
{
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([StartRole])], [GetRoleClassName([EndRole])]>("[DefineRoleName([StartRole])]_[DefineRoleName([EndRole])]");
|
||||
assochandler.BeforeDelete(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([EndRole])], [GetRoleClassName([StartRole])]>("[DefineRoleName([EndRole])]_[DefineRoleName([StartRole])]");
|
||||
assochandler.BeforeDelete(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
entity.Delete(true); // egyszeruen töröljük az asszociációs osztályt
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.AfterDelete(entity.[DefineRoleName([StartRole])], entity.[DefineRoleName([EndRole])]);
|
||||
[else]
|
||||
assochandler.AfterDelete(entity.[DefineRoleName([EndRole])], entity.[DefineRoleName([StartRole])]);
|
||||
[end if]
|
||||
}
|
||||
}
|
||||
[end if]
|
||||
[end loop]
|
||||
[end loop]
|
||||
|
||||
[loop (MClass -> Role as StartRole -> MAssociation as CurrentAssoc -> MAssociationEnd as EndRole -> MClass as PartnerClass where (GetStereoType([PartnerClass]) == "Entity"))]
|
||||
[if ([StartRole.id] != [EndRole.id])]
|
||||
[if (HasAssociationClass([CurrentAssoc]) == "")]
|
||||
[if ([StartRole.multiplicity] == "*" or [StartRole.multiplicity] == "1..*" or [StartRole.multiplicity] == "0..*")]
|
||||
[if (([PartnerClass.name] != [MClass.name]) or ([PartnerClass.name] == [MClass.name] and [MClass.name] != DefineRoleName([StartRole])))]
|
||||
|
||||
/// <summary>
|
||||
/// Az osztály elvégzi az UML modell '[PartnerClass.name] -> [MClass.name] ([DefineRoleName([StartRole])])'
|
||||
/// asszociációjának teljes kezelését.
|
||||
/// </summary>
|
||||
internal class [GenerateEntityCollectionDAName([PartnerClass.name], DefineRoleName([StartRole]))] : EntityCollectionDA<[PartnerClass.name], [MClass.name]>
|
||||
{
|
||||
internal protected [GenerateEntityCollectionDAName([PartnerClass.name], DefineRoleName([StartRole]))]([PartnerClass.name] owner)
|
||||
: base(owner)
|
||||
{
|
||||
}
|
||||
|
||||
[if ([EndRole.multiplicity] == "0..1" or [EndRole.multiplicity] == "1")]
|
||||
// Nincs kapcsolótábla
|
||||
private const string m_Filter = @" and ([ConvertNameToSQLTableName([MClass.name])].[ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))] = :[ConvertNameToCommandParameterName("ID")]) ";
|
||||
[else]
|
||||
// Kapcsolótábla van
|
||||
private const string m_Filter = @" and (exists (select 1 from [ConvertNameToSQLTableScript(ConvertAssociationRolesToSwitchTableName([EndRole],[StartRole]))] where [ConvertNameToSQLColumnName(ConvertRoleToName([StartRole]))] = [ConvertNameToSQLTableName([MClass.name])].ID and [ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))] = :[ConvertNameToCommandParameterName("ID")])) ";
|
||||
[end if]
|
||||
|
||||
public override void LoadCollection(IAssociatedEntityCollection<[MClass.name]> collection)
|
||||
{
|
||||
new [MClass.name]DBHelper().LoadByPartnerId(collection, m_Filter, Owner.ID);
|
||||
}
|
||||
|
||||
private static [GetCSharpSQLCommandType()] [GenerateCommandCreatorName("Insert" DefineRoleName([StartRole]))]()
|
||||
{
|
||||
[GetCSharpSQLCommandType()] result = new [GetCSharpSQLCommandType()]();
|
||||
[if ([EndRole.multiplicity] == "0..1" or [EndRole.multiplicity] == "1")]
|
||||
// nincs kapcsolótábla...
|
||||
result.CommandText = @"update [ConvertNameToSQLTableName([MClass.name])] set [ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))] where (ID = :[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))])";
|
||||
[else]
|
||||
// kapcsolótábla van...
|
||||
result.CommandText = @"insert into [ConvertNameToSQLTableScript(ConvertAssociationRolesToSwitchTableName([EndRole],[StartRole]))] ([ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))], [ConvertNameToSQLColumnName(ConvertRoleToName([StartRole]))]) values (:[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))], :[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))])";
|
||||
[end if]
|
||||
result.Parameters.Add("[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))]", [GetCSharpSQLIDType()]);
|
||||
result.Parameters.Add("[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))]", [GetCSharpSQLIDType()]);
|
||||
return result;
|
||||
}
|
||||
|
||||
private void DoAdd([PartnerClass.name] owner, [MClass.name] partner)
|
||||
{
|
||||
using ([GetCSharpSQLCommandType()] command = [GenerateCommandCreatorName("Insert" DefineRoleName([StartRole]))]())
|
||||
{
|
||||
[GenerateCommandInit("command")]
|
||||
command.Parameters\["[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))]"\].Value = owner.ID;
|
||||
command.Parameters\["[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))]"\].Value = partner.ID;
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
public override void AddItem([MClass.name] entity)
|
||||
{
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([StartRole])], [GetRoleClassName([EndRole])]>("[DefineRoleName([StartRole])]_[DefineRoleName([EndRole])]");
|
||||
[else]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([EndRole])], [GetRoleClassName([StartRole])]>("[DefineRoleName([EndRole])]_[DefineRoleName([StartRole])]");
|
||||
[end if]
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.BeforeInsert(entity, this.Owner);
|
||||
[else]
|
||||
assochandler.BeforeInsert(this.Owner, entity);
|
||||
[end if]
|
||||
[if ([EndRole.multiplicity] == "1")]
|
||||
entity.Modify[DefineRoleName([EndRole])](this.Owner);
|
||||
if (entity.State == EntityState.Modified)
|
||||
{
|
||||
entity.UpdateAssociations(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.Insert(true);
|
||||
}
|
||||
[else]
|
||||
this.DoAdd(this.Owner, entity);
|
||||
[end if]
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.AfterInsert(entity, this.Owner);
|
||||
[else]
|
||||
assochandler.AfterInsert(this.Owner, entity);
|
||||
[end if]
|
||||
}
|
||||
|
||||
private static [GetCSharpSQLCommandType()] [GenerateCommandCreatorName("Delete" DefineRoleName([StartRole]))]()
|
||||
{
|
||||
[GetCSharpSQLCommandType()] result = new [GetCSharpSQLCommandType()]();
|
||||
[if ([EndRole.multiplicity] == "0..1" or [EndRole.multiplicity] == "1")]
|
||||
// nincs kapcsolótábla...
|
||||
result.CommandText = @"update [ConvertNameToSQLTableName([MClass.name])] set [ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))] = null where ([ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))] and ID = :[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))])";
|
||||
[else]
|
||||
// kapcsolótábla van...
|
||||
result.CommandText = @"delete from [ConvertNameToSQLTableScript(ConvertAssociationRolesToSwitchTableName([EndRole],[StartRole]))] where ([ConvertNameToSQLColumnName(ConvertRoleToName([EndRole]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))]) and ([ConvertNameToSQLColumnName(ConvertRoleToName([StartRole]))] = :[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))])";
|
||||
[end if]
|
||||
result.Parameters.Add("[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))]", [GetCSharpSQLIDType()]);
|
||||
result.Parameters.Add("[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))]", [GetCSharpSQLIDType()]);
|
||||
return result;
|
||||
}
|
||||
|
||||
private void DoRemove([PartnerClass.name] owner, [MClass.name] partner)
|
||||
{
|
||||
using ([GetCSharpSQLCommandType()] command = [GenerateCommandCreatorName("Delete" DefineRoleName([StartRole]))]())
|
||||
{
|
||||
[GenerateCommandInit("command")]
|
||||
command.Parameters\["[ConvertNameToCommandParameterName(ConvertRoleToName([EndRole]))]"\].Value = owner.ID;
|
||||
command.Parameters\["[ConvertNameToCommandParameterName(ConvertRoleToName([StartRole]))]"\].Value = partner.ID;
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
public override void DeleteItem([MClass.name] entity)
|
||||
{
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([StartRole])], [GetRoleClassName([EndRole])]>("[DefineRoleName([StartRole])]_[DefineRoleName([EndRole])]");
|
||||
[else]
|
||||
var assochandler = AssociationHandlerManager.Create<[GetRoleClassName([EndRole])], [GetRoleClassName([StartRole])]>("[DefineRoleName([EndRole])]_[DefineRoleName([StartRole])]");
|
||||
[end if]
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.BeforeDelete(entity, this.Owner);
|
||||
[else]
|
||||
assochandler.BeforeDelete(this.Owner, entity);
|
||||
[end if]
|
||||
[if ([EndRole.multiplicity] == "1")]
|
||||
entity.Delete(true);
|
||||
[else]
|
||||
this.DoRemove(this.Owner, entity);
|
||||
[end if]
|
||||
[if ([StartRole.id] < [EndRole.id])]
|
||||
assochandler.AfterDelete(entity, this.Owner);
|
||||
[else]
|
||||
assochandler.AfterDelete(this.Owner, entity);
|
||||
[end if]
|
||||
}
|
||||
}
|
||||
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end if]
|
||||
[end loop]
|
||||
end template
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue