Пример #1
0
        public ActionResult SendMessage(SendMessageModel sendMessageModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var message = _messageService.GetByCode(sendMessageModel.Code);
                    Message result;
                    if (message != null)
                    {
                        message.MessageBody = sendMessageModel.MessageBody;
                        message.UpdatedDate = DateTime.UtcNow;
                        result = _messageService.Update(message);
                    }
                    else
                    {
                        message = Mapper.Map<SendMessageModel, Message>(sendMessageModel);
                        message.CreatedDate = DateTime.UtcNow;
                        message.UpdatedDate = DateTime.UtcNow;
                        result = _messageService.Create(message);
                    }
                    _messageService.SaveChanges();
                    var viewModel = Mapper.Map<Message, PageBViewModel>(result);

                    return PartialView("PageBMessage", viewModel);
                }
                catch (Exception ex)
                {
                    return new HttpStatusCodeResult(HttpStatusCode.BadRequest, ex.Message);
                }
            }
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Validation Error");
        }
Пример #2
0
 public void SendToUser(string username,string conversationId,string iamId,string friendId, string message)
 {
     if (message != null || message != "")
     {
         User iam;
         var msg = new Message()
              {
                  Text = message,
                  Time = DateTime.Now,
                  UserId = Convert.ToInt32(iamId),
                  Ip = HttpContext.Current.Request.UserHostAddress,
                  ConversationId = Convert.ToInt32(conversationId)
              };
         using (DatabaseContext db = new DatabaseContext())
         {
             iam = db.Users.Include("Profile").Where(u => u.Id.ToString() == iamId).FirstOrDefault();
             db.Messages.Add(msg);
             db.SaveChanges();
         }
         var msgToSend = new SendMessageModel()
         {
            AvatarPath=iam.Profile.AvatarPath,
            Text=message,
            Time=msg.Time,
            UserId=iam.Id ,
            FullName=iam.FullName
         };
         Clients.User(username).newMessage(msgToSend);
     }
 }