Example #1
0
        public async Task <IActionResult> Send(String userId, [FromBody] ContactMessageDto messageDto)
        {
            if (!_validationHelper.ValidateUserPermissions(User, userId))
            {
                throw new AuthenticationException();
            }

            if (messageDto == null)
            {
                throw new Exception("Something went wrong...");
            }

            try
            {
                var message = AutoMapper.Mapper.Map <ContactMessageDoc>(messageDto);
                message.UserId = userId;
                message.Id     = Guid.NewGuid();
                await _messageRepository.AddMessage(message);

                await _emailHelper.SendMessage(message);
            }
            catch (Exception e)
            {
                throw;
            }

            return(Ok());
        }
 public async Task Post(ContactMessageDto contactMessage)
 {
     var command = new SendContactMessageCommand {
         ContactMessage = contactMessage
     };
     await _commandDispatcher.Execute(command);
 }
        public ActionResult <AddMessageStatusOutDto> Contact([FromBody][Required] ContactMessageDto message)
        {
            if (!ModelState.IsValid)
            {
                _logger.LogWarning("This model is invalid.", ModelState);
                return(BadRequest(ModelState));
            }

            var messageEvent = new Message
            {
                MessageId = Guid.NewGuid().GetHashCode(),
                Contact   = new Contact
                {
                    LastName    = message.LastName,
                    FirstName   = message.FirstName,
                    PhoneNumber = message.PhoneNumber
                },
                Chat = new Chat
                {
                    Id = message.ChatId
                },
                Date = DateTime.Now
            };

            var result = _bot.MessageHandler(messageEvent);

            return(result
                ? Ok(new AddMessageStatusOutDto {
                Status = "successfully", MessageId = messageEvent.MessageId
            })
                : StatusCode(500, new AddMessageStatusOutDto {
                Status = "failed", MessageId = messageEvent.MessageId
            }));
        }
Example #4
0
        public bool SubmitContactMessage(ContactMessageDto dto)
        {
            var contactMessage = new ContactMessage {
                FullName = dto.FullName, Email = dto.Email, Message = dto.Message, StatusId = 1
            };

            db.ContactMessages.Add(contactMessage);
            db.SaveChanges();
            return(true);
        }
Example #5
0
        public async Task SendToUser(ContactMessageDto message)
        {
            var usr = GetCurrentUser();

            message.sentOn = DateTime.Now;
            var x = _contactService.AddMessageToConversation(message);

            message.Id = x.Id;

            await Clients.User(message.toId).SendAsync("SendToUser", message);
        }
Example #6
0
        private string ConstructBodyMessage(ContactMessageDto contactData)
        {
            var stbBody = new StringBuilder();

            stbBody.Append("<h4>You have just received a new contact message from the AkaBI WebSite.</h4>");
            stbBody.Append("<p>Contact info:</p>");
            stbBody.AppendFormat("<p><b>Name:</b> {0}</p>", contactData.Name);
            stbBody.AppendFormat("<p><b>E-mail:<b/> {0}</p>", contactData.Email);
            stbBody.Append("<br/>-----------------Message----------------------<br/>");
            stbBody.AppendFormat("<p>{0}</p>", HtmlStringFormatUtils.ReplaceBreakLineByHtmlParagraph(contactData.Message));

            return(stbBody.ToString());
        }
        public IHttpActionResult SubmitContactMessage([FromBody] ContactMessageDto dto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                _contactMessageService.SubmitContactMessage(dto);

                return(Ok(AppMessage.OkSucceeded));
            }
            catch (System.Exception e)
            {
                return(InternalServerError(e));
            }
        }
Example #8
0
 /// <summary>
 ///    From ContactMessage dto To ContactMessage pivot.
 /// </summary>
 /// <param name="contactMessageDto">contactMessage dto to assemble.</param>
 /// <returns>ContactMessagepivot result.</returns>
 public static ContactMessagePivot ToPivot(this ContactMessageDto contactMessageDto)
 {
     if (contactMessageDto == null)
     {
         return(null);
     }
     return(new ContactMessagePivot()
     {
         ContactMessageId = contactMessageDto.ContactMessageId,
         ContactMessageFirstName = contactMessageDto.ContactMessageFirstName,
         ContactMessageLastName = contactMessageDto.ContactMessageLastName,
         ContactMessageMail = contactMessageDto.ContactMessageMail,
         ContactMessageSubject = contactMessageDto.ContactMessageSubject,
         ContactMessageText = contactMessageDto.ContactMessageText,
         LanguageId = contactMessageDto.LanguageId,
         Language = contactMessageDto.Language?.ToPivot(),
     });
 }
Example #9
0
        public ContactMessageDto AddMessageToConversation(ContactMessageDto message)
        {
            var mess = new Message();

            mess.ConversationId = Guid.Parse(message.conversationId);
            mess.FromId         = Convert.ToInt32(message.fromId);
            mess.ToId           = Convert.ToInt32(message.toId);
            mess.FromName       = message.fromName;
            mess.MessageText    = message.message;
            mess.SentOn         = DateTime.Now;
            mess.ToName         = message.toName;

            var x = _context.Messages.Add(mess);

            _context.SaveChanges();

            message.Id = x.Entity.Id;

            return(message);
        }
Example #10
0
        public IEnumerable <ContactMessageDto> GetMessagesForConversation(string conversationId)
        {
            var convId = Guid.Parse(conversationId);
            var ms     = _context.Messages.Where(x => x.ConversationId == convId).ToList();

            var messages = new List <ContactMessageDto>();

            foreach (var m in ms)
            {
                ContactMessageDto cm = new ContactMessageDto();
                cm.conversationId = conversationId;
                cm.fromId         = m.FromId.ToString();
                cm.fromName       = m.FromName;
                cm.Id             = m.Id;
                cm.message        = m.MessageText;
                cm.sentOn         = m.SentOn;
                cm.toId           = m.ToId.ToString();
                cm.toName         = m.ToName;

                messages.Add(cm);
            }

            return(messages);
        }
Example #11
0
        public void SendContactMessage(ContactMessageDto contactData)
        {
            var sendTo = ConfigSettingsHandler.ReadSetting(Constants.ContactToKey);

            _emailHandler.SendEmail(sendTo, contactData.Subject, ConstructBodyMessage(contactData), true);
        }