public ActionResult CreateMeeting(MeetingViewModel meetingViewModel, string meetingRoomId) { Meeting meeting = null; if (ModelState.IsValid) { ReturnResult result = new ReturnResult(); try { meeting = new Meeting(); Attendee attendee = new Attendee(); attendee.Id = Guid.NewGuid(); //解析用户输入的与会人邮箱地址,然后构建attendee,此处没有处理用户错误输入例外 attendee.SetAttendeeMailAddresses(meetingViewModel.AttendeeEmails, _context); User owner = _context.Users.Find(HttpContext.User.Identity.GetUserId()); MeetingRoom meetingRoom = _context.MeetingRooms.Find(meetingRoomId); //下面是使用输入内容初始化新会议 meeting.Id = Guid.NewGuid(); meeting.Owner = owner; meeting.BeginningTime = meetingViewModel.StartDateTime; meeting.EndTime = meetingViewModel.EndDateTime; meeting.MeetingSubject = meetingViewModel.MeetingSubject; meeting.MeetingRoom = meetingRoom; meeting.MeetingContent = meetingViewModel.MeetingContent; meeting.Attendee = attendee; meeting.IsCanceled = false; result = _meetingService.CreatingMeeting(meeting); } catch (InvalidOperationException invalidOperationException) { ModelState.AddModelError("", invalidOperationException.Message); } catch (Exception e) { _logger.Error(e.Message, e); } if (result.Result) { MeetingEvent meetingEvent = new MeetingEvent(); meetingEvent.Id = meeting.Id.ToString(); meetingEvent.Title = meeting.MeetingSubject; meetingEvent.StartDateTime = meeting.BeginningTime; meetingEvent.EndDateTime = meeting.EndTime; var returnSuccess = new { isSuccess = true, eventdetail = meetingEvent }; return(Content(Newtonsoft.Json.JsonConvert.SerializeObject(returnSuccess), "application/json")); } else { ModelState.AddModelError("", result.Message); } } var returnFail = new { isSuccess = false, // ModelState错误信息 ModelStateErrors = ModelState.Where(x => x.Value.Errors.Count > 0) .ToDictionary(k => k.Key, k => k.Value.Errors.Select(e => e.ErrorMessage).ToArray()) }; return(Content(Newtonsoft.Json.JsonConvert.SerializeObject(returnFail), "application/json")); }