Пример #1
0
        public async Task <ActionResult> Update(int id, [FromBody] BaseMessageViewModel model)
        {
            var message = await _messagesService.GetByIdAsync(id);

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


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

                //發送email, 如果失敗則拋出例外
                await _mailService.SendAsync(message.Email, model.Subject, model.Content, model.Text);


                //如果發送成功, 狀態為已回覆
                message.Returned = true;
            }

            model.UpdatedBy   = CurrentUserId;
            model.LastUpdated = DateTime.Now;

            message.ReturnContent = JsonConvert.SerializeObject(model);
            await _messagesService.UpdateAsync(message);

            return(Ok());
        }
Пример #2
0
 public async Task <ApiResult <BaseMessageViewModel> > SendMessage(BaseMessageViewModel message)
 {
     return(await ApiRequestHelper.HandlApiRequest(async() =>
     {
         var mapped = Mapper.Map <Message>(message);
         var newMessage = await _api.SendMessage(Mapper.Map <Message>(message));
         return new ApiResult <BaseMessageViewModel>(string.Empty, true, new BaseMessageViewModel(newMessage));
     }));
 }
Пример #3
0
        void ValidateRequest(BaseMessageViewModel model)
        {
            if (String.IsNullOrEmpty(model.Subject))
            {
                ModelState.AddModelError("subject", "必須填寫主旨");
            }

            if (String.IsNullOrEmpty(model.Content))
            {
                ModelState.AddModelError("content", "必須填寫內容");
            }
        }
 public MessageItemViewModel(BaseMessageViewModel message, bool isSuccess, IMessageService messageService)
 {
     Message         = message;
     IsSuccess       = isSuccess;
     _messageService = messageService;
 }