public IHttpActionResult PostPersonalMessage(UserMessageBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            if (model == null)
            {
                return(this.BadRequest());
            }

            var sendToUser = this.Data.Users.FirstOrDefault(u => u.UserName == model.Recepient);

            if (sendToUser == null)
            {
                this.BadRequest("No such recepient found");
            }

            var userMessage = new UserMessage
            {
                SendToUserId = sendToUser.Id,
                Text         = model.Text
            };

            if (this.User.Identity.IsAuthenticated)
            {
                userMessage.SendByUserId = this.User.Identity.GetUserId();
            }

            this.Data.UserMessages.Add(userMessage);
            this.Data.SaveChanges();

            return(this.Ok(userMessage));
        }
Пример #2
0
        public IHttpActionResult SendPersonalMessage(UserMessageBindingModel messageData)
        {
            if (messageData == null)
            {
                return(BadRequest("Missing message data."));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var recipientUser = this.db.Users.All()
                                .FirstOrDefault(u => u.UserName == messageData.Recipient);

            if (recipientUser == null)
            {
                return(BadRequest("Recipient user " + messageData.Recipient + " does not exists."));
            }

            var currentUserId = User.Identity.GetUserId();
            var currentUser   = this.db.Users.Find(currentUserId);

            var message = new UserMessage()
            {
                Text          = messageData.Text,
                DateSent      = DateTime.Now,
                SenderUser    = currentUser,
                RecipientUser = recipientUser
            };

            db.UserMessages.Add(message);
            db.SaveChanges();

            if (message.SenderUser == null)
            {
                return(this.Ok(
                           new
                {
                    message.Id,
                    Message = "Anonymous message sent successfully to user " + recipientUser.UserName + "."
                }
                           ));
            }

            return(this.Ok(
                       new
            {
                message.Id,
                Sender = message.SenderUser.UserName,
                Message = "Message sent successfully to user " + recipientUser.UserName + "."
            }
                       ));
        }
Пример #3
0
        public IHttpActionResult PostPersonalMessages([FromBody] UserMessageBindingModel userMessageModel)
        {
            if (!ModelState.IsValid || userMessageModel == null || string.IsNullOrEmpty(userMessageModel.Text))
            {
                return(BadRequest());
            }

            var recipient = db.Users.All().FirstOrDefault(u => u.UserName == userMessageModel.UserName);

            if (recipient == null)
            {
                return(NotFound());
            }

            var  userId = User.Identity.GetUserId();
            User user   = null;

            if (userId != null)
            {
                user = db.Users.All().FirstOrDefault(u => u.Id == userId);
            }

            if (userId != null && user == null)
            {
                return(Unauthorized());
            }

            var userMessage = new UserMessage()
            {
                Text     = userMessageModel.Text,
                DateSent = DateTime.Now,
                Reciever = recipient,
                Sender   = user
            };

            db.UserMessages.Add(userMessage);
            db.SaveChanges();

            if (user == null)
            {
                return(this.Ok(new
                {
                    Id = userMessage.Id,
                    Message = "Anonymous message sent successfully to user " + recipient.UserName + "."
                }));
            }

            return(this.Ok(new
            {
                Id = userMessage.Id,
                Sender = user.UserName,
                Message = "Message sent to user  " + recipient.UserName + "."
            }));
        }
        public IHttpActionResult PostMessage(UserMessageBindingModel model)
        {
            if (model == null || !this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var recipient = this.Data.Users
                            .FirstOrDefault(x => x.UserName == model.Recipient); // get all data

            if (recipient == null)
            {
                return(this.BadRequest("Recipient is not found!"));
            }

            var userMessage = new UserMessage
            {
                RecipientId = recipient.Id,
                Text        = model.Text,
                DateSent    = DateTime.Now
            };

            if (this.User.Identity.IsAuthenticated)
            {
                var senderId = this.User.Identity.GetUserId();

                /* if (senderId == userMessage.RecipientId)
                 * {
                 *   return this.BadRequest("Тhe recipient must be a different user");
                 * }*/

                userMessage.SenderId = senderId;
            }

            this.Data.UserMessages.Add(userMessage);
            this.Data.SaveChanges();

            if (this.User.Identity.IsAuthenticated)
            {
                return(this.Ok(new
                {
                    Id = userMessage.Id,
                    Sender = this.User.Identity.GetUserName(),
                    Message = "Message sent to user " + recipient.UserName
                }));
            }

            return(this.Ok(new
            {
                Id = userMessage.Id,
                Message = "Anonymous message sent successfully to user " + recipient.UserName
            }));
        }
Пример #5
0
        public IHttpActionResult PostPersonalMessage([FromBody] UserMessageBindingModel userMessageModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

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

            if (string.IsNullOrEmpty(userMessageModel.Text))
            {
                return(BadRequest());
            }

            var recipient = db.Users.FirstOrDefault(u => u.UserName == userMessageModel.Recipient);

            if (recipient == null)
            {
                return(NotFound());
            }

            var userMessage = new UserMessage()
            {
                Text     = userMessageModel.Text,
                DateSent = DateTime.Now,
                Reciever = recipient,
                Sender   = null
            };

            db.UserMessages.Add(userMessage);
            db.SaveChanges();

            return(this.Ok(new
            {
                Id = userMessage.Id,
                Message = "Anonymous message sent successfully to user " + userMessageModel.Recipient + "."
            }));
        }
Пример #6
0
        public IHttpActionResult PostUserMessage(string username, UserMessageBindingModel model)
        {
            var loggedUserId = this.User.Identity.GetUserId();
            var loggedUser   = this.Data.Users.Find(loggedUserId);

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var reciever = this.Data.Users.All().FirstOrDefault(u => u.UserName == username);

            if (reciever == null)
            {
                return(this.BadRequest("No such user."));
            }

            if (reciever == loggedUser)
            {
                return(this.BadRequest("Can not send message to yourself."));
            }

            var message = new UserMessage
            {
                Text        = model.Text,
                FileContent = model.FileContent,
                SenderId    = loggedUser.Id,
                RecieverId  = reciever.Id,
                Date        = DateTime.Now
            };

            this.Data.UserMessages.Add(message);
            this.Data.SaveChanges();

            return(this.Ok(UserMessageViewModel.CreateSingleView(message)));
        }