private static void StartMainWindow( string loginDialogName, IApplicationConfigurator applicationConfigurator, IParametersProvider parametersProvider) { //Настрока удаления Configure.ConfigureDeletion(); PerformanceHelper.AddTimePoint(logger, "Закончена настройка удаления"); //Настройка сервисов if (parametersProvider.ContainsParameter("instant_sms_enabled_database") && parametersProvider.ContainsParameter("sms_service_address")) { if (parametersProvider.GetParameterValue("instant_sms_enabled_database") == loginDialogName) { InstantSmsServiceSetting.Init(parametersProvider.GetParameterValue("sms_service_address")); } } if (parametersProvider.ContainsParameter("sms_payment_send_enabled_database") && parametersProvider.ContainsParameter("sms_payment_send_service_address")) { if (parametersProvider.GetParameterValue("sms_payment_send_enabled_database") == loginDialogName) { SmsPaymentServiceSetting.Init(parametersProvider.GetParameterValue("sms_payment_send_service_address")); } } DriverApiParametersProvider.InitializeNotifications(parametersProvider, loginDialogName); CreateTempDir(); //Запускаем программу MainWin = new MainWindow(passwordValidator, applicationConfigurator); MainWin.Title += $" (БД: {loginDialogName})"; QSMain.ErrorDlgParrent = MainWin; MainWin.Show(); }
public ExportToSiteDlg() { if (!ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("database_maintenance")) { MessageDialogHelper.RunWarningDialog("Доступ запрещён!", "У вас недостаточно прав для доступа к этой вкладке. Обратитесь к своему руководителю.", Gtk.ButtonsType.Ok); FailInitialize = true; return; } Build(); TabName = "Экспорт интернет магазин"; comboExportMode.ItemsEnum = typeof(ExportMode); if (_parametersProvider.ContainsParameter(Export.OnlineStoreUrlParameterName)) { entrySitePath.Text = _parametersProvider.GetParameterValue(Export.OnlineStoreUrlParameterName); } if (_parametersProvider.ContainsParameter(Export.OnlineStoreLoginParameterName)) { entryUser.Text = _parametersProvider.GetParameterValue(Export.OnlineStoreLoginParameterName); } if (_parametersProvider.ContainsParameter(Export.OnlineStorePasswordParameterName)) { entryPassword.Text = _parametersProvider.GetParameterValue(Export.OnlineStorePasswordParameterName); } if (_parametersProvider.ContainsParameter(Export.OnlineStoreExportMode)) { comboExportMode.SelectedItem = Enum.Parse(typeof(ExportMode), _parametersProvider.GetParameterValue(Export.OnlineStoreExportMode)); } }
public int GetOkkId() { if (!_parametersProvider.ContainsParameter("номер_отдела_ОКК")) { throw new InvalidProgramException("В параметрах базы не настроен параметр : номер_отдела_ОКК"); } return(int.Parse(_parametersProvider.GetParameterValue("номер_отдела_ОКК"))); }
public IncomeCategory DefaultIncomeCategory(IUnitOfWork uow) { if (_parametersProvider.ContainsParameter(defaultIncomeCategory)) { int id = -1; id = int.Parse(_parametersProvider.GetParameterValue(defaultIncomeCategory)); if (id == -1) { return(null); } return(uow.Session.QueryOver <IncomeCategory> () .Where(inc => inc.Id == id) .Take(1) .SingleOrDefault()); } return(null); }
public Subdivision GetQCDepartment(IUnitOfWork uow) { var qcDep = "номер_отдела_ОКК"; if (!_parametersProvider.ContainsParameter(qcDep)) { throw new InvalidProgramException("В параметрах базы не указан номер отдела контроля качества [номер_отдела_ОКК]"); } return(uow.GetById <Subdivision>(int.Parse(_parametersProvider.GetParameterValue(qcDep)))); }
public int GetIdentifierOfOnlineShopGroup() { string parameterName = "код_группы_товаров_для_интерент-магазина"; if (!_parametersProvider.ContainsParameter(parameterName) || !int.TryParse(_parametersProvider.GetParameterValue(parameterName), out int res)) { return(0); } return(res); }
public void RunToSite() { Errors.Clear(); TotalTasks = 12; ExportMode mode = _parametersProvider.ContainsParameter(OnlineStoreExportMode) ? (ExportMode)Enum.Parse(typeof(ExportMode), _parametersProvider.GetParameterValue(OnlineStoreExportMode)) : ExportMode.Umi; OnProgressPlusOneTask("Соединяемся с сайтом"); //Проверяем связь с сервером var configuredUrl = _parametersProvider.GetParameterValue(OnlineStoreUrlParameterName); var parsedUrl = new Uri(configuredUrl); var path = parsedUrl.LocalPath; var client = new RestClient(configuredUrl.Replace(path, "")); client.CookieContainer = new System.Net.CookieContainer(); client.Authenticator = new HttpBasicAuthenticator(_parametersProvider.GetParameterValue(OnlineStoreLoginParameterName), _parametersProvider.GetParameterValue(OnlineStorePasswordParameterName)); var request = new RestRequest(path + "?type=catalog&mode=checkauth", Method.GET); IRestResponse response = client.Execute(request); DebugResponse(response); if (!response.Content.StartsWith("success")) { Errors.Add($"Не возможно связаться с сайтом. Ответ Сайта:{response.Content}"); return; } CreateObjects(); OnProgressPlusOneTask("Инициализация процесса обмена"); //Инициализируем передачу. Ответ о сжатии и размере нас не интересует. Мы не умеем других вариантов. request = new RestRequest(path + "?type=catalog&mode=init", Method.GET); response = client.Execute(request); DebugResponse(response); OnProgressPlusOneTask("Выгружаем каталог"); SendFileXMLDoc(client, path, "import.xml", rootCatalog, mode); OnProgressPlusOneTask("Выгружаем изображения"); var exportedImages = Catalog.Goods.Nomenclatures.SelectMany(x => x.Images); //Внимание здесь "/" после 1c_exchange.php в выгрузке для umi не случаен, в документации его нет, но если его не написать то на запрос без слеша, // приходит ответ 301 то есть переадресация на такую же строку но со слешем, но RestSharp после переадресации уже отправляет // не POST запрос а GET, из за чего, файл не принимается нормально сервером. var beginOfUrl = path + (mode == ExportMode.Umi ? "/" : "") + "?type=catalog&mode=file&filename="; foreach (var img in exportedImages) { var imgFileName = $"img_{img.Id:0000000}.jpg"; var dirImgFileName = $"import_files/" + imgFileName; OnProgressTextOnly("Отправляем " + imgFileName); request = new RestRequest(beginOfUrl + dirImgFileName, Method.POST); request.AddParameter("image/jpeg", img.Image, ParameterType.RequestBody); response = client.Execute(request); DebugResponse(response); } Results.Add("Выгружено изображений: " + exportedImages.Count()); OnProgressPlusOneTask("Выгружаем склад"); SendFileXMLDoc(client, path, "offers.xml", rootOffers, mode); Results.Add("Выгрузка каталога товаров:"); OnProgressPlusOneTask("Импорт каталога товаров на сайте."); SendImportCommand(client, path, "import.xml"); Results.Add("Выгрузка склада и цен:"); OnProgressPlusOneTask("Импорт склада и цен на сайте."); SendImportCommand(client, path, "offers.xml"); }
public int GetForfeitId() { if (!_parametersProvider.ContainsParameter("forfeit_nomenclature_id")) { throw new InvalidProgramException("В параметрах базы не настроена номенклатура бутыли по умолчанию (forfeit_nomenclature_id)."); } return(int.Parse(_parametersProvider.GetParameterValue("forfeit_nomenclature_id"))); }