Пример #1
0
        public void SendMessage(string message, int projectId, string senderId)
        {
            var user    = this.UnitOfWork.Users.All().FirstOrDefault(u => u.Id == senderId);
            var project = this.UnitOfWork.Projects.GetById(projectId);

            var msg = new SendedMessageViewModel
            {
                SenderName = user.UserName,
                PostDate   = DateTime.Now.ToLongTimeString(),
                Message    = message
            };

            Message dbMessage = new Message
            {
                DateSend = DateTime.Now,
                Body     = message,
                Project  = project,
                Sender   = user
            };

            this.UnitOfWork.Messages.Add(dbMessage);
            this.UnitOfWork.SaveChanges();

            Clients.Group(projectId.ToString()).addMessage(msg);
        }
Пример #2
0
        public void Create(SendedMessageViewModel model)
        {
            var user = _context.Users.FirstOrDefault(x => x.Id == _accessor.HttpContext.Session.GetInt32("id").Value);

            var id = 0;

            var messageList = new MessagesList
            {
                StudentId = user.Role == Roles.Student ? user.Id : model.To,
                TeacherId = user.Role == Roles.Teacher ? user.Id : model.To
            };

            if (!_context.MessagesLists.Any(x => x.StudentId == messageList.StudentId && x.TeacherId == messageList.TeacherId))
            {
                _context.MessagesLists.Add(messageList);
                _context.SaveChanges();
                id = messageList.Id;
            }
            else
            {
                id = _context.MessagesLists.FirstOrDefault(x => x.StudentId == messageList.StudentId && x.TeacherId == messageList.TeacherId).Id;
            }

            _context.Messages.Add(new Message
            {
                Content       = model.Content,
                Date          = DateTime.Now,
                MessageListId = id,
                WriterId      = user.Id
            });

            _context.SaveChanges();
        }
Пример #3
0
 public IActionResult Send(SendedMessageViewModel model)
 {
     try
     {
         _service.Create(model);
         return(Ok(new {
             Date = DateTime.Now.ToString("dd.MM.yy HH:mm")
         }));
     }
     catch (Exception ex)
     {
         return(BadRequest("Mesaj göndərilmədi"));
     }
 }