Ejemplo n.º 1
0
 public bool AddOrUpdateAutodeskFile(AutodeskFile file, bool overwrite, BXCModelEntities context = null)
 {
     context = context ?? new BXCModelEntities();
     var fileRepo = new AutodeskFileRepository(context);
     var existingFile = fileRepo.GetByNameAndOwner(file.Name, file.MC_OwnerId);
     if (existingFile == null)
     {
         fileRepo.InsertFile(file);
     }
     else
     {
         existingFile.TypeCatalogHeader = file.TypeCatalogHeader;
         fileRepo.UpdateFile(existingFile);
     }
     return true;
 }
Ejemplo n.º 2
0
        public void AddItem(Item item, AutodeskFile file)
        {
            var newItem = new Item
                              {
                                  Name = item.Name,
                                  TypeCatalogEntry = item.TypeCatalogEntry,
                                  AutodeskFile = file
                              };
            _context.AddObject("Items", newItem);
            _context.SaveChanges();
            foreach (var param in item.Parameters)
            {
                GetParameter(param.SearchName.Name, param.SearchValue.Value, newItem.Id);
            }

            _context.SaveChanges();
        }
Ejemplo n.º 3
0
        public void CreateTreeNodes(AutodeskFile file, string treePath)
        {
            //add tree nodes
            var nodes = treePath.Split('/');
            var libraryName = nodes[0];
            var root = GetOrCreateTreeNode(null, libraryName, libraryName);
            var fileTreeNode = new AutodeskFileTreeNode {AutodeskFile = file, TreeNode = root};
            _context.AddObject("AutodeskFileTreeNodes", fileTreeNode);
            _context.SaveChanges();
            var parent = root;

            for (var i = 1; i < nodes.Count(); i++)
            {
                var treeNode = GetOrCreateTreeNode(parent, nodes[i], libraryName);
                fileTreeNode = new AutodeskFileTreeNode {AutodeskFile = file, TreeNode = parent};
                _context.AddObject("AutodeskFileTreeNodes", fileTreeNode);
                _context.SaveChanges();
                parent = treeNode;
            }
        }
Ejemplo n.º 4
0
        public void DeleteFile(AutodeskFile file)
        {
            //delete all item parameters
            foreach (var item in file.Items)
            {
                foreach (var param in item.Parameters)
                {
                    _context.DeleteObject(param);
                }
                _context.SaveChanges();
                _context.DeleteObject(item);
                _context.SaveChanges();
            }
            foreach (var node in file.AutodeskFileTreeNodes)
            {
                _context.DeleteObject(node);
            }

            _context.DeleteObject(file);
            _context.SaveChanges();
        }
Ejemplo n.º 5
0
 public void UpdateFile(AutodeskFile file)
 {
     RemoveAllItems(file);
     _context.SaveChanges();
 }
Ejemplo n.º 6
0
        public void RemoveAllItems(AutodeskFile file)
        {
            Expression<Func<Item, bool>> expr = i => i.AutodeskFile.Id == file.Id;
            var items = _context.Items.Where(expr).ToList();
            foreach (var item in items)
            {
                Expression<Func<Parameter, bool>> paramExpr = p => p.Item.Id == item.Id;
                var parameters =
                    _context.Parameters.Where(paramExpr);
                foreach (var p in parameters)
                {
                    _context.DeleteObject(p);

                }
                _context.DeleteObject(item);
                _context.SaveChanges();
            }
        }
Ejemplo n.º 7
0
 public void InsertFile(AutodeskFile file)
 {
     Expression<Func<AutodeskFile, bool>> expr = a => a.Name == file.Name && a.MC_OwnerId == file.MC_OwnerId;
     var existingFile = _context.AutodeskFiles.Where(expr).FirstOrDefault();
     if (existingFile == null)
     {
         _context.AddObject("AutodeskFiles", file);
         _context.SaveChanges();
     }
 }