public async Task AlterarAsync(Guid Id, CronogramaViewModel model) { AddToken(); var resposta = await _httpClient.PutAsJsonAsync($"v1/Cronograma/{Id}", model); resposta.EnsureSuccessStatusCode(); }
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)); }
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); }
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)); }
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)); }