/// <summary> /// Inicializa a instancia com os parametros informados. /// </summary> /// <param name="parameters">Dicionário com os parametros de inicialização.</param> public void Init(System.Collections.IDictionary parameters) { var sourceContext = parameters["sourceContext"] as ISourceContext; var manager = parameters["manager"] as IDataCacheManager; var logger = parameters["logger"] as Colosoft.Logging.ILogger; var typeSchema = parameters["typeSchema"] as Colosoft.Data.Schema.ITypeSchema; var cacheLoaderObserver = parameters["cacheLoaderObserver"] as ICacheLoaderObserver; var typesMetadata = parameters["typesMetadata"] as IList <ITypeMetadata>; sourceContext.Require("sourceContext").NotNull(); manager.Require("manager").NotNull(); if (typesMetadata == null) { typeSchema.Require("typeSchema").NotNull(); } logger.Require("logger").NotNull(); _sourceContext = sourceContext; _manager = manager; _logger = logger; _typeSchema = typeSchema; _typesMetadata = typesMetadata; _started = false; if (cacheLoaderObserver != null) { _observer += cacheLoaderObserver; } }
/// <summary> /// Inicializa a isntancia. /// </summary> /// <param name="parameters">Parametros de configuração.</param> public void Init(System.Collections.IDictionary parameters) { var manager = parameters["manager"] as IDataCacheManager; var downloader = parameters["downloader"] as IDataEntryDownloader; var repository = parameters["repository"] as IDataEntriesRepository; var logger = parameters["logger"] as Colosoft.Logging.ILogger; var typeSchema = parameters["typeSchema"] as Colosoft.Data.Schema.ITypeSchema; var cacheLoaderObserver = parameters["cacheLoaderObserver"] as ICacheLoaderObserver; manager.Require("manager").NotNull(); downloader.Require("downloader").NotNull(); repository.Require("repository").NotNull(); typeSchema.Require("typeSchema").NotNull(); logger.Require("logger").NotNull(); _manager = manager; _downloader = downloader; _repository = repository; _logger = logger; _typeSchema = typeSchema; if (cacheLoaderObserver != null) { _observer += cacheLoaderObserver; } downloader.DownloadCompleted += Downloader_DownloadCompleted; downloader.ProgressChanged += Downloader_ProgressChanged; }
/// <summary> /// Inicia uma nova instância da classe <see cref="MonitorCondicoesPagamento"/>. /// </summary> /// <param name="configuracao">Configuração que será usada.</param> /// <param name="logger">Logger.</param> public MonitorCondicoesPagamento( ConfiguracaoKhan configuracao, Colosoft.Logging.ILogger logger) { this.configuracao = configuracao; this.logger = logger; Colosoft.Net.ServiceClientsManager.Current.Register(this.serviceUid, this.CriarCliente); }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="service"></param> /// <param name="logger"></param> public HttpServiceHost(Colosoft.ServiceProcess.IHttpService service, Colosoft.Logging.ILogger logger) { _service = service; _logger = logger; var thread = new System.Threading.Thread(() => OpenHttpChannel()); thread.IsBackground = true; thread.Start(); }
/// <summary> /// Inicia uma nova instância da classe <see cref="MonitorIndicadoresFinanceiros"/>. /// </summary> /// <param name="configuracao">Configuração.</param> /// <param name="logger">Logger que deve ser usado.</param> /// <param name="rentabilidadeFluxo">Fluxo de negócio da rentabilidade.</param> public MonitorIndicadoresFinanceiros( ConfiguracaoKhan configuracao, Colosoft.Logging.ILogger logger, Rentabilidade.Negocios.IRentabilidadeFluxo rentabilidadeFluxo) { this.configuracao = configuracao; this.logger = logger; this.rentabilidadeFluxo = rentabilidadeFluxo; Colosoft.Net.ServiceClientsManager.Current.Register(this.serviceUid, this.CriarCliente); }
/// <summary> /// Inicia uma nova instância da classe <see cref="MonitorProdutos"/>. /// </summary> /// <param name="domainEvents">Eventos de domínio.</param> /// <param name="logger">Logger.</param> /// <param name="configuracao">Configuração.</param> /// <param name="produtoFluxo">Fluxo de negócio dos produtos.</param> /// <param name="provedorHistorico">Provedor dos históricos.</param> public MonitorProdutos( Colosoft.Domain.IDomainEvents domainEvents, Colosoft.Logging.ILogger logger, ConfiguracaoKhan configuracao, Global.Negocios.IProdutoFluxo produtoFluxo, Historico.IProvedorHistorico provedorHistorico) : base(domainEvents) { this.logger = logger; this.configuracao = configuracao; this.produtoFluxo = produtoFluxo; this.provedorHistorico = provedorHistorico; Colosoft.Net.ServiceClientsManager.Current.Register(this.serviceUid, this.CriarCliente); }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="sourceContext">Contexto de origem que será usado para fazer as consulta no banco de dados.</param> /// <param name="typeSchema"></param> /// <param name="dataEntryDownloader">Instancia do downloader da entradas de dados.</param> /// <param name="dataEntriesRepository">Instancia do repositório das entradas de dados.</param> /// <param name="cacheLoaderObverser">Observer o loader.</param> /// <param name="logger"></param> public DataCacheManager(Colosoft.Query.ISourceContext sourceContext, ITypeSchema typeSchema, IDataEntryDownloader dataEntryDownloader, IDataEntriesRepository dataEntriesRepository, ICacheLoaderObserver cacheLoaderObverser, Colosoft.Logging.ILogger logger) { sourceContext.Require("sourceContext").NotNull(); typeSchema.Require("typeSchema").NotNull(); dataEntryDownloader.Require("dataEntryDownloader").NotNull(); dataEntriesRepository.Require("dataEntriesRepository").NotNull(); cacheLoaderObverser.Require("cacheLoaderObserver").NotNull(); logger.Require("logger").NotNull(); _sourceContext = sourceContext; _typeSchema = typeSchema; _dataEntryDownloader = dataEntryDownloader; _dataEntriesRepository = dataEntriesRepository; _cacheLoaderObserver = cacheLoaderObverser; _logger = logger; }
/// <summary> /// Inicia uma nova instância da classe <see cref="MonitorNotaFiscal"/>. /// </summary> /// <param name="domainEvents">Eventos de domínio.</param> /// <param name="logger">Logger para registrar as informações.</param> /// <param name="configuracao">Configuração.</param> /// <param name="provedorHistorico">Provedor dos históricos.</param> public MonitorNotaFiscal( Colosoft.Domain.IDomainEvents domainEvents, Colosoft.Logging.ILogger logger, ConfiguracaoKhan configuracao, Historico.IProvedorHistorico provedorHistorico) : base(domainEvents) { this.logger = logger; this.configuracao = configuracao; this.provedorHistorico = provedorHistorico; this.AdicionarToken <Data.Domain.NotaFiscalGerada>( domainEvents.GetEvent <Data.Domain.NotaFiscalGerada>().Subscribe(this.NotaFiscalGerada)); Colosoft.Net.ServiceClientsManager.Current.Register(this.pedidoServiceUid, this.CriarPedidoClient); Colosoft.Net.ServiceClientsManager.Current.Register(this.consultasServciceUid, this.CriarConsultasClient); }
/// <summary> /// Carrega os metadados da propriedade nesse tipo /// </summary> /// <param name="property">Propriedade a ser carregada</param> /// <param name="logger"></param> internal void AddPropertyMetadata(PropertyMetadata property, Colosoft.Logging.ILogger logger) { if (property.TypeCode != this.TypeCode) { throw new Exception(ResourceMessageFormatter.Create(() => global::Colosoft.Data.Schema.Server.Properties.Resources.PropertyAndTypeNotMatched, property.Name, this.Name).Format()); } try { _propertiesDictionaryKeyFullname.Add(property.Name, property); } catch (ArgumentException ex) { logger.Write(ResourceMessageFormatter.Create(() => global::Colosoft.Data.Schema.Server.Properties.Resources.PropertyAlreadyExistsTypeMetadata, property.Name, this.Namespace + this.Name), ex, Logging.Priority.High); } _propertiesDictionaryKeyPropertyCode.Add(property.PropertyCode, property); if (property.ParameterType == PersistenceParameterType.IdentityKey || property.ParameterType == PersistenceParameterType.Key) { _keyPropertiesList.Add(property); } }
/// <summary> /// Inicializa os integradores. /// </summary> /// <param name="logger">Logger que será usado na operação.</param> /// <returns>True se a inicialização foi bem sucedida.</returns> public async Task <bool> Inicializar(Colosoft.Logging.ILogger logger) { IEnumerable <IIntegrador> integradoresDisponiveis; try { integradoresDisponiveis = await this.provedor.ObterIntegradoresDisponiveis(); } catch (Exception ex) { logger.Error("Não foi possível carrega os integradores disponíveis".GetFormatter(), ex); return(false); } var inicializacaoSucedida = true; foreach (var integrador in integradoresDisponiveis) { if (integrador.Ativo) { try { await integrador.Setup(); this.integradores.Add(integrador); } catch (Exception ex) { logger.Error($"Ocorreu um erro no setup do integrador {integrador.Nome}".GetFormatter(), ex); inicializacaoSucedida = false; integrador.Dispose(); } } } return(inicializacaoSucedida); }
/// <summary> /// Inicia uma nova instância da classe <see cref="MonitorCondicoesPagamentoJob"/>. /// </summary> /// <param name="monitor">Monitor das condições de pagamento.</param> /// <param name="logger">Logger.</param> public MonitorCondicoesPagamentoJob(MonitorCondicoesPagamento monitor, Colosoft.Logging.ILogger logger) { this.monitor = monitor; this.logger = logger; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="logger">Recebe o seviço de login</param> public TypeSchema(Colosoft.Logging.ILogger logger) { _logger = logger; _allDone = new System.Threading.ManualResetEvent(false); BeginLoadTableAndPropertyData(); }
/// <summary> /// Inicia uma nova instância da classe <see cref="GerenciadorOperacaoIntegracao"/>. /// </summary> /// <param name="logger">Logger que será usado pela instância.</param> public GerenciadorOperacaoIntegracao(Colosoft.Logging.ILogger logger) { this.logger = logger; }
/// <summary> /// Inicia uma nova instância da classe <see cref="MonitorIndicadoresFinanceirosJob"/>. /// </summary> /// <param name="monitor">Monitor base.</param> /// <param name="logger">Logger.</param> public MonitorIndicadoresFinanceirosJob(MonitorIndicadoresFinanceiros monitor, Colosoft.Logging.ILogger logger) { this.monitor = monitor; this.logger = logger; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="dataCacheManager"></param> /// <param name="cacheDataSource"></param> /// <param name="serverDataSource"></param> /// <param name="typeSchema"></param> /// <param name="keyFactory"></param> /// <param name="logger"></param> public QueryDataSourceSelector(Lazy <Colosoft.Data.Caching.IDataCacheManager> dataCacheManager, Lazy <Query.IQueryDataSource> cacheDataSource, Lazy <Query.IQueryDataSource> serverDataSource, Lazy <Colosoft.Data.Schema.ITypeSchema> typeSchema, Lazy <Colosoft.Query.IRecordKeyFactory> keyFactory, Colosoft.Logging.ILogger logger) { dataCacheManager.Require("dataCacheManager").NotNull(); cacheDataSource.Require("cacheDataSource").NotNull(); serverDataSource.Require("serverDataSource").NotNull(); typeSchema.Require("typeSchema").NotNull(); keyFactory.Require("keyFactory").NotNull(); _dataCacheManager = dataCacheManager; _cacheDataSource = cacheDataSource; _serverDataSource = serverDataSource; _dynamicQueryDataSource = new Dynamic.DynamicQueryDataSource(_serverDataSource, dataCacheManager, typeSchema, keyFactory, logger); }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="serverQueryDataSource">Instancia da origem de ados do query do servidor.</param> /// <param name="dataCacheManager">Instancia do gerenciadoir de dados do cache.</param> /// <param name="typeSchema">Instancia com os esquemas dos tipos do sistema.</param> /// <param name="keyFactory">Instacia da factory das chaves.</param> /// <param name="logger">Instancia resposável pelo registro dos logs.</param> public DynamicQueryDataSource(Lazy <IQueryDataSource> serverQueryDataSource, Lazy <Colosoft.Data.Caching.IDataCacheManager> dataCacheManager, Lazy <Colosoft.Data.Schema.ITypeSchema> typeSchema, Lazy <Colosoft.Query.IRecordKeyFactory> keyFactory, Colosoft.Logging.ILogger logger) { serverQueryDataSource.Require("serverQueryDataSource").NotNull(); dataCacheManager.Require("dataCacheManager").NotNull(); typeSchema.Require("typeSchema").NotNull(); keyFactory.Require("keyFactory").NotNull(); _serverQueryDataSource = serverQueryDataSource; _dataCacheManager = dataCacheManager; _typeSchema = typeSchema; _keyFactory = keyFactory; }
/// <summary> /// Inicia uma nova instância da classe <see cref="SinronizadorTodosProdutosJob"/>. /// </summary> /// <param name="monitorProdutos">Monitor dos produtos.</param> /// <param name="logger">Logger.</param> public SinronizadorTodosProdutosJob(MonitorProdutos monitorProdutos, Colosoft.Logging.ILogger logger) { this.monitorProdutos = monitorProdutos; this.logger = logger; }
void IEvictionPolicy.Execute(CacheBase cache, CacheRuntimeContext context, long evictSize) { Colosoft.Logging.ILogger Logger = cache.Context.Logger; if (Logger.IsInfoEnabled) { Logger.Info(("Cache Size: {0}" + cache.Count.ToString()).GetFormatter()); } _sleepInterval = ServiceConfiguration.EvictionBulkRemoveDelay; _removeThreshhold = ServiceConfiguration.EvictionBulkRemoveSize; DateTime now = DateTime.Now; ArrayList selectedKeys = this.GetSelectedKeys(cache, (long)Math.Ceiling((double)(evictSize * _ratio))); DateTime time2 = DateTime.Now; if (Logger.IsInfoEnabled) { Logger.Info(string.Format("Time Span for {0} Items: " + ((TimeSpan)(time2 - now)), selectedKeys.Count).GetFormatter()); } now = DateTime.Now; Cache cacheRoot = context.CacheRoot; ArrayList list2 = new ArrayList(); ArrayList list3 = new ArrayList(); ArrayList c = null; IEnumerator enumerator = selectedKeys.GetEnumerator(); int num = _removeThreshhold / 300; int num2 = 0; while (enumerator.MoveNext()) { object current = enumerator.Current; if (current != null) { list2.Add(current); if ((list2.Count % 300) == 0) { try { c = cache.RemoveSync(list2.ToArray(), ItemRemoveReason.Underused, false, new OperationContext(OperationContextFieldName.OperationType, OperationContextOperationType.CacheOperation)) as ArrayList; } catch (Exception exception) { Logger.Error("PriorityEvictionPolicy.Execute".GetFormatter(), ("an error occured while removing items. Error " + exception.ToString()).GetFormatter()); } list2.Clear(); if ((c != null) && (c.Count > 0)) { list3.AddRange(c); } num2++; if (num2 >= num) { System.Threading.Thread.Sleep((int)(_sleepInterval * 0x3e8)); num2 = 0; } } } } if (list2.Count > 0) { try { c = cache.RemoveSync(list2.ToArray(), ItemRemoveReason.Underused, false, new OperationContext(OperationContextFieldName.OperationType, OperationContextOperationType.CacheOperation)) as ArrayList; if ((c != null) && (c.Count > 0)) { list3.AddRange(c); } } catch (Exception exception2) { Logger.Error("PriorityEvictionPolicy.Execute".GetFormatter(), ("an error occured while removing items. Error " + exception2.ToString()).GetFormatter()); } } if (list3.Count > 0) { ArrayList list5 = new ArrayList(); if (cacheRoot != null) { foreach (object obj3 in list3) { if (obj3 != null) { list5.Add(obj3); if ((list5.Count % 100) == 0) { try { cacheRoot.CascadedRemove(list5.ToArray(), ItemRemoveReason.Underused, true, new OperationContext(OperationContextFieldName.OperationType, OperationContextOperationType.CacheOperation)); } catch (Exception exception3) { Logger.Error("PriorityEvictionPolicy.Execute".GetFormatter(), ("an error occured while removing dependent items. Error " + exception3.ToString()).GetFormatter()); } list5.Clear(); } } } if (list5.Count > 0) { try { cacheRoot.CascadedRemove(list5.ToArray(), ItemRemoveReason.Underused, true, new OperationContext(OperationContextFieldName.OperationType, OperationContextOperationType.CacheOperation)); } catch (Exception exception4) { Logger.Error("PriorityEvictionPolicy.Execute".GetFormatter(), ("an error occured while removing dependent items. Error " + exception4.ToString()).GetFormatter()); } list5.Clear(); } } } }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="logger"></param> public LoggerAssemblyRepositoryCatalogObserver(Colosoft.Logging.ILogger logger) { logger.Require("logger").NotNull(); _logger = logger; }
/// <summary> /// Inicia uma nova instância da classe <see cref="MonitorNotaFiscalJob"/>. /// </summary> /// <param name="monitor">Monitor base.</param> /// <param name="logger">Logger.</param> public MonitorNotaFiscalJob(MonitorNotaFiscal monitor, Colosoft.Logging.ILogger logger) { this.monitor = monitor; this.logger = logger; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="logger"></param> public BusinessValidationManager(Colosoft.Logging.ILogger logger) : base(logger) { }