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()); }
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)); })); }
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; }