public void RegisterDeleteOrderObject(OrderObject newObj)
        {
            Logger.info("Пользователь удалил оборудование", Logger.LoggerSource.objectsContext);
            try {
                if (!CurrentUser.AllowEditTree)
                {
                    throw new Exception("У вас нет прав редактировать оборудование");
                }
                VotGESOrdersEntities context = new VotGESOrdersEntities();
                VotGESOrders.Web.ADONETEntities.Orders orderDB = new Orders();
                OrderObjects objDB = (from o in context.OrderObjects where o.objectID == newObj.ObjectID select o).First();

                deleteOrderObject(context, objDB);
                //context.OrderObjects.DeleteObject(objDB);


                context.SaveChanges();
                OrderObject.init();
                Logger.info("===Сохранено", Logger.LoggerSource.objectsContext);
            } catch (Exception e) {
                Logger.error(String.Format("===Ошибка при удалении оборудования: {0}", e), Logger.LoggerSource.objectsContext);
                if (e is Exception)
                {
                    throw e;
                }
                throw new Exception("Ошибка при удалении оборудования, возможно на оборудование (или дочернее оборудование) ссылаются заявки");
            }
        }
        protected void deleteOrderObject(VotGESOrdersEntities context, OrderObjects obj)
        {
            IQueryable <OrderObjects> childs = (from o in context.OrderObjects where o.parentID == obj.objectID select o);

            foreach (OrderObjects child in childs)
            {
                deleteOrderObject(context, child);
            }
            context.DeleteObject(obj);
        }
示例#3
0
        protected void fillData(VotGESOrdersEntities context, List <string> data, OrderObjects par, string level)
        {
            IQueryable <OrderObjects> objects = from OrderObjects o in context.OrderObjects where o.parentID == par.objectID select o;

            data.Add(level + par.objectName);
            foreach (OrderObjects obj in objects)
            {
                fillData(context, data, obj, level + "=");
            }
        }
示例#4
0
 public static OrderObject getFromDB(OrderObjects objectDB)
 {
     try {
         OrderObject obj = new OrderObject();
         obj.ObjectName     = objectDB.objectName;
         obj.ObjectID       = objectDB.objectID;
         obj.ParentObjectID = objectDB.parentID;
         obj.ShowInFullName = objectDB.showInFullName;
         return(obj);
     } catch (Exception e) {
         Logger.error(String.Format("Ошибка при получении информации об оборудовании: {0}", e), Logger.LoggerSource.server);
     }
     return(null);
 }
        public void RegisterChangeOrderObject(OrderObject newObj)
        {
            Logger.info("Пользователь изменил оборудование", Logger.LoggerSource.objectsContext);
            try {
                if (!CurrentUser.AllowEditTree)
                {
                    throw new Exception("У вас нет прав редактировать оборудование");
                }
                VotGESOrdersEntities context = new VotGESOrdersEntities();

                IQueryable <OrderObjects> objectsDB = (from o in context.OrderObjects where o.objectID == newObj.ObjectID select o);
                OrderObjects objDB = null;
                if (objectsDB.Count() == 0)
                {
                    Logger.info("===Новое оборудование", Logger.LoggerSource.objectsContext);
                    objDB = new OrderObjects();
                    context.OrderObjects.AddObject(objDB);
                }
                else
                {
                    objDB = objectsDB.First();
                }
                objDB.objectName     = newObj.ObjectName;
                objDB.parentID       = newObj.ParentObjectID;
                objDB.showInFullName = newObj.ShowInFullName;

                context.SaveChanges();

                newObj.ObjectID   = objDB.objectID;
                newObj.ObjectName = objDB.objectName;
                OrderObject.init();
                newObj.FullName = OrderObject.getByID(newObj.ObjectID).getFullName();
                Logger.info("===Сохранено", Logger.LoggerSource.objectsContext);
            } catch (Exception e) {
                Logger.error(String.Format("===Ошибка при изменении оборудования: {0}", e), Logger.LoggerSource.objectsContext);
                if (e is Exception)
                {
                    throw e;
                }
                throw new Exception("Ошибка при изменении/создании оборудования");
            }
        }