예제 #1
0
파일: Program.cs 프로젝트: ITmind/SA1C
        static void Main(string[] args)
        {
            Logger      logger  = LogManager.GetCurrentClassLogger();
            ServiceSA1C service = new ServiceSA1C();

            service.LoadSettings();
            var baseConfig = from conf in service.config.basesConfig
                             where conf.Name == "ТестОбмена"
                             select conf;

            if (baseConfig.Count() == 0)
            {
            }

            BaseConfig bc = baseConfig.First();

            //var baseConfig = service.GetBaseConfig();
            string pathToPravila = Directory.GetCurrentDirectory() + @"\ПравилаОбменаДанными.xml";

            using (_1Cv8 v8 = new _1Cv8(bc.baseInfo))
            {
                try
                {
                    v8.Connect();
                    v8.SaveUniversalXML("ОбменУправлениеТорговлейРозничнаяТорговля", "002", pathToPravila);
                }
                catch (Exception error)
                {
                    string e = error.Message;
                }
            }
        }
예제 #2
0
        public AllBaseConfigViewModel(WorkspaceViewModel mainWindow, ServiceSA1C serviceSA1C)
        {
            if (serviceSA1C == null)
            {
                throw new ArgumentNullException("serviceSA1C");
            }

            _serviceSA1C = serviceSA1C;
            _serviceSA1C.config.AddConfigEvent += OnAddConfig;
            base.MainWindow        = mainWindow;
            MainWindow.DisplayName = "Список настроек обмена";
            // Subscribe for notifications of when a new customer is saved.
            //_customerRepository.CustomerAdded += this.OnCustomerAddedToRepository;

            // Populate the AllCustomers collection with CustomerViewModels.
            this.CreateAllBaseConfig();

            //проверим обновления
            if (_serviceSA1C.config.CheckUpdate)
            {
                ThreadStart start = () => Update.CheckUpdate();

                Thread exchangeTread = new Thread(start);
                //завершаем поток принудительно при завершении основного потока
                exchangeTread.IsBackground = true;
                exchangeTread.Start();
            }
        }
예제 #3
0
        public MainWindowViewModel(ServiceSA1C serviceSA1C)
        {
            DisplayName = "SA1C";

            _serviceSA1C = serviceSA1C;
            _serviceSA1C.LoadSettings();
            _workspaces = null;
        }
예제 #4
0
        //TODO: Доабвить вывод строки соединения под списком баз, как в 1с

        /// </summary>
        /// <param name="mainWindow"></param>
        /// <param name="items"></param>
        /// <param name="serviceSA1C"></param>
        /// <summary>
        /// Создает панель выбора элемента из списка
        /// </summary>
        /// <param name="mainWindow">родительская панель</param>
        /// <param name="items">Список элементов</param>
        public AddNewDBViewModel(WorkspaceViewModel mainWindow, List <BaseInfo> items, ServiceSA1C serviceSA1C)
        {
            base.MainWindow = mainWindow;
            _listDB         = new ObservableCollection <BaseInfo>(items);
            IsExestisDB     = true;
            _serviceSA1C    = serviceSA1C;
            DisplayName     = "Добавление новой настройки";
        }
예제 #5
0
        public BaseConfigViewModel(WorkspaceViewModel mainWindow, BaseConfig baseConfig, ServiceSA1C serviceSA1C)
        {
            if (baseConfig == null)
            {
                throw new ArgumentNullException("baseConfig");
            }

            _baseConfig     = baseConfig;
            _serviceSA1C    = serviceSA1C;
            base.MainWindow = mainWindow;
        }
예제 #6
0
        private void EcecuteCmd()
        {
            if (CommandLineArgs.ContainsKey("/setting"))
            {
                string settingName = CommandLineArgs["/setting"] as string;
                logger.Info("Запуск с праметром /setting:" + settingName);

                //загружаем настройки
                ServiceSA1C serviceSA1C = new ServiceSA1C();
                serviceSA1C.LoadSettings();
                //и запускаем обмен
                serviceSA1C.ExecuteExchange(settingName);
                //выходим из программы
                App.Current.Shutdown();
            }
        }
예제 #7
0
        //public delegate void CloseEventHandler(object sender, CloseEventArgs e);

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            //если нет аргументов то запустим GUI
            if (e.Args.Length == 0)
            {
                MainWindow window = new MainWindow();


                ServiceSA1C s         = new ServiceSA1C();
                var         viewModel = new MainWindowViewModel(s);

                viewModel.RequestClose += OnMainWindowRequestClose;

                window.DataContext = viewModel;

                window.Show();
            }
            //иначе отработаем аргументы
            else
            {
                ParseArguments(e.Args);
                EcecuteCmd();
            }
        }
예제 #8
0
        public ExchangeProcessViewModel(WorkspaceViewModel mainWindow, ServiceSA1C serviceSA1C, BaseConfig baseConfig)
        {
            //Загрузим актуальные настройки

            base.MainWindow  = mainWindow;
            _serviceSA1C     = serviceSA1C;
            _baseConfig      = baseConfig;
            _logs            = new ObservableCollection <string>();
            ProgressBarValue = 0;
            DisplayName      = _baseConfig.Name;

            //подписываемся на события
            _serviceSA1C.ExchangeProcess += serviceSA1C_ExchangeProcess;

            bool isNewExchange = true;

            //опрделяем, нужно ли продолжать обмен или начать заново
            if (baseConfig.status.job != Job.Exchange && baseConfig.status.jobStatus != JobStatus.Complite)
            {
                var result = MessageBox.Show("При прошлом запуске обмен не был завешен. Продолжить обмен? \n" +
                                             "(нет - начать обмен заново)",
                                             "Обмен",
                                             MessageBoxButton.YesNo);
                if (result == MessageBoxResult.Yes)
                {
                    isNewExchange = false;
                }
            }

            ThreadStart start = () => _serviceSA1C.ExecuteExchange(_baseConfig.Name, isNewExchange);

            exchangeTread = new Thread(start);
            //завершаем поток принудительно при завершении основного потока
            exchangeTread.IsBackground = true;
            exchangeTread.Start();
        }
예제 #9
0
 public Form1()
 {
     InitializeComponent();
     _service = new ServiceSA1C();
 }
예제 #10
0
        //Thread th;

        public WindowsServiceSA1C()
        {
            InitializeComponent();
            _service = new ServiceSA1C();
        }
예제 #11
0
 public AppSettingsViewModel(WorkspaceViewModel mainWindow, ServiceSA1C serviceSA1C)
 {
     base.MainWindow = mainWindow;
     _serviceSA1C    = serviceSA1C;
 }