Exemple #1
0
        public void Remove(ITransport transport)
        {
            // XXX: Do anything else here before removing?
            transport.Disconnect();

            transports.Remove(transport);

            TransportRemoved?.Invoke(this, new TransportEventArgs(transport));

            this.loggingService.LogInfo("Transport {0} removed", transport);
        }
Exemple #2
0
        private async Task <bool> HandleAsync(TransportRemoved e)
        {
            using (var dbContext = GetDbContext())
            {
                if (e != null)
                {
                    var transport = await dbContext.Transports.FirstOrDefaultAsync(t => t.TransportId == e.TransportId);

                    dbContext.Transports.Attach(transport);
                    dbContext.Transports.Remove(transport);

                    await dbContext.SaveChangesAsync();
                }
            }

            return(true);
        }
Exemple #3
0
        public async Task <IActionResult> DeleteAsync(string transportId)
        {
            var transport = await _dbContext.Transports.FirstOrDefaultAsync(t => t.TransportId == transportId);

            if (transport != null)
            {
                // Delete Transport
                _dbContext.Transports.Attach(transport);
                _dbContext.Transports.Remove(transport);
                await _dbContext.SaveChangesAsync();

                // Send Event
                RemoveTransport  c = Mapper.Map <RemoveTransport>(transport);
                TransportRemoved e = Mapper.Map <TransportRemoved>(c);
                await _messagePublisher.PublishMessageAsync(e.MessageType, e, "");

                return(CreatedAtRoute("GetTransportById", new { transportId = transport.TransportId }, transport));
            }

            return(NotFound());
        }