Пример #1
0
        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));
        }