public void Publish(ProductChanges productChanges)
        {
            if (productChanges == null)
            {
                throw new ArgumentNullException(nameof(productChanges));
            }


            using var connection = _connectionFactory.CreateConnection();
            using var channel    = connection.CreateModel();

            try
            {
                channel.ExchangeDeclare(_exchangeName, _exchangeType);
                var routingKey = _routingKeyFactory.GetPublicationKey(productChanges);
                channel.BasicPublish(
                    exchange: _exchangeName,
                    routingKey: routingKey,
                    basicProperties: null,
                    body: _dataSerializer.ToBson(productChanges));
            }
            finally
            {
                connection.Close();
                channel.Close();
            }
        }
Exemplo n.º 2
0
        public Task <bool> UpdateProduct(ProductChanges product)
        {
            try
            {
                using (var conn = _settings.GetConnection())
                {
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }

                    using (var cmd = new SqlCommand("MODIFICA_PRODUCTO", conn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@CODE", SqlDbType.Int).Value             = product.PkCode;
                        cmd.Parameters.Add("@DESCRIPCION", SqlDbType.NVarChar).Value = product.NewDescription;
                        cmd.Parameters.Add("@LINEA", SqlDbType.Int).Value            = product.NewLineType;
                        cmd.Parameters.Add("@CONTENIDO", SqlDbType.NVarChar).Value   = product.NewContent;
                        cmd.ExecuteNonQuery();
                        conn.Close();
                    }
                }
                return(Task.FromResult(true));
            }
            catch (Exception)
            {
                return(Task.FromResult(false));
            }
        }
Exemplo n.º 3
0
        public ProductChange GetProductChange(string plot, int yCoordenates)
        {
            //ContractNumberDue or Funding?
            ProductChange e = ProductChanges.FirstOrDefault(x => plot.Substring(3, 12).Trim() == x.FundingNumber);

            if (e != null)
            {
                e.State = "AUTORIZADO";
                ehllapi.SetCursorPos(yCoordenates + ",2");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("X");
                EhllapiWrapper.Wait();

                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();

                ehllapi.SendStr("@1");
                EhllapiWrapper.Wait();
                ehllapi.SendStr("@E");
                EhllapiWrapper.Wait();
            }

            e.Plot = plot;
            return(e);
        }
Exemplo n.º 4
0
 public ProductChangesDto ToProductChangesDto(ProductChanges productChanges)
 {
     if (productChanges == null)
     {
         throw new ArgumentNullException(nameof(productChanges));
     }
     return(new ProductChangesDto
     {
         Qty = productChanges.Qty,
         State = productChanges.State,
         Number = productChanges.Number,
         PrevQty = productChanges.PrevQty,
         PrevState = productChanges.PrevState
     });
 }
 public string GetPublicationKey(ProductChanges productChanges)
 {
     return(FormRouteKey(productChanges.GetQtyChangeType().ToString(),
                         productChanges.GetStateChangeType().ToString(),
                         productChanges.Category.ToString()));
 }