public async Task<ActionResult<Message>> SendCarpool(CarpoolingDto carpoolDto)
 {
     Message sent = await _logic.SendCarpool(carpoolDto);
     if (sent == null)
     {
        // _logger.LogInformation("Bad Request");
         return BadRequest("Message was not sent");
     }
     return sent;
 }
Example #2
0
        /// <summary>
        /// takes in a CarpoolingDto parameter and creates a Message. returns the new Message
        /// </summary>
        /// <param name="carpoolDto"></param>
        /// <returns></returns>
        public Message BuildMessage(CarpoolingDto carpoolDto)
        {
            Message carpoolMessage = new Message()
            {
                RecipientListID = carpoolDto.CarpoolListID,
                SenderID        = carpoolDto.SenderID,
                MessageText     = carpoolDto.MessageText,
                MessageID       = Guid.NewGuid(),
                SentDate        = DateTime.Now
            };

            return(carpoolMessage);
        }
Example #3
0
        public async void TestSendCarpool()
        {
            var options = new DbContextOptionsBuilder <MessageContext>()
                          .UseInMemoryDatabase(databaseName: "p3MessageService")
                          .Options;

            using (var context = new MessageContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                Repo   r     = new Repo(context, new NullLogger <Repo>());
                Mapper map   = new Mapper();
                Logic  logic = new Logic(r, map, new NullLogger <Repo>());

                var carpoolingDto = new CarpoolingDto
                {
                    SenderID      = "23423435654",
                    CarpoolListID = Guid.NewGuid(),
                    MessageText   = "Hello I am a message!!!!"
                };

                var message = new Message
                {
                    MessageID       = Guid.NewGuid(),
                    SenderID        = carpoolingDto.SenderID,
                    RecipientListID = Guid.NewGuid(),
                    SentDate        = DateTime.Now,
                    MessageText     = carpoolingDto.MessageText
                };

                r.Messages.Add(message);
                await r.CommitSave();

                var sendCarpool = await logic.SendCarpool(carpoolingDto);

                Assert.Equal(message.SenderID, carpoolingDto.SenderID);
                Assert.Equal(message.MessageText, carpoolingDto.MessageText);
            }
        }
Example #4
0
        /// <summary>
        /// calls the mapperClass BuildMessage() to build a new message, calls sendMessage()
        /// to save the message and the recipient list to the database.
        /// </summary>
        /// <param name="carpoolDto"></param>
        /// <returns></returns>
        public async Task <Message> SendCarpool(CarpoolingDto carpoolDto)
        {
            Message message = _mapper.BuildMessage(carpoolDto);

            return(await SendMessage(message));
        }