public override void OnInitialize() { base.OnInitialize(); try { _orderRoutine = OrderRoutine.OrderRoutine.GetOrderRoutine(); _orders = _orderRoutine.GetOrders(); _billings = GlobalDataObjects.GetGlobalDataObject("Cx.Client.Taxi.Billings.Data.Billings") as IBillings; if (_billings == null) { GlobalLogManager.WriteString("Error: Ошибка в плагине ClientsBountyManager. Не удалось загрузить данные по счетам"); } _orders.StatePropertyChanged += _orders_StatePropertyChanged; _billings.BalancePropertyChanged += _billings_BalancePropertyChanged; } catch (Exception e) { GlobalLogManager.WriteString("Error: Ошибка в плагине ClientsBountyManager. {0}", e); } LoadParams(); _watcher = new FileSystemWatcher(GlobalUtils.AppDirectory, "ClientsBountyParams.xml"); _watcher.NotifyFilter = NotifyFilters.LastWrite; _watcher.Changed += watcher_Changed; _watcher.EnableRaisingEvents = true; }
public CxDataProvider(PluginParams param, IBillings billings, IUsers users) { _billings = billings; PluginParams = param; _clientManager = ClientManager.ClientManager.GetManager(); _clients = _clientManager.GetClients(); _users = users; }
public override void OnInitialize() { LoadParams(); _billings = GlobalDataObjects.GetGlobalDataObject("Cx.Client.Taxi.Billings.Data.Billings") as IBillings; if (_billings == null) { GlobalLogManager.WriteString( "Error: Ошибка в плагине WCFManager. Не удалось загрузить данные по счетам"); } _users = GlobalDataObjects.GetGlobalDataObject("Cx.Client.Security.Users.Data.Users") as IUsers; if (_users == null) { GlobalLogManager.WriteString( "Error: Ошибка в плагине WCFManager. Не удалось загрузить данные по пользователям"); } var httpHostStr = string.Format("{0}:{1}/ClientBonusService", _param.HostName, _param.Port); var tcpHostStr = string.Format("{0}:{1}/ClientBonusService", _param.HostName, _param.Port + 1); GlobalLogManager.WriteString("WCFManager. Создание сервиса"); var serviceHost = new ServiceHost(typeof(ClientBonusService)); GlobalLogManager.WriteString("WCFManager. Установка параметров"); ClientBonusService.DataProvider = new CxDataProvider(_param, _billings, _users); ClientBonusService.LogonManager = new LogonManager(GlobalUtils.AppDirectory); ClientBonusService.Params = _param; var portsharingBinding = new NetTcpBinding(); var httpBinding = new BasicHttpBinding(); serviceHost.AddServiceEndpoint(typeof(IClientBonusService), portsharingBinding, "net.tcp://" + tcpHostStr); serviceHost.AddServiceEndpoint(typeof(IClientBonusService), httpBinding, "http://" + httpHostStr); GlobalLogManager.WriteString("WCFManager. Запуск сервиса"); serviceHost.Open(); _watcher = new FileSystemWatcher(GlobalUtils.AppDirectory, PluginParams.FileName); _watcher.Changed += _watcher_Changed; _watcher.NotifyFilter = NotifyFilters.LastWrite; _watcher.EnableRaisingEvents = true; GlobalLogManager.WriteString("WCFManager. Сервис запущен"); }