示例#1
0
        public async Task <ActionResult <ComunicadoViewModel> > Atualizar(Guid id, ComunicadoViewModel comunicadoViewModel)
        {
            if (id != comunicadoViewModel.Id)
            {
                NotificarErro("O id informado não é o mesmo que foi passado na query");
                return(CustomResponse(comunicadoViewModel));
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }
            if (comunicadoViewModel.ImagemUpload != null)
            {
                var caminho         = "/Paginas/Pdf/Comunicados/";
                var caminhoAmbiente = _env.WebRootPath;
                var gravaPdf        = Pdfs.UploadArquivo(comunicadoViewModel.ImagemUpload, comunicadoViewModel.Id.ToString(), caminho, caminhoAmbiente, false);
                if (gravaPdf.Key == 1)
                {
                    return(CustomResponse(gravaPdf.Value));
                }
                comunicadoViewModel.CaminhoImagem = gravaPdf.Value;
            }
            await _comunicadoService.Atualizar(_mapper.Map <Comunicado>(comunicadoViewModel));

            return(CustomResponse(comunicadoViewModel));
        }
        public async Task AlterarAsync(Guid Id, ComunicadoViewModel model)
        {
            AddToken();
            var resposta = await _httpClient.PutAsJsonAsync($"v1/Comunicado/{Id}", model);

            resposta.EnsureSuccessStatusCode();
        }
示例#3
0
        public async Task <ActionResult <ComunicadoViewModel> > Adicionar(ComunicadoViewModel comunicadoViewModel)
        {
            if (comunicadoViewModel.DescricaoCompleta == null && comunicadoViewModel.ImagemUpload == null)
            {
                ModelState.AddModelError(string.Empty, "Obrigatório ter a Descrição Completa ou o Arquivo PDF ");
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }
            comunicadoViewModel.Id = Guid.NewGuid();
            if (comunicadoViewModel.ImagemUpload != null)
            {
                var caminho         = "/Paginas/Pdf/Comunicados/";
                var caminhoAmbiente = _env.WebRootPath;
                var gravaPdf        = Pdfs.UploadArquivo(comunicadoViewModel.ImagemUpload, comunicadoViewModel.Id.ToString(), caminho, caminhoAmbiente, false);
                if (gravaPdf.Key == 1)
                {
                    return(CustomResponse(gravaPdf.Value));
                }
                comunicadoViewModel.CaminhoImagem = gravaPdf.Value;
            }

            var result = await _comunicadoService.Adicionar(_mapper.Map <Comunicado>(comunicadoViewModel));

            return(CustomResponse(comunicadoViewModel));
        }
        public async Task IncluirAsync(ComunicadoViewModel model)
        {
            AddToken();
            var resposta = await _httpClient.PostAsJsonAsync <ComunicadoViewModel>("v1/Comunicado", model);

            resposta.EnsureSuccessStatusCode();
        }
示例#5
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));
        }
示例#6
0
        public ViewResult FormCreateComunicado()
        {
            ComunicadoViewModel modelo = new ComunicadoViewModel();

            modelo.comunicado               = new Comunicado();
            modelo.Contexto                 = contexto;
            modelo.comunicado.criadoEm      = DateTime.Now;
            modelo.comunicado.criadoPorName = contexto.nomeUsuario;

            return(View(modelo));
        }
示例#7
0
        public async Task <ActionResult <ComunicadoViewModel> > CreateMessage([FromBody] ComunicadoViewModel comunicado)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var meuComunicado = await _dbComunicado.Add(_mapper.Map <Comunicado>(comunicado));

            return(CustomResponse(meuComunicado));
        }
示例#8
0
        public static bool ComunicadoUpdate(ComunicadoViewModel entrada, out Comunicado comunicado)
        {
            comunicado = new Comunicado();

            //************ Objetos de controle de acesso *******************
            comunicado = entrada.comunicado;
            comunicado.modificadoEm      = DateTime.Now;
            comunicado.modificadoPor     = entrada.Contexto.idUsuario;
            comunicado.modificadoPorName = entrada.Contexto.nomeUsuario;
            //************ FIM Objetos de controle de acesso ***************
            return(true);
        }
示例#9
0
        public async Task <ActionResult> Editar(Guid id, ComunicadoViewModel model, IFormFile file, string selectedItems)
        {
            var turma = "";

            if (selectedItems.Contains("[{\"text"))
            {
                List <TreeViewNode> itemsRetornados = JsonConvert.DeserializeObject <List <TreeViewNode> >(selectedItems);

                foreach (var item in itemsRetornados)
                {
                    if (item.id.Length > 3)
                    {
                        turma += item.id + '|';
                    }
                }
            }
            else
            {
                turma = selectedItems;
            }

            ViewBag.Turma = BuscarTurma();
            if (file != null && file.Length > 0)
            {
                if (file.Length > 2009393)
                {
                    ModelState.AddModelError("", "O Arquivo é maior que 2 Mb");
                }
            }

            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.AlterarAsync(model.Id, model);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
示例#10
0
        public async Task <ActionResult> Excluir(Guid id, ComunicadoViewModel dados)
        {
            ViewBag.Turma = await BuscarTurma();

            var model = await _api.BuscarAsync(id);

            if (model != null)
            {
                await _api.ExcluirAsync(id);

                return(RedirectToAction("Index", "Home"));
            }
            ModelState.AddModelError("", "Registro não encontrado para Exluir!!! (Pode ter sido excluido por outra pessoa)");
            return(View());
        }
示例#11
0
        public static bool ComunicadoCreate(ComunicadoViewModel entrada, out Comunicado comunicado, ContextPage contexto)
        {
            comunicado = new Comunicado();
            comunicado = entrada.comunicado;

            if (comunicado.titulo != null)
            {
                //************ Objetos de controle de acesso ******************
                comunicado.criadoEm          = DateTime.Now;
                comunicado.criadoPor         = contexto.idUsuario;
                comunicado.criadoPorName     = contexto.nomeUsuario;
                comunicado.modificadoEm      = DateTime.Now;
                comunicado.modificadoPor     = contexto.idUsuario;
                comunicado.modificadoPorName = contexto.nomeUsuario;
                comunicado.idOrganizacao     = contexto.idOrganizacao;
                //************ FIM Objetos de controle de acesso ***************

                return(true);
            }
            return(false);
        }
示例#12
0
        public ViewResult FormUpdateComunicado(string id)
        {
            ComunicadoViewModel modelo = new ComunicadoViewModel();

            modelo.comunicado    = new Comunicado();
            modelo.comunicado.id = new Guid(id);

            Comunicado retorno = new Comunicado();

            if (!String.IsNullOrEmpty(id))
            {
                retorno = comunicadoData.Get(modelo.comunicado.id);

                if (retorno != null)
                {
                    modelo.comunicado = retorno;
                    //apresenta mensagem de registro atualizado com sucesso
                    modelo.StatusMessage = StatusMessage;
                }
            }
            return(View(modelo));
        }
示例#13
0
        public IActionResult FormCreateComunicado(ComunicadoViewModel entrada)
        {
            Comunicado modelo = new Comunicado();

            try
            {
                if (entrada.comunicado != null)
                {
                    if (ComunicadoRules.ComunicadoCreate(entrada, out modelo, contexto))
                    {
                        comunicadoData.Add(modelo);
                        return(RedirectToAction("FormUpdateComunicado", new { id = modelo.id.ToString() }));
                    }
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 19, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormCreateComunicado-post", ex.Message);
            }
            return(View());
        }
示例#14
0
        public IActionResult FormUpdateComunicado(ComunicadoViewModel entrada)
        {
            Comunicado modelo = new Comunicado();

            entrada.Contexto = this.contexto;
            try
            {
                if (ComunicadoRules.ComunicadoUpdate(entrada, out modelo))
                {
                    comunicadoData.Update(modelo);
                    StatusMessage = "Registro Atualizado com Sucesso!";

                    return(RedirectToAction("FormUpdateComunicado", new { id = modelo.id.ToString(), idOrg = contexto.idOrganizacao }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 19, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateComunicado-post", ex.Message);
            }

            return(RedirectToAction("FormUpdateComunicado", new { id = modelo.id.ToString() }));
        }
示例#15
0
 public ComunicadoPage()
 {
     InitializeComponent();
     BindingContext = vm = new ComunicadoViewModel();
 }