//===========Message management=================// public ActionResult MessageManagement(int?page) { int pageNumber = page ?? 1; int pageSize = 6; IPagedList <MessageSending> listMs = _messageSendingService.GetAll().OrderByDescending(d => d.time).ToPagedList(pageNumber, pageSize); MessageSendingViewModel model = new MessageSendingViewModel(); model.listMessage = listMs; return(View(model)); }
public async Task <IActionResult> Create(MessageSendingViewModel ViewModel) { if (ModelState.IsValid) { Message message = await messageService.GetByIdAsync(ViewModel.Id); if (ViewModel.SelectableReceiverList is not null) { Parallel.ForEach(ViewModel.SelectableReceiverList, el => { if (el.Selected) { message.AddReceiver(el.Value); } }); } if (ViewModel.SelectableCCList is not null) { Parallel.ForEach(ViewModel.SelectableCCList, el => { if (el.Selected && !message.Receivers.Contains(el.Value)) { message.AddCcUser(el.Value); } }); } if (ViewModel.SelectableBCCList is not null) { Parallel.ForEach(ViewModel.SelectableBCCList, el => { if (el.Selected && !message.Receivers.Contains(el.Value) && !message.CC.Contains(el.Value)) { message.AddBccUser(el.Value); } }); } message.Sender = await userService.GetOrCreateAsync(this.User); message.ReceivedTime = DateTime.Now; message.Subject = ViewModel.Message.Subject; message.MessageBody = ViewModel.Message.MessageBody; if (string.IsNullOrEmpty(message.Subject) || (message.Receivers.Count == 0 && message.CC.Count == 0 && message.BCC.Count == 0)) { return(View(ViewModel)); } await messageService.UpdateAsync(message); return(RedirectToAction("Index", "Inbox")); } return(View(ViewModel)); }