public BaseResponse Publish(InserLogRequest request)
        {
            MQConstants.MQ_QUEUE_NAME = request.queuName;
            BaseResponse     baseResponse     = new BaseResponse();
            PublisherRequest publisherRequest = new PublisherRequest {
                //find project id
            };

            try
            {
                using (var connection = _rabbitMQService.GetRabbitMQConnection())
                {
                    using (var chanel = connection.CreateModel())
                    {
                        chanel.QueueDeclare(queue: request.queuName,
                                            durable: MQConstants.MQ_QUEUE_DURABLE,
                                            exclusive: false,
                                            autoDelete: false,
                                            arguments: null);

                        var properties = chanel.CreateBasicProperties();
                        properties.Persistent = MQConstants.MQ_PROPERTIES_PERSISTENT;

                        var message = JsonConvert.SerializeObject(request);

                        var body = Encoding.UTF8.GetBytes(message);

                        chanel.BasicPublish(exchange: "",
                                            routingKey: request.queuName,
                                            basicProperties: properties,
                                            mandatory: true,
                                            body: body);
                    }
                }
                baseResponse.SetStatus(ResponseCode.SUCCESS);
                return(baseResponse);
            }
            catch (Exception ex)
            {
                baseResponse.SetStatus(ResponseCode.SYSTEM_ERROR, ex.Message);
                return(baseResponse);
            }
        }
Esempio n. 2
0
        public IEnumerable <PublisherDTO> Execute(PublisherRequest request)
        {
            var publisher = Context.Publishers.AsQueryable();

            if (request.Origin != null)
            {
                publisher = publisher.Where(p => p.Origin.ToLower().Contains(request.Origin.Trim().ToLower()));
            }

            return(publisher
                   .Where(p => p.DeletedAt == null)
                   .OrderBy(p => p.Id)
                   .Select(p => new PublisherDTO
            {
                Id = p.Id,
                Name = p.Name,
                Origin = p.Origin
            }));
        }
        public async Task <IActionResult> Publisher(PublisherRequest request)
        {
            if (request == null || string.IsNullOrEmpty(request.Message))
            {
                return(BadRequest());
            }

            PublisherResponse response = new PublisherResponse();
            var item = Services.Implementations.Utilities.GetQueueItemForApi(request.Message);
            await _publisherService.Publish(item);

            if (_publisherService.HasError)
            {
                response.ErrorMessage = _publisherService.ErrorMessage;
                return(Ok(response));
            }
            else
            {
                return(Ok());
            }
        }
        public virtual IActionResult HandleRequest([FromBody] PublisherRequest req)
        {
            var res = new PublisherResult
            {
                Code    = 0,
                Message = "success"
            };

            try
            {
                string file   = Path.Combine(Shell.AppRootPath, req.FileName);
                string folder = Path.Combine(Shell.AppRootPath, req.DestinationFolder);
                FileUtils.DecompressDirectory(file, folder);
                System.IO.File.Delete(file);
            }
            catch (Exception ex)
            {
                res.SetException(ex);
                res.Code = 500;
            }

            return(Respond(res));
        }
Esempio n. 5
0
        public async void Send(
            [FromBody] PublisherRequest request,
            [FromServices] IServiceBusLogger logger
            )
        {
            // Set message properties
            request.Message.Id       = Guid.NewGuid();
            request.Message.SendDate = DateTime.Now;

            // Create producer
            var builder  = new ProducerConnectionBuilder <Guid, EventMessage>(request.Settings.IgnoreSsl ? null :this._appConfiguration.Kafka.CertificatePath);
            var producer = builder
                           .WithBootstrapServers(request.Settings.BootstrapServers)
                           .WithAsyncProducer()
                           .WithJsonSerializer()
                           .Build();
            var producerSender = new ProducerAsyncSender <Guid, EventMessage>(
                producer,
                null,
                logger
                );

            await producerSender.SendAsync(request.Message.Id, request.Message, request.Settings.Topic);
        }
        //[LoggedIn]
        public IActionResult Get([FromQuery] PublisherRequest request)
        {
            var result = getCommand.Execute(request);

            return(Ok(result));
        }
Esempio n. 7
0
 public PublisherResult HandleRequest(PublisherRequest req)
 {
     return(PostAs <PublisherResult>("HandleRequest", req));
 }