/// <summary>Выбор процесса (для светильников)</summary>
 /// <param name="MainProcess">Основной процесс</param>
 public SelectingLampProcess(WMSClient MainProcess)//, IServerIdProvider serverIdProvider)
     : base(MainProcess, 1)
 {
     //if (serverIdProvider == null)
     //    {
     //    throw new ArgumentException("ServerIdProvider");
     //    }
     this.serverIdProvider = new ServerIdProvider(); //serverIdProvider;
     BusinessProcessType   = ProcessType.Selecting;
     FormNumber            = 1;
 }
 //, IServerIdProvider serverIdProvider)
 /// <summary>����� �������� (��� ������������)</summary>
 /// <param name="MainProcess">�������� �������</param>
 public SelectingLampProcess(WMSClient MainProcess)
     : base(MainProcess, 1)
 {
     //if (serverIdProvider == null)
     //    {
     //    throw new ArgumentException("ServerIdProvider");
     //    }
     this.serverIdProvider = new ServerIdProvider(); //serverIdProvider;
     BusinessProcessType = ProcessType.Selecting;
     FormNumber = 1;
 }
Exemple #3
0
        /// <summary>Синхронизация данных между ТСД и сервером</summary>
        /// <param name="MainProcess"></param>
        public dbSynchronizer(WMSClient MainProcess, IServerIdProvider serverIdProvider)
            : base(MainProcess, 1)
        {
            StartNetworkConnection();

            if (serverIdProvider == null)
            {
                throw new ArgumentException("ServerIdProvider");
            }
            this.serverIdProvider = serverIdProvider;

            deferredProperty = new List <DataAboutDeferredProperty>();

            SynchronizeWithGreenhouse(serverIdProvider);
        }
Exemple #4
0
        private void SynchronizeWithGreenhouse(IServerIdProvider serverIdProvider)
        {
            logBuilder = new StringBuilder(string.Format("Synchronizing start: {0}", DateTime.Now.ToString("HH:mm:ss dd.MM.yyyy")));
            logBuilder.AppendLine();
            Stopwatch totalTime = new Stopwatch();

            totalTime.Start();
            //Документи
            infoLabel.Text = "Контрагенти";
            if (!SyncObjects <Contractors>(WaysOfSync.OneWay, FilterSettings.CanSynced))
            {
                return;
            }

            infoLabel.Text = "Карти";
            if (!SyncObjects <Maps>(false))
            {
                return;
            }

            infoLabel.Text = "Партії";
            if (!SyncObjects <Party>(WaysOfSync.OneWay))
            {
                return;
            }

            infoLabel.Text = "Моделі";
            if (!SyncObjects <Models>(WaysOfSync.TwoWay))
            {
                return;
            }

            //Прийомка нового
            infoLabel.Text = "Документи прийомки нового комплектучого";
            SyncAccepmentsDocWithServer();
            SyncAccepmentsDocFromServer();

            //Комплектуюче
            infoLabel.Text = "Лампи";
            if (!SyncObjects <Lamps>(WaysOfSync.TwoWay))
            {
                return;
            }

            infoLabel.Text = "Ел.блоки";
            if (!SyncObjects <ElectronicUnits>(WaysOfSync.TwoWay))
            {
                return;
            }

            infoLabel.Text = "Корпуси";
            if (!SyncObjects <Cases>(WaysOfSync.TwoWay))
            {
                return;
            }

            //Оновлення посилань
            infoLabel.Text = "Оновлення посилань";
            updateDeferredProperties();

            PerformQuery("EndOfSync");
            //Відправка на ...
            infoLabel.Text = "Відправка на списання";
            SyncOutSending <SendingToCharge, SubSendingToChargeChargeTable>();
            SyncInSending <SendingToCharge, SubSendingToChargeChargeTable>();

            infoLabel.Text = "Відправка на обмін";
            SyncOutSending <SendingToExchange, SubSendingToExchangeUploadTable>();
            SyncInSending <SendingToExchange, SubSendingToExchangeUploadTable>();

            infoLabel.Text = "Відправка на ремонт";
            SyncOutSending <SendingToRepair, SubSendingToRepairRepairTable>();
            SyncInSending <SendingToRepair, SubSendingToRepairRepairTable>();

            //Приймання комплектуючого з ...
            infoLabel.Text = "Приймання з ремонту";
            SyncOutSending <AcceptanceAccessoriesFromRepair, SubAcceptanceAccessoriesFromRepairRepairTable>(
                SyncModes.AcceptanceFromRepair);
            SyncInSending <AcceptanceAccessoriesFromRepair, SubAcceptanceAccessoriesFromRepairRepairTable>();

            infoLabel.Text = "Приймання з обміну";
            SyncOutAcceptanceFromExchange();
            SyncInSending <AcceptanceAccessoriesFromExchange, SubAcceptanceAccessoriesFromExchangeExchange>(
                SyncModes.SendingToExchange);

            //Переміщення
            infoLabel.Text = "Переміщення";
            SyncMovement();

            logBuilder.AppendLine();
            logBuilder.AppendLine(string.Format("Total: {0}", (int)(totalTime.ElapsedMilliseconds * 0.001)));
            logToFile("SynchLog.txt", logBuilder);
        }