Ejemplo n.º 1
0
        public async Task <IActionResult> PostAsync([FromBody] RegisterTransport command)
        {
            if (ModelState.IsValid)
            {
                // Insert Transport
                Transport transport = Mapper.Map <Transport>(command);
                _dbContext.Transports.Add(transport);
                await _dbContext.SaveChangesAsync();

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

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

            return(BadRequest());
        }
Ejemplo n.º 2
0
        private async Task <bool> HandleAsync(TransportRegistered e)
        {
            using (var dbContext = GetDbContext())
            {
                if (e != null)
                {
                    await dbContext.Transports.AddAsync(new Transport
                    {
                        TransportId       = e.TransportId,
                        CompanyName       = e.CompanyName,
                        TypeOfShipment    = e.TypeOfShipment,
                        CityOfDestination = e.CityOfDestination,
                        Description       = e.Description,
                        WeightInKgMax     = e.WeightInKgMax,
                        ShippingCost      = e.ShippingCost,
                    });

                    await dbContext.SaveChangesAsync();
                }
            }

            return(true);
        }