public ProductosController(IProductosServiceCmd productosServiceCmd,
                            IProductosServiceQuery productosServiceQuery,
                            IUnitOfWork <_AuditoriaInventarios> ufwLog)
 {
     this._productosServiceCmd   = productosServiceCmd;
     this._productosServiceQuery = productosServiceQuery;
     this._ufwLog = ufwLog;
 }
Esempio n. 2
0
 public ProductosController(IProductosServiceCmd productosServiceCmd,
                            IProductosServiceQuery productosServiceQuery)
 {
     this._productosServiceCmd   = productosServiceCmd;
     this._productosServiceQuery = productosServiceQuery;
 }
Esempio n. 3
0
        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");
            }
        }