Exemple #1
0
        // GET: Admin/Messages/Create
        public async Task <ActionResult> Create(Guid?parentId, Guid?to)
        {
            var userId   = User.Identity.GetUserId();
            var fromUser = Db.Users.Find(userId);

            var messageModel = new MessageViewModel();

            messageModel.AddFrom(fromUser);
            if (parentId.HasValue)
            {
                var parentMessage = await _ms.View(User, parentId.Value);

                messageModel.PreviousMessage = parentMessage;
                if (parentMessage != null)
                {
                    messageModel.Priority = parentMessage.Priority;
                    if (messageModel.From.Equals(parentMessage.From)) //adding to your message
                    {
                        messageModel.To = parentMessage.To.ToViewModel();
                    }
                    else
                    {
                        messageModel.To = parentMessage.From.ToViewModel();
                    }
                }
            }
            if (to.HasValue)
            {
                var toId   = to.Value.ToString("D");
                var toUser = Db.Users.FirstOrDefault(x => x.Id == toId);
                messageModel.To = toUser.ToViewModel();
            }
            else
            {
                ViewBag.Users = Db.Users.ToList().Select(x => new SelectListItem
                {
                    Value = x.Id,
                    Text  = x.Email,
                });
            }

            return(View("Create", messageModel));
        }