public ProductosController(IProductosServiceCmd productosServiceCmd, IProductosServiceQuery productosServiceQuery, IUnitOfWork <_AuditoriaInventarios> ufwLog) { this._productosServiceCmd = productosServiceCmd; this._productosServiceQuery = productosServiceQuery; this._ufwLog = ufwLog; }
public ProductosController(IProductosServiceCmd productosServiceCmd, IProductosServiceQuery productosServiceQuery) { this._productosServiceCmd = productosServiceCmd; this._productosServiceQuery = productosServiceQuery; }
private void Start(CancellationToken stoppingToken) { try { CancellationTokenSource cts = new CancellationTokenSource(); Console.CancelKeyPress += (_, e) => { e.Cancel = true; cts.Cancel(); }; using (var c = new ConsumerBuilder <string, string>(this._consumerConfig).Build()) { c.Subscribe("TP_Inventario"); while (!stoppingToken.IsCancellationRequested) { _AuditoriaCatalogos log = null; using (var scope = this._serviceProvider.CreateScope()) { _productosServiceCmd = (IProductosServiceCmd)scope.ServiceProvider.GetRequiredService(typeof(IProductosServiceCmd)); _log = (IUnitOfWork <_AuditoriaCatalogos>)scope.ServiceProvider.GetRequiredService(typeof(IUnitOfWork <_AuditoriaCatalogos>)); try { var cr = c.Consume(cts.Token); _logger.LogInformation($"\n\n"); _logger.LogInformation($"--------------------------------------------------{DateTime.Now}\n"); _logger.LogInformation($"TOPIC: '{cr.Topic}' EVENTO: '{cr.Key}' MENSAJE CONSUMIDO: '{cr.Value}' \n"); //log = new _AuditoriaInventarios("TOPIC", "", false, "", "sad", this.ToString(), $"TOPIC: '{cr.Topic}' EVENTO: '{cr.Key}' MENSAJE CONSUMIDO: '{cr.Value}' ", "", "", ""); //_log.Repository<_AuditoriaInventarios>().InsertOne(log); switch (cr.Topic) { case "TP_Inventario": switch (cr.Key) { case "EstadoActualizado": EventBase <EstadoProductoCmd> eventoEstado = JsonConvert.DeserializeObject <EventBase <EstadoProductoCmd> >(cr.Value); this._productosServiceCmd.ProcesarEstadoProducto(eventoEstado); break; default: throw new Exception("Evento no identificado"); } break; default: break; } } catch (Exception e) { log = new _AuditoriaCatalogos("TOPIC PROCESO EXCEPTION", "", true, "", "", this.ToString(), e.Message, e.StackTrace, "", ""); _log.Repository <_AuditoriaCatalogos>().InsertOne(log); } } } } } catch (Exception e) { _logger.LogError($"MENSAJE: '{e.Message}' STACKTRACE: '{e.StackTrace}' \n\n\n"); } }