示例#1
0
 public ComparatorViewModel(IUndoRedoEngine undoRedoEngine, WindowService windowService,
                            IConfigurationModel configuration)
 {
     _undoRedoEngine = undoRedoEngine;
     _windowService  = windowService;
     _configuration  = configuration;
 }
        public EnvironmentConfigurationService()
        {
            var embeddedResourceStream = Assembly.GetAssembly(typeof(IConfigurationModel))
                                         .GetManifestResourceStream("TmsCollectorAndroid.Configuration.config.json");

            if (embeddedResourceStream == null)
            {
                return;
            }

            using (var streamReader = new StreamReader(embeddedResourceStream))
            {
                var jsonString = streamReader.ReadToEnd();
                var jObj       = JsonConvert.DeserializeObject <JObject>(jsonString);
                var apiBaseUrl = jObj.GetValue("ApiBaseUrl")?.Value <string>();
                var apiUrls    = new List <string>();

                if (!string.IsNullOrEmpty(apiBaseUrl))
                {
                    foreach (var url in apiBaseUrl.Split(';'))
                    {
                        apiUrls.Add(url);
                    }
                }

                Configuration = new ConfigurationModel(
                    apiUrls,
                    jObj.GetValue("CollectorVersion")?.Value <string>() ?? String.Empty
                    );
            }
        }
示例#3
0
		public void Subscribe(IConfigurationModel configurationModel, IAutoSubscriptionModel autoSubscriptionModel)
		{
			foreach (Assembly assembly in autoSubscriptionModel.Assemblies)
			{
				foreach (Type type in assembly.GetTypes())
				{
					foreach (ISubscriptionConvention convention in autoSubscriptionModel.Conventions)
					{
						if (convention.ShouldRegister(type))
						{
							var consumeInfo = new ConsumeInfo
							                  	{
							                  		ExchangeName = convention.GetExchangeName(type),
							                  		ExchangeType = convention.GetExchangeType(type),
							                  		QueueName = convention.GetQueueName(type),
							                  		IsAutoAcknowledge = convention.IsAutoAcknowledge(type),
							                  		DefaultRoutingKey = convention.GetDefaultRouteKey(type),
							                  		Exclusive = convention.IsExclusive(type),
							                  		IsExchangeAutoDelete = convention.IsAutoDeleteExchange(type),
							                  		IsExchangeDurable = convention.IsDurableExchange(type),
							                  		IsQueueAutoDelete = convention.IsAutoDeleteQueue(type),
							                  		IsQueueDurable = convention.IsDurableQueue(type),
							                  	};

							ISerializationStrategy serializationStrategy = convention.GetSerializationStrategy(type);
							if (serializationStrategy != null)
							{
								consumeInfo.SerializationStrategy = serializationStrategy;
							}

							Action<IErrorContext> errorCallback = convention.GetErrorCallback(type);
							if (errorCallback != null)
							{
								consumeInfo.ErrorCallback = errorCallback;
							}

							configurationModel.ConsumeRouteConfiguration.AddPolicy<MappingRouteInfoLookupStrategy<IConsumeInfo>>(type,
							                                                                                                     consumeInfo);

							foreach (Assembly handlerProspectAssembly in autoSubscriptionModel.Assemblies)
							{
								foreach (
									Type handler in handlerProspectAssembly.GetTypes().Where(t => typeof (IMessageHandler).IsAssignableFrom(t)))
								{
									foreach (IHandlerConvention handlerConvention in autoSubscriptionModel.HandlerConventions)
									{
										if (handlerConvention.ShouldHandle(type, handler))
										{
											configurationModel.AutoSubscriptions.Add(new AutoSubscription(type, handler));
											break;
										}
									}
								}
							}
						}
					}
				}
			}
		}
示例#4
0
        public static void CalculateIndex(DuplPairViewModel viewResultOfDupl, IConfigurationModel configuration)
        {
            List <ImageInfoClass> list = new List <ImageInfoClass>(2);

            list.Add(viewResultOfDupl.FirstFile);
            list.Add(viewResultOfDupl.SecondFile);
            CalculateIndex(list, configuration);
        }
示例#5
0
 public ConfigurationViewModel(IConfigurationModel configuration, IWindowService windowService, CoreLib core, Option option)
 {
     this._configuration = configuration;
     _windowService      = windowService;
     _core           = core;
     Delay           = 500;
     _thumbnailWidth = _configuration.ThumbnailWidth;
     Option          = option;
 }
示例#6
0
 public PrioritiesViewModel(IConfigurationModel configuration)
 {
     /*Criterions = new ObservableCollection<Criterion>();
      * Criterions.Add(new Criterion() { Name = "Разрешение" });
      * Criterions.Add(new Criterion() { Name = "Размер файла" });
      * Criterions.Add(new Criterion() { Name = "Блочность" });
      * Criterions.Add(new Criterion() { Name = "Резкость" });*/
     Criterions  = configuration.Criterions;
     FillingMode = false;
 }
示例#7
0
文件: Bus.cs 项目: niaoked/rabbitBus
 void RegisterAutoSubscriptions(IConfigurationModel configurationModel)
 {
     foreach (AutoSubscription autoSubscription in configurationModel.AutoSubscriptions)
     {
         MethodInfo openSubscribeMessage = typeof(Bus).GetMethod("SubscribeMessage",
                                                                 BindingFlags.Instance | BindingFlags.NonPublic);
         MethodInfo closedSubscribedMessage = openSubscribeMessage.MakeGenericMethod(new[] { autoSubscription.MessageType });
         closedSubscribedMessage.Invoke(this, new[] { autoSubscription.MessageHandler, MessageProperties.Empty });
     }
 }
示例#8
0
        public ConfigurationViewModel(
            IFile file,
            IDirectory directory,
            IFileSystemDialogService dialogService,
            IConfigurationModel model)
        {
            Model = model;

            SourceFilePath = Model
                             .ToReactivePropertyAsSynchronized(x => x.SourceFilePath)
                             .SetValidateNotifyError(x => !string.IsNullOrEmpty(x) && file.Exists(x) ? null : "The file doesn't exist.");

            DestinationFolder = Model
                                .ToReactivePropertyAsSynchronized(x => x.DestinationFolder)
                                .SetValidateNotifyError(x => !string.IsNullOrEmpty(x) && directory.Exists(x) ? null : "The directory doesn't exist.");

            DestinationFileName = Model
                                  .ToReactivePropertyAsSynchronized(x => x.DestinationFileName)
                                  .SetValidateNotifyError(x => !string.IsNullOrEmpty(x) ? null : "The file name mustn't be empty.");

            BufferSize = Model
                         .ToReactivePropertyAsSynchronized(x => x.BufferSize)
                         .SetValidateNotifyError(x =>
            {
                var isPositiveInteger = new Regex(@"^[1-9]\d*$");
                return(!string.IsNullOrEmpty(x) && isPositiveInteger.IsMatch(x) ? null : "The buffer size have to be a positive integer value.");
            });

            HasNotErrors = new[]
            {
                SourceFilePath.ObserveHasErrors,
                DestinationFileName.ObserveHasErrors,
                DestinationFolder.ObserveHasErrors,
                BufferSize.ObserveHasErrors
            }
            .CombineLatestValuesAreAllFalse();

            SelectSourceFileCommand = new RelayCommand(() =>
            {
                var path = dialogService.SelectFile();
                if (!string.IsNullOrEmpty(path))
                {
                    Model.SourceFilePath = path;
                }
            });

            SelectDestinationFolderCommand = new RelayCommand(() =>
            {
                var path = dialogService.SelectDirectory();
                if (!string.IsNullOrEmpty(path))
                {
                    Model.DestinationFolder = path;
                }
            });
        }
示例#9
0
		void ConfigurePublish(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type)
		{
			foreach (IPublishConfigurationConvention convention in autoConfigurationModel.PublishConfigurationConventions)
			{
				if (convention.ShouldRegister(type))
				{
					PublishInfo publishInfo = GetPublishInfo(type, convention);
					configurationModel.PublishRouteConfiguration.AddPolicy<MappingRouteInfoLookupStrategy<IPublishInfo>>(type, publishInfo);
				}
			}
		}
示例#10
0
 void ConfigurePublish(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type)
 {
     foreach (IPublishConfigurationConvention convention in autoConfigurationModel.PublishConfigurationConventions)
     {
         if (convention.ShouldRegister(type))
         {
             PublishInfo publishInfo = GetPublishInfo(type, convention);
             configurationModel.PublishRouteConfiguration.AddPolicy <MappingRouteInfoLookupStrategy <IPublishInfo> >(type, publishInfo);
         }
     }
 }
示例#11
0
        public ImageInfoClass()
        {
            Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal,
                                                  (Action) delegate
            {
                _dumbImage = new BitmapImage(new Uri("pack://application:,,,/AntiDuplWPF;component/Image/loading.jpg", UriKind.Absolute));
            });


            _configuration = TinyIoCContainer.Current.Resolve <IConfigurationModel>();
            _configuration.PropertyChanged += _configuration_PropertyChanged;
        }
示例#12
0
		public void Configure(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel)
		{
			foreach (Assembly assembly in autoConfigurationModel.Assemblies)
			{
				foreach (Type type in assembly.GetTypes())
				{
					ConfigureConsume(configurationModel, autoConfigurationModel, type);
					ConfigurePublish(configurationModel, autoConfigurationModel, type);
					ConfigureSubscriptions(configurationModel, autoConfigurationModel, type);
				}
			}
		}
示例#13
0
 public void Configure(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel)
 {
     foreach (Assembly assembly in autoConfigurationModel.Assemblies)
     {
         foreach (Type type in assembly.GetTypes())
         {
             ConfigureConsume(configurationModel, autoConfigurationModel, type);
             ConfigurePublish(configurationModel, autoConfigurationModel, type);
             ConfigureSubscriptions(configurationModel, autoConfigurationModel, type);
         }
     }
 }
示例#14
0
        public ImagePropertyBehavior()
        {
            if (_iConfigurationModel == null)
            {
                _iConfigurationModel = TinyIoCContainer.Current.Resolve <IConfigurationModel>();
            }

            if (_iConfigurationModel == null)
            {
                throw new ArgumentNullException("No IConfigurationModel is registered");
            }
        }
示例#15
0
        static void ConfigureConsume(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel,
                                     Type type)
        {
            foreach (IConsumeConfigurationConvention convention in autoConfigurationModel.ConsumeConfigurationConventions)
            {
                if (convention.ShouldRegister(type))
                {
                    ConsumeInfo consumeInfo = GetConsumeInfo(type, convention);

                    configurationModel.ConsumeRouteConfiguration
                    .AddPolicy <MappingRouteInfoLookupStrategy <IConsumeInfo> >(type, consumeInfo);
                }
            }
        }
示例#16
0
		static void ConfigureConsume(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel,
		                             Type type)
		{
			foreach (IConsumeConfigurationConvention convention in autoConfigurationModel.ConsumeConfigurationConventions)
			{
				if (convention.ShouldRegister(type))
				{
					ConsumeInfo consumeInfo = GetConsumeInfo(type, convention);

					configurationModel.ConsumeRouteConfiguration
						.AddPolicy<MappingRouteInfoLookupStrategy<IConsumeInfo>>(type, consumeInfo);
				}
			}
		}
示例#17
0
 public ConfigurationViewModel()
 {
     if (this.IsInDesignMode)
     {
         _configurationModel = new ConfigurationModelSimulator();
     }
     else
     {
         _configurationModel = ClassLocator.GetInstance <IConfigurationModel>();
         Debug.Assert(_configurationModel != null, "INavigateCommands not found for AboutViewModel");
     }
     ConfigurationItems = new ObservableCollection <IConfigurationItemViewModel>();
     _configurationModel.ConfigurationItems.ToList().ForEach(i => ConfigurationItems.Add(ViewModelHelpers.GetConfigurationItemViewModel(i)));
 }
示例#18
0
        public ComparatorViewModel(DuplicateGroup group, ObservableCollection <DuplicateGroup> groups,
                                   ICollectionView groupsView, IUndoRedoEngine undoRedoEngine, WindowService windowService,
                                   IConfigurationModel configuration)
            : this(undoRedoEngine, windowService, configuration)
        {
            _group      = group;
            _groups     = groups;
            _groupsView = groupsView;

            _list    = new LinkedList <ImageInfoClass>(group.FileList);
            _current = _list.First;
            //_list.First.Next

            SaatiHelper.CalculateIndex(_list, configuration);
        }
示例#19
0
        //private Stack<ImageInfoClass> _queue = new Stack<ImageInfoClass>();

        public ThumbnailProvider()
        {
            //_semaphore = new Semaphore(0, 1);

            //StartReader();
            _thumbnailLoaderThread              = new Thread(ThumbnailLoader);
            _thumbnailLoaderThread.Name         = "ThumbnailLoader";
            _thumbnailLoaderThread.IsBackground = true;
            _thumbnailLoaderThread.Priority     = ThreadPriority.Lowest;
            _thumbnailLoaderThread.Start();

            _configuration = TinyIoCContainer.Current.Resolve <IConfigurationModel>();
            _configuration.PropertyChanged += _configuration_PropertyChanged;

            _thumbnailCache = new ThumbnailCache(_configuration);
        }
示例#20
0
        public ComparatorViewModel(DuplPairViewModel result, ObservableCollection <DuplPairViewModel> resultList,
                                   IEditableCollectionView collectionView, IUndoRedoEngine undoRedoEngine, WindowService windowService,
                                   IConfigurationModel configuration)
            : this(undoRedoEngine, windowService, configuration)
        {
            _result         = result;
            _resultList     = resultList;
            _collectionView = collectionView;

            List <ImageInfoClass> list = new List <ImageInfoClass>();

            list.Add(result.FirstFile);
            list.Add(result.SecondFile);
            _list    = new LinkedList <ImageInfoClass>(list);
            _current = _list.First;
            SaatiHelper.CalculateIndex(_list, configuration);
        }
示例#21
0
		void ConfigureSubscriptions(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type handlerType)
		{
			foreach (ISubscriptionConvention convention in autoConfigurationModel.SubscriptionConventions)
			{
				if (convention.ShouldRegister(handlerType))
				{
					object handler = autoConfigurationModel.DependencyResolver.Resolve(handlerType);
					Type messageType = convention.GetMessageType(handler);
					MethodInfo openGetMessageHandlerMethodInfo =
						typeof (ISubscriptionConvention).GetMethod("GetMessageHandler", BindingFlags.Instance | BindingFlags.Public);
					MethodInfo closedGetMessageHandlerMethodInfo =
						openGetMessageHandlerMethodInfo.MakeGenericMethod(new[] {messageType});
					object messageHandler = closedGetMessageHandlerMethodInfo.Invoke(convention, new[] {handler});
					configurationModel.AutoSubscriptions.Add(new AutoSubscription(messageType, messageHandler));
				}
			}
		}
示例#22
0
 void ConfigureSubscriptions(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type handlerType)
 {
     foreach (ISubscriptionConvention convention in autoConfigurationModel.SubscriptionConventions)
     {
         if (convention.ShouldRegister(handlerType))
         {
             object     handler     = autoConfigurationModel.DependencyResolver.Resolve(handlerType);
             Type       messageType = convention.GetMessageType(handler);
             MethodInfo openGetMessageHandlerMethodInfo =
                 typeof(ISubscriptionConvention).GetMethod("GetMessageHandler", BindingFlags.Instance | BindingFlags.Public);
             MethodInfo closedGetMessageHandlerMethodInfo =
                 openGetMessageHandlerMethodInfo.MakeGenericMethod(new[] { messageType });
             object messageHandler = closedGetMessageHandlerMethodInfo.Invoke(convention, new[] { handler });
             configurationModel.AutoSubscriptions.Add(new AutoSubscription(messageType, messageHandler));
         }
     }
 }
        public SettingsViewModel(IDataServiceProvider service)
        {
            //Creating Database instance
            _context = service.GetConfigurationInstance();

            //Setting initial values to fields
            _ipAddress  = _context.IpAddress;
            _ipPort     = _context.IpPort;      //CHECK IF ITS GOOD ???
            _apiVersion = _context.ApiVersion;
            _maxSamples = _context.MaxSamples;
            _sampleTime = _context.SampleTime;


            //Creating Commands for View buttons
            DefaultCommand = new Command(() => { this.SetDefaultSettingsButton(); });
            SaveCommand    = new Command(() => { this.SaveSettingsButton(); });
            Debug.WriteLine("Im created SVM!");
        }
示例#24
0
        public MainViewModel()
        {
            _core          = new CoreLib();
            _windowService = new WindowService();
            //LocationsModel = new LocationsModel(_core);
            LocationsModel = LocationsModel.Load(_core);
            Options        = new Option(_core);
            _ignoreStorage = IgnoreStorage.Load();

            _configuration = TinyIoCContainer.Current.Resolve <IConfigurationModel>();
            _configuration.PropertyChanged += OnConfigurationPropertyChanged;

            UndoRedoEngine undoRedoEngine = new UndoRedoEngine(_configuration);

            _undoRedoEngine = undoRedoEngine;
            _undoRedoEngine.PropertyChanged += OnUndoRedoEnginePropertyChanged;
            TinyIoCContainer.Current.Register <IUndoRedoEngine, UndoRedoEngine>(undoRedoEngine);

            ThumbnailProvider.Instance.PropertyChanged += OnThumbnailProviderPropertyChanged;
        }
示例#25
0
        public LanguageService(IConfigurationModel config)
        {
            _config = config;

            foreach (LanguageEnum value in Enum.GetValues(typeof(LanguageEnum)))
            {
                LanguageViewModel myClass = new LanguageViewModel();
                myClass.Enum      = value;
                myClass.IsChecked = value == LanguageEnum.Russian ? true : false; //check value is last
                myClass.Title     = Enum.GetName(typeof(LanguageEnum), value);
                _languageCollection.Add(myClass);
            }
            if (_config != null)
            {
                Language = _config.Language.ToCultureInfo();
                LanguageEnum langEnum = GetLanguageEnumFromCulture(Language);
                SetCheckedForLanguageCollection(langEnum, LanguageCollection);
            }
            else //по умолчанию
            {
                Language = new CultureInfo("en-US");
            }
        }
示例#26
0
        public Configuration(ISerializer serializer)
        {
            var input = File.ReadAllText(@"configuration.json");

            _model = serializer.Deserialize <ConfigurationModel>(input);
        }
示例#27
0
 public ConfigurationMenuItem(IConfigurationModel model)
 {
     Model             = model;
     Header            = model.DisplayString;
     UseLayoutRounding = true;
 }
示例#28
0
 public ThumbnailCache(IConfigurationModel configuration)
 {
     _configuration = configuration;
 }
示例#29
0
文件: Bus.cs 项目: niaoked/rabbitBus
 public Bus(IConfigurationModel configurationModel)
 {
     _configurationModel   = configurationModel;
     _defaultErrorCallback = OnConsumeError;
     _subscriptions        = new Dictionary <ISubscriptionKey, ISubscription>();
 }
 public IoCServerService(IDataServiceProvider service, HttpClient client)
 {
     _service = service.GetConfigurationInstance();
     _client  = client;
 }
示例#31
0
 public UndoRedoEngine(IConfigurationModel configuration)
 {
     _configuration = configuration;
 }
示例#32
0
        public static void CalculateIndex(IEnumerable <ImageInfoClass> images, IConfigurationModel configuration)
        {
            var resolutionCr   = configuration.Criterions.First(cr => cr.Type == CriterionType.Resolution);
            var jpegQualityCr  = configuration.Criterions.First(cr => cr.Type == CriterionType.JpegQuality);
            var sharpCr        = configuration.Criterions.First(cr => cr.Type == CriterionType.Sharpness);
            var fileSizeSmalCr = configuration.Criterions.First(cr => cr.Type == CriterionType.SmallerFileSize);
            var fileSizeLarCr  = configuration.Criterions.First(cr => cr.Type == CriterionType.LargerFileSize);

            if (fileSizeLarCr.IsUse && fileSizeSmalCr.IsUse)
            {
                throw new ArgumentException("Задан одновременно поиск и наибольшего и наименьшего файлов!");
            }

            decimal sumResolution  = (decimal)images.Sum(i => i.Width * i.Height);
            decimal sumJpegQuality = (decimal)images.Sum(i => i.JpegQuality);
            decimal sumSharpness   = (decimal)images.Sum(i => i.Sharpness);
            decimal sumFileSize    = images.Sum(i => (decimal)i.FileSize);

            if (sumResolution == 0)
            {
                throw new ArgumentException("sumResolution == 0!");
            }
            if (sumJpegQuality == 0)
            {
                throw new ArgumentException("sumJpegQuality == 0!");
            }
            if (sumSharpness == 0)
            {
                throw new ArgumentException("sumSharpness == 0!");
            }
            if (sumFileSize == 0)
            {
                throw new ArgumentException("sumFileSize == 0!");
            }
            //decimal sum = (decimal)(FirstFile.Width * FirstFile.Height + SecondFile.Width * FirstFile.Height);
            foreach (var item in images)
            {
                decimal resolutionNorm   = (item.Width * item.Height) / sumResolution;
                decimal jpegQualityNorm  = (decimal)item.JpegQuality / sumJpegQuality;
                decimal sharpnessNorm    = (decimal)item.Sharpness / sumSharpness;
                decimal fileSizeSmalNorm = 1 - (decimal)item.FileSize / sumFileSize;
                decimal fileSizeLarNorm  = (decimal)item.FileSize / sumFileSize;

                item.UtilityIndexNotNorm = (resolutionCr.IsUse ? resolutionNorm * resolutionCr.Weight : 0)
                                           + (jpegQualityCr.IsUse ? jpegQualityNorm * jpegQualityCr.Weight : 0)
                                           + (sharpCr.IsUse ? sharpnessNorm * sharpCr.Weight : 0)
                                           + (fileSizeSmalCr.IsUse ? fileSizeSmalNorm * fileSizeSmalCr.Weight : 0)
                                           + (fileSizeLarCr.IsUse ? fileSizeLarNorm * fileSizeLarCr.Weight : 0);

                string fileSizeDesc = "";
                if (fileSizeSmalCr.IsUse)
                {
                    fileSizeDesc = "fileSizeSmal " + fileSizeSmalCr.Weight;
                }
                if (fileSizeLarCr.IsUse)
                {
                    fileSizeDesc = "fileSizeLarg " + fileSizeLarCr.Weight;
                }
                item.UtilityIndexCalculateDecription =
                    String.Format("{0}{1}{2}{3} = {4}",
                                  resolutionCr.IsUse ? String.Format("resolution {0} +", resolutionNorm * resolutionCr.Weight) : "",
                                  jpegQualityCr.IsUse ? String.Format("jpegQuality {0} +", jpegQualityNorm * jpegQualityCr.Weight) : "",
                                  sharpCr.IsUse ? String.Format("sharpness {0} +", sharpnessNorm * sharpCr.Weight) : "",
                                  fileSizeDesc,
                                  item.UtilityIndexNotNorm);
            }

            decimal sumUtilityIndex = images.Sum(i => i.UtilityIndexNotNorm);

            if (sumUtilityIndex > 0)
            {
                foreach (var item in images)
                {
                    item.UtilityIndex = item.UtilityIndexNotNorm / sumUtilityIndex;
                }
            }

            decimal totalSum = Math.Round(images.Sum(i => i.UtilityIndex), 15);

            if (totalSum > 1)
            {
                throw new Exception(String.Format("Sum of UtilityIndex ({0}) > 1", totalSum));
            }
        }