public async Task <ActionResult> Adicionar(ComunicadoViewModel model, IFormFile file, string selectedItems) { var turma = ""; if (!string.IsNullOrEmpty(selectedItems)) { List <TreeViewNode> itemsRetornados = JsonConvert.DeserializeObject <List <TreeViewNode> >(selectedItems); foreach (var item in itemsRetornados) { if (item.id.Length > 3) { turma += item.id + '|'; } } } else { ModelState.AddModelError("", "Deve Selecionar pelo menos uma turma"); } ViewBag.Json = JsonConvert.SerializeObject(await BuscarTurma()); if (file != null && file.Length > 0) { if (file.Length > 2009393) { ModelState.AddModelError("", "O Arquivo é maior que 2 Mb"); } } if (string.IsNullOrEmpty(model.DescricaoCompleta) && file == null) { ModelState.AddModelError("", "Você deve ter uma Descrição Completa e/ou um arquivo PDF"); } if (ModelState.IsValid) { if (file != null && file.Length > 0) { using (MemoryStream mStream = new MemoryStream()) { await file.CopyToAsync(mStream); byte[] bytes = mStream.ToArray(); model.ImagemUpload = bytes; } } model.TurmaId = turma; await _api.IncluirAsync(model); return(RedirectToAction(nameof(Index))); } return(View(model)); }