예제 #1
0
        public UpdaterViewModel(IEventAggregator eventAggregator, IDataTransport dataTransport, IServerInfo serverInfo, ISessionInfo sessionInfo)
        {
            _eventAggregator = eventAggregator;

            _serverInfo  = serverInfo;
            _sessionInfo = sessionInfo;

            // _isVisible = Visibility.Visible;
            _isVisible = Visibility.Collapsed;
            LastTime   = AutoRestartTime;

            _dataTransport = dataTransport;

            RestartAppCommand    = new DelegateCommand <object>(RestartApp);
            WaitForUpdateCommand = new DelegateCommand <object>(UpdateAbortedByUser);

            _checkTimer = new DispatcherTimer {
                Interval = new TimeSpan(0, 0, _serverInfo.UpdateInterval, 0)
            };
            _checkTimer.Tick += StartCheckUpdatesThread;
            _restartTimer     = new DispatcherTimer {
                Interval = new TimeSpan(0, 0, 0, 1)
            };
            _restartTimer.Tick += RestartTimerTick;
        }
예제 #2
0
        private String UploadToServer(String address, byte[] testData, String ksign, String JSDWCode)
        {
            String result = "";

            logger.Error(string.Format("运行到UploadToServer"));
            return("1");

            try
            {
                using (ChannelFactory <IDataTransport> channelFactory =
                           new ChannelFactory <IDataTransport>("uploadEP", new EndpointAddress(address)))
                {
                    IDataTransport proxy = channelFactory.CreateChannel();
                    using (proxy as IDisposable)
                    {
                        result = proxy.ReciveTestData(testData, ksign, JSDWCode);
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error("调用远程服务错误:" + ex.Message);
            }
            return(result);
        }
예제 #3
0
 public SensorBase()
 {
     if (!DesignerProperties.GetIsInDesignMode(this))
     {
         //ValuesLongPull.ValuesChangedEvent += SetValues;
         var container = ServiceLocator.Current.GetInstance <IUnityContainer>();
         _dataTransport = container.Resolve <IDataTransport>();
     }
 }
예제 #4
0
파일: SensorBase.cs 프로젝트: kib357/Ester2
		public SensorBase()
		{
			if (!DesignerProperties.GetIsInDesignMode(this))
			{
				//ValuesLongPull.ValuesChangedEvent += SetValues;
				var container = ServiceLocator.Current.GetInstance<IUnityContainer>();
				_dataTransport = container.Resolve<IDataTransport>();
			}
		}
예제 #5
0
        public override PublishResponse Publish(PublishRequest request, IDataTransport dataTransport)
        {
            Logger.LogInfo("Calling Publish");
            var input = (string)_settings["input"];

            var dataPoints = new List <DataPoint>();

            var shape = _shapes.FirstOrDefault(s => s.Name.Equals(request.ShapeName, StringComparison.OrdinalIgnoreCase));

            using (var sr = new StreamReader(File.OpenRead(input)))
                using (var csvReader = new CsvReader(sr))
                {
                    // read past header row
                    csvReader.Read();

                    // loop over data fields
                    while (csvReader.Read())
                    {
                        var dp = new DataPoint
                        {
                            TenantID = "mytenantid",
                            Action   = DataPointAction.Upsert,
                            Entity   = shape.Name,
                            Source   = "CRM",
                            KeyNames = shape.Keys,
                            Data     = new Dictionary <string, object>()
                        };

                        for (var i = 0; i < shape.Properties.Count; i++)
                        {
                            var prop = shape.Properties[i];

                            if (prop.Type == "number")
                            {
                                dp.Data[prop.Name] = csvReader.GetField <int>(i);
                            }
                            else
                            {
                                dp.Data[prop.Name] = csvReader.GetField <string>(i);
                            }
                        }

                        dataPoints.Add(dp);
                    }
                }

            dataTransport.Send(dataPoints);
            dataTransport.Done();

            return(new PublishResponse());
        }
예제 #6
0
        public SchedulesViewModel(IEventAggregator eventAggregator, IDataTransport dataTransport, IUnityContainer container)
        {
            Schedules           = new ObservableCollection <ScheduleClass>();
            _eventAggregator    = eventAggregator;
            _dataTransport      = dataTransport;
            _scheduleRepository = container.Resolve <SchedulesRepository>();

            AddScheduleCommand  = new DelegateCommand <string>(AddSchedule);
            SaveScheduleCommand = new DelegateCommand(SaveSchedule);
            DropScheduleCommand = new DelegateCommand(DropSchedule);
            CancelCommand       = new DelegateCommand(Cancel);

            _selectedScheduleType = ScheduleTypes.Light;
        }
예제 #7
0
        public UsersViewModel(IEventAggregator eventAggregator, AdUsersRepository usersRepository, IDataTransport dataTransport)
        {
            _eventAggregator = eventAggregator;
            _usersRepository = usersRepository;
            _dataTrasport = dataTransport;

            _domains=new ObservableCollection<Domain>();
            RefreshUsers();

            RefreshCommand = new DelegateCommand(RefreshUsers);
            CancelCommand = new DelegateCommand(HideWindow);

            _eventAggregator.GetEvent<ShowAdUsersImportEvent>().Subscribe(ShowWindow);
        }
        public override PublishResponse Publish(PublishRequest request, IDataTransport dataTransport)
        {
            var shapeToPublish = _shapes.FirstOrDefault(s => s.Name == request.ShapeName);

            ClientContext clientContext = new ClientContext(_siteUrl);

            clientContext.Credentials = new System.Net.NetworkCredential(_username, _password, _domain);
            Web site = clientContext.Web;

            clientContext.Load(site);
            clientContext.ExecuteQuery();

            var list = site.Lists.GetByTitle(request.ShapeName);

            CamlQuery query = new CamlQuery();

            query.ViewXml = "<View><Query></Query></View>";
            var items = list.GetItems(query);

            clientContext.Load(items);
            clientContext.ExecuteQuery();

            foreach (var item in items)
            {
                var dataPoint = new DataPoint();
                dataPoint.Action = DataPointAction.Upsert;
                dataPoint.Entity = request.ShapeName;
                dataPoint.Data   = new Dictionary <string, object>();

                foreach (var prop in shapeToPublish.Properties)
                {
                    var fieldName = prepareFieldName(prop.Name);
                    if (item.FieldValues.ContainsKey(fieldName))
                    {
                        dataPoint.Data[prop.Name] = item.FieldValues[fieldName];
                    }
                    else
                    {
                        dataPoint.Data[prop.Name] = null;
                    }
                }

                dataTransport.Send(new List <DataPoint>(new [] { dataPoint }));
            }

            return(new PublishResponse {
                Success = true
            });
        }
예제 #9
0
        public UsersViewModel(IEventAggregator eventAggregator, AdUsersRepository usersRepository, IDataTransport dataTransport)
        {
            _eventAggregator = eventAggregator;
            _usersRepository = usersRepository;
            _dataTrasport    = dataTransport;

            _domains = new ObservableCollection <Domain>();
            RefreshUsers();


            RefreshCommand = new DelegateCommand(RefreshUsers);
            CancelCommand  = new DelegateCommand(HideWindow);


            _eventAggregator.GetEvent <ShowAdUsersImportEvent>().Subscribe(ShowWindow);
        }
예제 #10
0
        public LoginViewModel(IEventAggregator eventAggregator, IDataTransport dataTransport, IServerInfo serverInfo, EsterBootstrapper esterBootstrapper)
        {
            _esterBootstrapper = esterBootstrapper;
            _esterBootstrapper.BootProgressChangedEvent += OnBootProgressChanged;
            _eventAggregator = eventAggregator;
            _dataTransport   = dataTransport;
            _serverInfo      = serverInfo;

            LoginCommand       = new DelegateCommand <object>(Login);
            LoginAdUserCommand = new DelegateCommand <object>(LoginAdUser);

            Language = InputLanguageManager.Current.CurrentInputLanguage.TwoLetterISOLanguageName.ToUpper();
            InputLanguageManager.Current.InputLanguageChanged += InputLanguageChanged;

            _eventAggregator.GetEvent <ApplicationLoadedEvent>().Subscribe(OnApplicationLoaded, ThreadOption.UIThread);

            ////todo: убрать на продакшн
            UserName = "******";
        }
예제 #11
0
		public PlanObjectsRepository(IDataTransport transport)
		{
			_dataTransport = transport;
			PlanObjects = new Dictionary<int, BaseObject>();

			ValuesLongPull.ValuesChangedEvent +=
				(updateInfo) =>
				{
					if (updateInfo.UpdateObjectTree || !updateInfo.ChangedValues.TrueForAll(cv => PlanObjects.ContainsKey(cv.Id)))
					{
						UpdateData();
						return;
					}

					foreach (var newObject in updateInfo.ChangedValues)
					{
						if (PlanObjects.ContainsKey(newObject.Id))
							PlanObjects[newObject.Id].Update(newObject);
					}
				};
		}
예제 #12
0
        public UpdaterViewModel(IEventAggregator eventAggregator, IDataTransport dataTransport, IServerInfo serverInfo, ISessionInfo sessionInfo)
        {
            _eventAggregator = eventAggregator;

            _serverInfo = serverInfo;
            _sessionInfo = sessionInfo;

            // _isVisible = Visibility.Visible;
            _isVisible = Visibility.Collapsed;
            LastTime = AutoRestartTime;

            _dataTransport = dataTransport;

            RestartAppCommand = new DelegateCommand<object>(RestartApp);
            WaitForUpdateCommand = new DelegateCommand<object>(UpdateAbortedByUser);

            _checkTimer = new DispatcherTimer { Interval = new TimeSpan(0, 0, _serverInfo.UpdateInterval, 0) };
            _checkTimer.Tick += StartCheckUpdatesThread;
            _restartTimer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 0, 1) };
            _restartTimer.Tick += RestartTimerTick;
        }
예제 #13
0
        public PlanObjectsRepository(IDataTransport transport)
        {
            _dataTransport = transport;
            PlanObjects    = new Dictionary <int, BaseObject>();

            ValuesLongPull.ValuesChangedEvent +=
                (updateInfo) =>
            {
                if (updateInfo.UpdateObjectTree || !updateInfo.ChangedValues.TrueForAll(cv => PlanObjects.ContainsKey(cv.Id)))
                {
                    UpdateData();
                    return;
                }

                foreach (var newObject in updateInfo.ChangedValues)
                {
                    if (PlanObjects.ContainsKey(newObject.Id))
                    {
                        PlanObjects[newObject.Id].Update(newObject);
                    }
                }
            };
        }
예제 #14
0
        private String UploadToServer(String address, byte[] testData, String ksign, String JSDWCode)
        {
            String result = "";

            try
            {
                using (ChannelFactory <IDataTransport> channelFactory =
                           new ChannelFactory <IDataTransport>("uploadEP", new EndpointAddress(address)))
                {
                    IDataTransport proxy = channelFactory.CreateChannel();
                    using (proxy as IDisposable)
                    {
                        result = proxy.ReciveTestData(testData, ksign, JSDWCode);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(result);
        }
예제 #15
0
 static LogsLongPull()
 {
     DataTransport   = CommonInstances.UnityContainer.Resolve <IDataTransport>();
     EventAggregator = CommonInstances.UnityContainer.Resolve <IEventAggregator>();
 }
예제 #16
0
 public SchedulesRepository(IDataTransport dataTransport)
 {
     _dataTransport = dataTransport;
     Schedules      = new ObservableCollection <ScheduleClass>();
 }
예제 #17
0
		public SchedulesRepository(IDataTransport dataTransport)
		{
			_dataTransport = dataTransport;
			Schedules = new ObservableCollection<ScheduleClass>();
		}
예제 #18
0
        public LoginViewModel(IEventAggregator eventAggregator, IDataTransport dataTransport, IServerInfo serverInfo, EsterBootstrapper esterBootstrapper)
        {
            _esterBootstrapper = esterBootstrapper;
            _esterBootstrapper.BootProgressChangedEvent += OnBootProgressChanged;
            _eventAggregator = eventAggregator;
            _dataTransport = dataTransport;
            _serverInfo = serverInfo;

            LoginCommand = new DelegateCommand<object>(Login);
            LoginAdUserCommand = new DelegateCommand<object>(LoginAdUser);

            Language = InputLanguageManager.Current.CurrentInputLanguage.TwoLetterISOLanguageName.ToUpper();
            InputLanguageManager.Current.InputLanguageChanged += InputLanguageChanged;

            _eventAggregator.GetEvent<ApplicationLoadedEvent>().Subscribe(OnApplicationLoaded, ThreadOption.UIThread);

            ////todo: убрать на продакшн
            UserName = "******";
        }
예제 #19
0
 public RoboCore(RoboCoreConfig config)
 {
     _config = config;
     _config.Validate();
     _dataTransport = _config.DataTransport;
 }
예제 #20
0
        public PeopleRepository(IDataTransport dataTransport)
        {
            _dataTransport = dataTransport;

            People = new ObservableCollection<Person>();           
        }
예제 #21
0
        public PeopleRepository(IDataTransport dataTransport)
        {
            _dataTransport = dataTransport;

            People = new ObservableCollection <Person>();
        }
예제 #22
0
 public abstract PublishResponse Publish(PublishRequest request, IDataTransport dataTransport);
예제 #23
0
 static LogsLongPull()
 {
     DataTransport = CommonInstances.UnityContainer.Resolve<IDataTransport>();
     EventAggregator = CommonInstances.UnityContainer.Resolve<IEventAggregator>();
 }
예제 #24
0
		public SchedulesViewModel(IEventAggregator eventAggregator, IDataTransport dataTransport, IUnityContainer container)
		{
			Schedules = new ObservableCollection<ScheduleClass>();
			_eventAggregator = eventAggregator;
			_dataTransport = dataTransport;
			_scheduleRepository = container.Resolve<SchedulesRepository>();

			AddScheduleCommand = new DelegateCommand<string>(AddSchedule);
			SaveScheduleCommand = new DelegateCommand(SaveSchedule);
			DropScheduleCommand = new DelegateCommand(DropSchedule);
			CancelCommand = new DelegateCommand(Cancel);

			_selectedScheduleType = ScheduleTypes.Light;
		}