/*
* Namespace Summary
* Copyright (C) 2005+ Bogdan Damian Constantin
* E-Mail: damianbcpetro@gmail.com
* WEB: http://www.sourceforge.net/projects/dataholder
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License 2.1 or later, as
* published by the Free Software Foundation. See the included License.txt
* or http://www.gnu.org/copyleft/lesser.html for details.
*
*/
using System;
namespace DataHolder.DataPersistence.DBAProvider{
/// <summary>
/// Summary description for DataRelation.
/// </summary>
public enum RelationDirection {MasterDetail = 1, DetailMaster = 2};
public class DataRelation
{
private RelationPropertyMapping [] l_RelationPropertyMapping;
private RelationDirection l_InsertOrder = RelationDirection.MasterDetail;
private RelationDirection l_UpdateOrder = RelationDirection.MasterDetail;
private RelationDirection l_DeleteOrder = RelationDirection.DetailMaster;
private bool l_LoadWithMaster = true;
private bool l_SaveWithMaster = true;
private string l_PropertyName;
public DataRelation(string p_PropertyName, RelationPropertyMapping [] p_RelationPropertyMapping)
{
l_PropertyName = p_PropertyName;
l_RelationPropertyMapping = p_RelationPropertyMapping;
}
public DataRelation(string p_PropertyName, RelationPropertyMapping [] p_RelationPropertyMapping
, RelationDirection p_InsertOrder, RelationDirection p_UpdateOrder
, RelationDirection p_DeleteOrder):this(p_PropertyName, p_RelationPropertyMapping)
{
l_InsertOrder = p_InsertOrder;
l_UpdateOrder = p_UpdateOrder;
l_DeleteOrder = p_DeleteOrder;
}
public DataRelation(string p_PropertyName, RelationPropertyMapping [] p_RelationPropertyMapping
, RelationDirection p_InsertOrder, RelationDirection p_UpdateOrder
, RelationDirection p_DeleteOrder
, bool p_LoadWithMaster, bool p_SaveWithMaster):this(p_PropertyName, p_RelationPropertyMapping, p_InsertOrder, p_UpdateOrder, p_DeleteOrder)
{
l_LoadWithMaster = p_LoadWithMaster;
l_SaveWithMaster = p_SaveWithMaster;
}
public string PropertyName
{
get{return l_PropertyName;}
}
public RelationPropertyMapping [] RelationPropertyMapping
{
get{return l_RelationPropertyMapping;}
}
public RelationDirection InsertOrder
{
get{return l_InsertOrder;}
}
public RelationDirection UpdateOrder
{
get{return l_UpdateOrder;}
}
public RelationDirection DeleteOrder
{
get{return l_DeleteOrder;}
}
public bool LoadWithMaster
{
get{return l_LoadWithMaster;}
}
public bool SaveWithMaster
{
get{return l_SaveWithMaster;}
}
}
}
|