/// <summary>
 /// Initializes a new DataAttribute instance
 /// </summary>
 /// <param name="Name">Attribute name</param>
 public DataAttribute(string Name, BaseERElement Parent)
 {
     this.Name    = Name;
     this.Parent  = Parent;
     IsIdentifier = false;
     Children     = new List <DataAttribute>();
 }
 /// <summary>
 /// Initializes a new DataAttribute instance
 /// </summary>
 /// <param name="Name">Attribute name</param>
 /// <param name="Identifier">Is this attribute an identifier</param>
 /// <param name="Children">Child attributes</param>
 public DataAttribute(string Name, BaseERElement Parent, bool Identifier, List <DataAttribute> Children)
 {
     this.Name         = Name;
     this.Parent       = Parent;
     this.IsIdentifier = Identifier;
     this.Children     = Children;
 }
 /// <summary>
 /// Initializes a new DataAttribute instance
 /// </summary>
 /// <param name="Name">Attribute name</param>
 /// <param name="Identifier">Is this attribute an identifier</param>
 public DataAttribute(string Name, BaseERElement Parent, bool Identifier)
 {
     this.Name         = Name;
     this.Parent       = Parent;
     this.IsIdentifier = Identifier;
     Children          = new List <DataAttribute>();
 }
Example #4
0
        /// <summary>
        /// Initialize a new MapRule instance
        /// </summary>
        /// <param name="Source"></param>
        /// <param name="Target"></param>
        /// <param name="Rules"></param>
        public MapRule(BaseERElement Source, MongoDBCollection Target, bool IsMain = true)
        {
            this.Source = Source;
            this.Target = Target;

            this.Rules = new Dictionary <string, string>();

            this.IsMain = IsMain;
        }
        /// <summary>
        /// Initialize a new instance of DataAttribute
        /// </summary>
        /// <param name="Name"></param>
        /// <param name="OfType"></param>
        /// <param name="Parent"></param>
        /// <param name="Identifier"></param>
        public DataAttribute(string Name, string OfType, BaseERElement Parent, bool MultiValued, bool Identifier)
        {
            this.Name         = Name;
            this.OfType       = OfType;
            this.Parent       = Parent;
            this.MultiValued  = MultiValued;
            this.IsIdentifier = Identifier;

            Children = new List <DataAttribute>();
        }
Example #6
0
        /// <summary>
        /// Find the main collection of an er element
        /// </summary>
        /// <param name="Source"></param>
        /// <returns></returns>
        public MongoDBCollection FindMainCollection(BaseERElement Source)
        {
            MapRule MainRule = FindMainRule(Source);

            if (MainRule != null)
            {
                return(MainRule.Target);
            }

            return(null);
        }
Example #7
0
 /// <summary>
 /// Initialize a new instance of VirtualRule
 /// </summary>
 /// <param name="SourceEntity"></param>
 /// <param name=""></param>
 public VirtualRule(BaseERElement SourceEntity, string Alias = null)
 {
     this.SourceERElement = SourceEntity;
     this.Alias           = Alias;
     Rules = new Dictionary <string, string>();
 }
Example #8
0
 /// <summary>
 /// Find rule between an erelement and mongodb collection
 /// </summary>
 /// <param name="Source"></param>
 /// <param name="Target"></param>
 /// <returns></returns>
 public MapRule FindRule(BaseERElement Source, MongoDBCollection Target)
 {
     return(Rules.FirstOrDefault(R => R.Source.Name == Source.Name && R.Target.Name == Target.Name));
 }
Example #9
0
 /// <summary>
 /// Find the main mapping for the given ERElement
 /// </summary>
 /// <param name="Source"></param>
 /// <returns></returns>
 public MapRule FindMainRule(BaseERElement Source)
 {
     return(Rules.FirstOrDefault(R => R.Source.Name == Source.Name && R.IsMain));
 }
Example #10
0
 /// <summary>
 /// Find rules that have the given ERElement as source
 /// </summary>
 /// <param name="Source"></param>
 /// <returns></returns>
 public List <MapRule> FindRules(BaseERElement Source)
 {
     return(Rules.Where(R => R.Source == Source).ToList());
 }
 /// <summary>
 /// Initialize a new instance of JoinableEntity
 /// </summary>
 /// <param name="Alias"></param>
 /// <param name="Element"></param>
 public QueryableEntity(BaseERElement Element, string Alias = null)
 {
     this.Element = Element;
     this.Alias   = Alias;
 }