Ejemplo n.º 1
0
        protected async Task SendMessage()
        {
            if (!string.IsNullOrEmpty(MsgText))
            {
                TchatViewModel vm = new TchatViewModel();
                vm.Text      = MsgText;
                vm.ContactId = StateTchatContainer.ContactSelected.UserId;

                var response = await httpClient.PostAsJsonAsync("/api/Tchat", vm);

                response.EnsureSuccessStatusCode();

                if (response.IsSuccessStatusCode)
                {
                    var json = await response.Content.ReadAsStringAsync();

                    if (!string.IsNullOrEmpty(json))
                    {
                        var msg = JsonConvert.DeserializeObject <Message>(json);
                        StateTchatContainer.ListMessage.Add(msg);
                        await NotifyClient.SendMessage(msg);

                        MsgText = string.Empty;
                        StateHasChanged();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PostAsync(TchatViewModel model)
        {
            var contact = await _functionalUnitOfWork.ContactRepository.GetContact(model.ContactId, User.NameIdentifier());

            if (contact == null)
            {
                return(BadRequest());
            }

            Message msg = new Message
            {
                Id         = Guid.NewGuid(),
                UserIdFrom = Guid.Parse(User.NameIdentifier()),
                UserIdTo   = Guid.Parse(model.ContactId),
                DateSent   = DateTime.Now,
                Text       = model.Text,
            };

            msg = await _functionalUnitOfWork.MessageRepository.Add(msg);

            var userFrom = await _userManager.FindByIdAsync(msg.UserIdFrom.ToString());

            var userTo = await _userManager.FindByIdAsync(model.ContactId.ToString());

            await SendMessageEmail(userFrom, userTo);

            return(Ok(msg));
        }