Exemplo n.º 1
0
        public ActionResult New(string username)
        {
            var model = new MessageRegisterModel
            {
                Accepter = username,
                IsDraft  = false,
            };

            return(View(model));
        }
Exemplo n.º 2
0
        public ActionResult New(MessageRegisterModel model)
        {
            var accepters     = new List <UserViewModel>();
            var accepterNames = model.Accepter.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var u in accepterNames)
            {
                var accepter = _userService.GetByUserName(u);
                if (accepter == null || string.IsNullOrEmpty(accepter.Id))
                {
                    ModelState.AddModelError("Accepter", "用户" + u + "不存在");
                    return(View(model));
                }
                accepters.Add(accepter);
            }
            if (accepters.Count == 0 && model.IsDraft == false)
            {
                ModelState.AddModelError("Accepter", "收件人不能为空");
                return(View(model));
            }
            var sender = _userService.GetById(UserId);

            foreach (var m in accepters)
            {
                var message = new MessageViewModel
                {
                    Accepter = m,
                    Content  = model.Content,
                    Sender   = sender,
                    Title    = model.Title,
                    Status   = model.IsDraft ? (int)MessageStatusEnum.Draft : (int)MessageStatusEnum.New,
                    Type     = (int)MessageTypeEnum.User,
                };
                _messageService.Add(message);
                PushHelper.PushMessage(m.UserName);
            }
            return(RedirectToAction("Index", new { type = 2 }));
        }