Beispiel #1
0
        public void SaveObject(ObjectDTO ObjectDto)
        {
            using (var context = new MySecurityEntities())
            {
                Object dbObject = ToObjectDB(ObjectDto, context);

                if (dbObject.ID == 0)
                {
                    context.Objects.Add(dbObject);
                }
                context.SaveChanges();
            }
        }
Beispiel #2
0
        private Object ToObjectDB(ObjectDTO ObjectDto, MySecurityEntities context)
        {
            Object dbObject = null;

            if (ObjectDto.ID == 0)
            {
                dbObject = new Object();
            }
            else
            {
                dbObject = context.Objects.First(x => x.ID == ObjectDto.ID);
            }

            dbObject.ObjectName              = ObjectDto.ObjectName;
            dbObject.Category                = ObjectDto.Category;
            dbObject.ParentID                = ObjectDto.ParentID;
            dbObject.ItemIdentity            = ObjectDto.ItemIdentity;
            dbObject.NeedsExplicitPermission = ObjectDto.NeedsExplicitPermission;

            return(dbObject);
        }
Beispiel #3
0
     public void ExtractObjectsFromDB()
     {
         using (var myProjectContext = new MyProjectEntities())
         {
             using (var mySecurityContext = new MySecurityEntities())
             {
                 foreach (var database in myProjectContext.DatabaseInformation)
                 {
                     var dbObject = mySecurityContext.Objects.FirstOrDefault(x => x.ObjectName == database.Name && x.Category == "Database");
                     if (dbObject == null)
                     {
                         dbObject = new Object()
                         {
                             ObjectName = database.Name, Category = "Database"
                         }
                     }
                     ;
                     foreach (var schema in myProjectContext.TableDrivedEntity.Where(x => x.Table.Catalog == database.Name).GroupBy(x => x.Table.RelatedSchema))
                     {
                         var schemaName = "";
                         if (string.IsNullOrEmpty(schema.Key))
                         {
                             schemaName = "Default Schema";
                         }
                         else
                         {
                             schemaName = schema.Key;
                         }
                         var schemaObject = mySecurityContext.Objects.FirstOrDefault(x => x.Object2.ObjectName == dbObject.ObjectName && x.ObjectName == schemaName && x.Category == "Schema");
                         if (schemaObject == null)
                         {
                             schemaObject = new Object()
                             {
                                 ObjectName = schemaName, Category = "Schema"
                             };
                             dbObject.Object1.Add(schemaObject);
                         }
                         foreach (var entity in schema)
                         {
                             var tableObject = mySecurityContext.Objects.FirstOrDefault(x => x.Object2.Object2.ObjectName == dbObject.ObjectName && x.ObjectName == entity.Name && x.Category == "Entity");
                             if (tableObject == null)
                             {
                                 tableObject = new Object()
                                 {
                                     ItemIdentity = entity.ID, NeedsExplicitPermission = true, ObjectName = entity.Name, Category = "Entity"
                                 };
                                 schemaObject.Object1.Add(tableObject);
                             }
                             List <Column> columns = null;
                             if (entity.Column.Any())
                             {
                                 columns = entity.Column.ToList();
                             }
                             else
                             {
                                 columns = entity.Table.Column.ToList();
                             }
                             foreach (var column in columns)
                             {
                                 var columnObject = mySecurityContext.Objects.FirstOrDefault(x => x.Object2.Object2.Object2.ObjectName == dbObject.ObjectName && x.Object2.ObjectName == tableObject.ObjectName && x.ObjectName == column.Name && x.Category == "Column");
                                 if (columnObject == null)
                                 {
                                     columnObject = new Object()
                                     {
                                         ItemIdentity = column.ID, ObjectName = column.Name, Category = "Column"
                                     };
                                     tableObject.Object1.Add(columnObject);
                                 }
                             }
                         }
                     }
                     if (dbObject.ID == 0)
                     {
                         mySecurityContext.Objects.Add(dbObject);
                     }
                 }
                 mySecurityContext.SaveChanges();
             }
         }
     }
 }
Beispiel #4
0
        //public List<ObjectDTO> GetAllRootObjects()
        //{
        //    var context = new MySecurityEntities();
        //    return ToObjectDTOList(context.Objects.Where(x=>x.ParentID==null).ToList());
        //}

        public List <ObjectDTO> GetObjectsByParentID(int?parentID)
        {
            var context = new MySecurityEntities();

            return(ToObjectDTOList(context.Objects.Where(x => x.ParentID == parentID).ToList()));
        }