public bool PropertyGroupPropertyRelation_Save(XPropertyGroupPropertyRelation relation)
        {
            List <SqlParameter> paramList = new List <SqlParameter>();

            paramList.Add(new SqlParameter("@Id", relation.Id));
            paramList.Add(new SqlParameter("@PropertyGroupId", relation.PropertyGroupId));
            paramList.Add(new SqlParameter("@PropertyId", relation.PropertyId));
            paramList.Add(new SqlParameter("@Order", relation.Index));
            paramList.Add(new SqlParameter("@IsRequired", relation.IsRequired));
            paramList.Add(new SqlParameter("@IsReadOnly", relation.IsReadOnly));

            if (string.IsNullOrEmpty(relation.DefaultValue))
            {
                paramList.Add(new SqlParameter("@DefaultValue", null));
            }
            else
            {
                paramList.Add(new SqlParameter("@DefaultValue", relation.DefaultValue));
            }

            paramList.Add(new SqlParameter("@Created", relation.Created));
            paramList.Add(new SqlParameter("@Deleted", relation.Deleted));
            paramList.Add(new SqlParameter("@CreatedBy", relation.CreatedBy));
            paramList.Add(new SqlParameter("@DeletedBy", relation.DeletedBy));

            if (base.ExecuteSql(spPropertyGroupPropertyRelation_Save, paramList))
            {
                relation.IsNew   = false;
                relation.IsDirty = false;

                return(true);
            }

            return(false);
        }
        public XPropertyGroupPropertyRelation PropertyGroupPropertyRelation_Get(Guid relationId)
        {
            List <SqlParameter>            paramList = null;
            XPropertyGroupPropertyRelation relation  = null;

            paramList = new List <SqlParameter>();
            paramList.Add(new SqlParameter("@Id", relationId));

            using (SqlDataReader rdr = base.OpenDataReader(spPropertyGroupPropertyRelation_Get, paramList))
            {
                if ((rdr == null) || (!rdr.HasRows))
                {
                    return(null);
                }

                relation = new XPropertyGroupPropertyRelation();

                rdr.Read();

                if (!rdr.IsDBNull(rdr.GetOrdinal("PropertyGroupId")))
                {
                    relation.PropertyGroupId = (Guid)rdr[rdr.GetOrdinal("PropertyGroupId")];
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("PropertyId")))
                {
                    relation.PropertyId = (Guid)rdr[rdr.GetOrdinal("PropertyId")];
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("Order")))
                {
                    relation.Index = rdr.GetInt32(rdr.GetOrdinal("Order"));
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("IsRequired")))
                {
                    relation.IsRequired = (bool)rdr[rdr.GetOrdinal("IsRequired")];
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("IsReadOnly")))
                {
                    relation.IsReadOnly = (bool)rdr[rdr.GetOrdinal("IsReadOnly")];
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("DefaultValue")))
                {
                    relation.DefaultValue = rdr.GetString(rdr.GetOrdinal("DefaultValue"));
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("Created")))
                {
                    relation.Created = (DateTime)rdr[rdr.GetOrdinal("Created")];
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("CreatedBy")))
                {
                    relation.CreatedBy = (Guid)rdr[rdr.GetOrdinal("CreatedBy")];
                }

                if (!rdr.IsDBNull(rdr.GetOrdinal("DeletedBy")))
                {
                    relation.DeletedBy = (Guid)rdr[rdr.GetOrdinal("DeletedBy")];
                }

                relation.Id      = relationId;
                relation.IsNew   = false;
                relation.IsDirty = false;

                return(relation);
            }
        }
        public List <XPropertyGroupPropertyRelation> PropertyGroupPropertyRelationList_GetByPropertyId(Guid propertyid)
        {
            List <XPropertyGroupPropertyRelation> list = new List <XPropertyGroupPropertyRelation>();

            List <SqlParameter> paramList = new List <SqlParameter>();

            paramList.Add(new SqlParameter("@Id", propertyid));

            using (SqlDataReader rdr = base.OpenDataReader(spPropertyGroupPropertyRelationList_GetByPropertyId, paramList))
            {
                if ((rdr == null) || (!rdr.HasRows))
                {
                    return(list);
                }

                //get the index of each property we are going to load
                int Id = rdr.GetOrdinal("Id");
                int PropertyGroupId = rdr.GetOrdinal("PropertyGroupId");
                int PropertyId      = rdr.GetOrdinal("PropertyId");
                int Order           = rdr.GetOrdinal("Order");
                int IsRequired      = rdr.GetOrdinal("IsRequired");
                int IsReadOnly      = rdr.GetOrdinal("IsReadOnly");
                int DefaultValue    = rdr.GetOrdinal("DefaultValue");
                int Created         = rdr.GetOrdinal("Created");
                int CreatedBy       = rdr.GetOrdinal("CreatedBy");
                int DeletedBy       = rdr.GetOrdinal("DeletedBy");

                while (rdr.Read())
                {
                    XPropertyGroupPropertyRelation relation = new XPropertyGroupPropertyRelation();

                    if (!rdr.IsDBNull(Id))
                    {
                        relation.Id = rdr.GetGuid(Id);
                    }

                    if (!rdr.IsDBNull(PropertyGroupId))
                    {
                        relation.PropertyGroupId = rdr.GetGuid(PropertyGroupId);
                    }

                    if (!rdr.IsDBNull(PropertyId))
                    {
                        relation.PropertyId = rdr.GetGuid(PropertyId);
                    }

                    if (!rdr.IsDBNull(Order))
                    {
                        relation.Index = rdr.GetInt32(Order);
                    }

                    if (!rdr.IsDBNull(IsRequired))
                    {
                        relation.IsRequired = (bool)rdr[IsRequired];
                    }

                    if (!rdr.IsDBNull(IsReadOnly))
                    {
                        relation.IsReadOnly = (bool)rdr[IsReadOnly];
                    }

                    if (!rdr.IsDBNull(DefaultValue))
                    {
                        relation.DefaultValue = rdr.GetString(DefaultValue);
                    }

                    if (!rdr.IsDBNull(Created))
                    {
                        relation.Created = (DateTime)rdr.GetValue(Created);
                    }

                    if (!rdr.IsDBNull(CreatedBy))
                    {
                        relation.CreatedBy = rdr.GetGuid(CreatedBy);
                    }

                    if (!rdr.IsDBNull(DeletedBy))
                    {
                        relation.DeletedBy = rdr.GetGuid(DeletedBy);
                    }

                    relation.IsNew = false;

                    relation.IsDirty = false;

                    list.Add(relation);
                }

                return(list);
            }
        }