Пример #1
0
        public static bool ExecuteProcess()
        {
            SHOLE.Execute.SHOLEConnector.CurrentConnector.Init(settings.SHServerAddress, settings.SHServerPort, settings.SHUserName, settings.SHPassword);
            var connected = SHOLE.Execute.SHOLEConnector.CurrentConnector.Connect();

            Database.SetInitializer(new DropCreateDatabaseIfModelChanges <DBModel>());

            var startTime = DateTime.Now;

            using (var db = new DBModel(settings.ConnectionString))
            {
                // Сначала загружаем все Goods элементы из нужных нам веток дерева
                foreach (var treeElement in db.TreeElementsNeed.ToList())
                {
                    var goodsTree = db.GoodsTree.FirstOrDefault(item => item.goodstree_abbr == treeElement.goodstree_abbr);
                    if (goodsTree != null)
                    {
                        StoreHouseAPI.LoadTree(db, (int)goodsTree.goodstree_rid);
                    }
                }

                // Теперь подгружаем их комплекты
                foreach (var goodsBase in db.GoodsBaseAttrs.Where(goodBase => goodBase.cm_base_rid != 0 && !db.CmHdrAttrs.Any(cmHDR => cmHDR.cm_base_rid == goodBase.cm_base_rid)).ToList())
                {
                    StoreHouseAPI.LoadGoodsComplects(db, goodsBase.cm_base_rid);
                }

                // Напоследок загружаем листы комплектов
                StoreHouseAPI.LoadComplectsList(db);
                SHOLE.Execute.SHOLEConnector.CurrentConnector.Disconnect();
            }
            return(true);
        }
Пример #2
0
        public bool ExecuteProcess()
        {
            var settings = GetSettings(typeof(Settings.SHCMSettings)) as Settings.SHCMSettings;

            SHOLE.Execute.SHOLEConnector.CurrentConnector.Init(settings.SHServerAddress, settings.SHServerPort, settings.SHUserName, settings.SHPassword);
            var connected = SHOLE.Execute.SHOLEConnector.CurrentConnector.Connect();

            Database.SetInitializer(new DropCreateDatabaseIfModelChanges <DBModel>());

            CreateLogRecord($"Export started");
            var startTime = DateTime.Now;

            using (var db = new DBModel(settings.ConnectionString))
            {
                if (!settings.DontReloadTreeElements)
                {
                    CreateLogRecord($"Loading tree elements");
                    StoreHouseAPI.LoadTreeElements(db);
                }
                var goodsTree = db.GoodsTree.FirstOrDefault(item => item.goodstree_abbr == settings.ParentTreeAbbr);
                if (goodsTree != null)
                {
                    CreateLogRecord($"Tree rid {goodsTree.goodstree_rid}");
                    StoreHouseAPI.LoadTree(db, (int)goodsTree.goodstree_rid);
                }
            }

            CreateLogRecord($"Export finished, it takes {(DateTime.Now - startTime).TotalMinutes} min");
            SHOLE.Execute.SHOLEConnector.CurrentConnector.Disconnect();
            return(true);
        }
Пример #3
0
        public static double LoadHDRComplects(bool Override = false)
        {
            InitSHConnection();

            var startTime = DateTime.Now;

            using (var db = GetDbModel())
            {
                // Сначала загружаем все ветки дерева комплектов
                StoreHouseAPI.LoadCmHdrElements(db);
            }

            return((DateTime.Now - startTime).TotalMinutes);
        }
Пример #4
0
        public static double LoadBaseComplects(long groupRid, out string errorInfo)
        {
            errorInfo = "";
            InitSHConnection();

            var startTime = DateTime.Now;

            using (var db = GetDbModel())
            {
                // Сначала загружаем все ветки дерева комплектов
                StoreHouseAPI.LoadCmElements(db, groupRid, out errorInfo);
            }

            return((DateTime.Now - startTime).TotalMinutes);
        }
Пример #5
0
        public bool ExecuteProcess()
        {
            var settings = GetSettings(typeof(Settings.SHCMSettings)) as Settings.SHCMSettings;

            SHOLE.Execute.SHOLEConnector.CurrentConnector.Init(settings.SHServerAddress, settings.SHServerPort, settings.SHUserName, settings.SHPassword);
            var connected = SHOLE.Execute.SHOLEConnector.CurrentConnector.Connect();

            Database.SetInitializer(new DropCreateDatabaseIfModelChanges <DBModel>());

            CreateLogRecord($"Export started");
            var startTime = DateTime.Now;

            using (var db = new DBModel(settings.ConnectionString))
            {
                // Сначала загружаем все Goods элементы из нужных нам веток дерева
                CreateLogRecord($"Loading goods elements");
                foreach (var treeElement in db.TreeElementsNeed.ToList())
                {
                    var goodsTree = db.GoodsTree.FirstOrDefault(item => item.goodstree_abbr == treeElement.goodstree_abbr);
                    if (goodsTree != null)
                    {
                        CreateLogRecord($"Loading goods elements of tree rid {goodsTree.goodstree_rid}");
                        StoreHouseAPI.LoadTree(db, (int)goodsTree.goodstree_rid);
                    }
                }

                // Теперь подгружаем их комплекты
                CreateLogRecord($"Loading complects");
                foreach (var goodsBase in db.GoodsBaseAttrs.Where(goodBase => goodBase.cm_base_rid != 0 && !db.CmHdrAttrs.Any(cmHDR => cmHDR.cm_base_rid == goodBase.cm_base_rid)).ToList())
                {
                    StoreHouseAPI.LoadGoodsComplects(db, goodsBase.cm_base_rid);
                }

                // Напоследок загружаем листы комплектов
                CreateLogRecord($"Loading complects lists");
                StoreHouseAPI.LoadComplectsList(db);

                CreateLogRecord($"Export finished, it takes {(DateTime.Now - startTime).TotalMinutes} min");
                SHOLE.Execute.SHOLEConnector.CurrentConnector.Disconnect();
            }
            return(true);
        }