public async Task AlterarAsync(Guid Id, CronogramaViewModel model)
        {
            AddToken();
            var resposta = await _httpClient.PutAsJsonAsync($"v1/Cronograma/{Id}", model);

            resposta.EnsureSuccessStatusCode();
        }
Esempio n. 2
0
        public async Task <IActionResult> PutCronograma([FromBody] CronogramaViewModel cronogramaDetails)
        {
            _logger.LogInformation("Actualizando la información del cronograma de matrícula.");

            var cronograma = Mapper.Map <Cronograma>(cronogramaDetails);

            if (!_repository.Cronogramas.HasNombreUnique(cronograma))
            {
                ModelState.AddModelError("Nombre", "Nombre no disponible.");
            }

            if (ModelState.IsValid)
            {
                var cronogramaMatriculaToUpdate = Mapper.Map <Cronograma>(cronogramaDetails);

                _repository.Cronogramas.Update(cronogramaMatriculaToUpdate);
                if (await _repository.Complete())
                {
                    return(Created($"api/cronogramasMatriculas/{cronograma.AnioAcademicoId}", Mapper.Map <CronogramaViewModel>(cronograma)));
                }
            }

            _logger.LogError("No se pudo actualizar los datos del cronograma de matrícula.");
            return(BadRequest(ModelState));
        }
        public async Task IncluirAsync(CronogramaViewModel model)
        {
            AddToken();
            var resposta = await _httpClient.PostAsJsonAsync <CronogramaViewModel>("v1/Cronograma", model);

            resposta.EnsureSuccessStatusCode();
        }
        public async Task <ActionResult <CronogramaViewModel> > Atualizar(Guid id, CronogramaViewModel cronogramaViewModel)
        {
            if (id != cronogramaViewModel.Id)
            {
                NotificarErro("O id informado não é o mesmo que foi passado na query");
                return(CustomResponse(cronogramaViewModel));
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

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

            return(CustomResponse(cronogramaViewModel));
        }
Esempio n. 5
0
        private List <CronogramaViewModel> GerarCronogramas(DateTime dataInicio,
                                                            TimeSpan cargaHorariaTotalPacto, TimeSpan cargaHorariaDiaria,
                                                            List <Pacto> listaPactosConcorrentes, string cpfSolicitante, UsuarioViewModel usuarioLogado,
                                                            DateTime?dataInicioSuspensao          = null, DateTime?dataFimSuspensao = null,
                                                            TimeSpan?quantidadeHorasDiasSuspensao = null, int idPacto               = 0)
        {
            var resultado = new List <CronogramaViewModel>();

            DateTime tmpData = dataInicio.AddDays(-1);


            while (cargaHorariaTotalPacto > TimeSpan.Zero)
            {
                tmpData = tmpData.AddDays(1);
                CronogramaViewModel diaCronograma = CriarDiaCronograma(dataCronograma: tmpData,
                                                                       cargaHorariaRestantePacto: cargaHorariaTotalPacto,
                                                                       cargaHorariaDiaria: cargaHorariaDiaria,
                                                                       dataInicioSuspensao: dataInicioSuspensao,
                                                                       dataFimSuspensao: dataFimSuspensao,
                                                                       pactosConcorrentes: listaPactosConcorrentes,
                                                                       quantidadeHorasDiasSuspensao: quantidadeHorasDiasSuspensao,
                                                                       cpfSolicitante: cpfSolicitante, usuarioLogado: usuarioLogado);
                diaCronograma.IdPacto = idPacto;


                resultado.Add(diaCronograma);

                cargaHorariaTotalPacto -= diaCronograma.HorasCronograma;
            }

            resultado.ForEach(c => c.PodeEditar = PodeEditarDiaCronograma(cpfSolicitante, usuarioLogado, c.DataCronograma));

            return(resultado);
        }
Esempio n. 6
0
        public async Task <ActionResult> Adicionar(CronogramaViewModel 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");
            }

            if (file != null && file.Length > 0)
            {
                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)));
            }
            ViewBag.Json = JsonConvert.SerializeObject(await BuscarTurma());
            return(View(model));
        }
Esempio n. 7
0
        public async Task <ActionResult> Excluir(Guid id, CronogramaViewModel 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());
        }
        public async Task <ActionResult <CronogramaViewModel> > Adicionar(CronogramaViewModel cronogramaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }
            cronogramaViewModel.Id = Guid.NewGuid();
            if (cronogramaViewModel.ImagemUpload != null)
            {
                var caminho         = "/Paginas/Pdf/Cronograma/";
                var caminhoAmbiente = _env.WebRootPath;
                var gravaPdf        = Pdfs.UploadArquivo(cronogramaViewModel.ImagemUpload, cronogramaViewModel.Id.ToString(), caminho, caminhoAmbiente, false);
                if (gravaPdf.Key == 1)
                {
                    return(CustomResponse(gravaPdf.Value));
                }
                cronogramaViewModel.CaminhoImagem = gravaPdf.Value;
            }

            var result = await _cronogramaService.Adicionar(_mapper.Map <Cronograma>(cronogramaViewModel));

            return(CustomResponse(cronogramaViewModel));
        }