public async Task <IActionResult> Edit(int id, [Bind("HorarioATrocarEnfermeiroId,HorarioEnfermeiroId")] HorarioATrocarEnfermeiro horarioATrocarEnfermeiro) { if (id != horarioATrocarEnfermeiro.HorarioATrocarEnfermeiroId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(horarioATrocarEnfermeiro); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!HorarioATrocarEnfermeiroExists(horarioATrocarEnfermeiro.HorarioATrocarEnfermeiroId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["HorarioEnfermeiroId"] = new SelectList(_context.HorariosEnfermeiro, "HorarioEnfermeiroId", "HorarioEnfermeiroId", horarioATrocarEnfermeiro.HorarioEnfermeiroId); return(View(horarioATrocarEnfermeiro)); }
public IActionResult SolicitarPedidoTrocaTurnoEnfermeiroConfirmed(int idHor1, int idHor2) { DateTime dataPedido = DateTime.Now; // Verifica se já existe um pedido feito com os id's dos horários if (PedidoTrocaTurnoJaFoiEfetudado(idHor1, idHor2) == true) { TempData["PedidoAlreadyDone"] = "Já existe um pedido feito para a troca destes horários"; return(RedirectToAction(nameof(Index))); } //Select EnfermeiroID Where HorarioEnfermeiroId = idHorario1 var idEnfRequerente = from h in _context.HorariosEnfermeiro where h.HorarioEnfermeiroId == idHor1 select h.EnfermeiroId; HorarioEnfermeiro horarioATrocar = _context.HorariosEnfermeiro.SingleOrDefault(h => h.HorarioEnfermeiroId == idHor1); HorarioEnfermeiro horarioParaTroca = _context.HorariosEnfermeiro.SingleOrDefault(h => h.HorarioEnfermeiroId == idHor2); try { //Insert into HorarioATrocarEnfermeiro InsertDataIntoHorarioATrocarEnfermeiro(_context, horarioATrocar); //Insert into HorarioParaTrocaEnfermeiro InsertDataIntoHorarioParaTrocaEnfermeiro(_context, horarioParaTroca); } catch (DbUpdateConcurrencyException) { TempData["ErrorRequired"] = "Erro ao inserir pedido!"; return(RedirectToAction(nameof(Index))); } HorarioATrocarEnfermeiro horarioATrocarId = _context.HorarioATrocarEnfermeiros.LastOrDefault(h => h.HorarioEnfermeiroId == idHor1); HorarioParaTrocaEnfermeiro horarioParaTrocaId = _context.HorarioParaTrocaEnfermeiros.LastOrDefault(h => h.HorarioEnfermeiroId == idHor2); Enfermeiro enfermeiroRequerenteId = _context.Enfermeiros.SingleOrDefault(e => e.EnfermeiroId == idEnfRequerente.Single()); EstadoPedidoTroca estadoPedidoTrocaId = _context.EstadoPedidoTrocas.SingleOrDefault(e => e.Nome == "Pendente"); //Insert into PedidoTrocaTurnos Table try { if (!PedidoTrocaTurnoJaFoiEfetudado(idHor1, idHor2)) { InsertDataIntoPedidoTrocaTurnoEnfermeiro(_context, dataPedido, enfermeiroRequerenteId, horarioATrocarId, horarioParaTrocaId, estadoPedidoTrocaId); TempData["SuccessRequired"] = "Pedido realizado com sucesso!"; return(RedirectToAction(nameof(Index))); } } catch (DbUpdateConcurrencyException) { TempData["ErrorRequired"] = "Erro ao inserir pedido!"; return(RedirectToAction(nameof(Index))); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Create([Bind("HorarioATrocarEnfermeiroId,HorarioEnfermeiroId")] HorarioATrocarEnfermeiro horarioATrocarEnfermeiro) { if (ModelState.IsValid) { _context.Add(horarioATrocarEnfermeiro); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["HorarioEnfermeiroId"] = new SelectList(_context.HorariosEnfermeiro, "HorarioEnfermeiroId", "HorarioEnfermeiroId", horarioATrocarEnfermeiro.HorarioEnfermeiroId); return(View(horarioATrocarEnfermeiro)); }
public async Task <IActionResult> Aprovar(int id) { /* * Algoritmo: * Alterar o Estado para Aprovado Se O DS aprovar * Alterar o Estado para Não Aprovado se o DS não aprovar * Caso Aprove, Então: * Update na tabela horários, em que as linhas dos horários apenas sofrem a alteração do nome * */ var pedidoTrocaTurnosEnfermeiro = await _context.PedidoTrocaTurnosEnfermeiros.FindAsync(id); if (id != pedidoTrocaTurnosEnfermeiro.PedidoTrocaTurnosEnfermeiroId) { return(RedirectToAction(nameof(Error))); } EstadoPedidoTroca idEstadoAprovado = _context.EstadoPedidoTrocas.SingleOrDefault(e => e.Nome == "Aprovado"); pedidoTrocaTurnosEnfermeiro.EstadoPedidoTrocaId = idEstadoAprovado.EstadoPedidoTrocaId; //Estado_Aprovado HorarioATrocarEnfermeiro horario = _context.HorarioATrocarEnfermeiros.SingleOrDefault(h => h.HorarioATrocarEnfermeiroId == pedidoTrocaTurnosEnfermeiro.HorarioATrocarEnfermeiroId); HorarioEnfermeiro horarioEnf = _context.HorariosEnfermeiro.SingleOrDefault(h => h.HorarioEnfermeiroId == horario.HorarioEnfermeiroId); DateTime dataInicioTurno = horarioEnf.DataInicioTurno; if (DataTurnoIsUpperThanDateNow(dataInicioTurno) == true) { TempData["DateIsUpperThanDateNoe"] = "Já não é possível aprovar o pedido"; } //Update Estado no Pedido de Troca try { //if (!DataTurnoIsUpperThanDateNow(dataInicioTurno)) //{ _context.Update(pedidoTrocaTurnosEnfermeiro); await _context.SaveChangesAsync(); // } } catch (DbUpdateConcurrencyException) { if (!PedidoTrocaTurnosEnfermeiroExists(pedidoTrocaTurnosEnfermeiro.PedidoTrocaTurnosEnfermeiroId)) { return(RedirectToAction(nameof(Error))); } else { throw; } } //Update Horario A Trocar int id1 = (from p in _context.PedidoTrocaTurnosEnfermeiros where p.PedidoTrocaTurnosEnfermeiroId == id select p.HorarioATrocarEnfermeiro.HorarioEnfermeiroId).Single(); HorarioEnfermeiro idHor1 = _context.HorariosEnfermeiro.SingleOrDefault(h => h.HorarioEnfermeiroId == id1); var horarioATrocar = await _context.HorariosEnfermeiro.FindAsync(idHor1.HorarioEnfermeiroId); int nomeHor1 = (from p in _context.PedidoTrocaTurnosEnfermeiros where p.PedidoTrocaTurnosEnfermeiroId == id select p.HorarioParaTrocaEnfermeiro.HorarioEnfermeiro.Enfermeiro.EnfermeiroId).Single(); horarioATrocar.EnfermeiroId = nomeHor1; //Update Horario Para Troca int id2 = (from p in _context.PedidoTrocaTurnosEnfermeiros where p.PedidoTrocaTurnosEnfermeiroId == id select p.HorarioParaTrocaEnfermeiro.HorarioEnfermeiroId).Single(); HorarioEnfermeiro idHor2 = _context.HorariosEnfermeiro.SingleOrDefault(h => h.HorarioEnfermeiroId == id2); var horarioParaTroca = await _context.HorariosEnfermeiro.FindAsync(idHor2.HorarioEnfermeiroId); int nomeHor2 = (from p in _context.PedidoTrocaTurnosEnfermeiros where p.PedidoTrocaTurnosEnfermeiroId == id select p.HorarioATrocarEnfermeiro.HorarioEnfermeiro.Enfermeiro.EnfermeiroId).Single(); horarioParaTroca.EnfermeiroId = nomeHor2; try { UpdateHorario(_context, horarioATrocar); UpdateHorario(_context, horarioParaTroca); TempData["UpdatedSuccess"] = "Pedido aprovado com sucesso"; } catch (DbUpdateConcurrencyException) { return(RedirectToAction(nameof(Error))); } return(RedirectToAction(nameof(Index))); }
/** * @param db * @param dataPedido * @param enfermeiroRequerente * @param horarioATrocarId * @param horarioParaTrocaId * @param estadoPedidoTrocaId * @insert in the PedidoTrocaTurnoEnfermeiro table a record with the above parameters */ private void InsertDataIntoPedidoTrocaTurnoEnfermeiro(HospitalDbContext db, DateTime dataPedido, Enfermeiro enfermeiroRequerenteId, HorarioATrocarEnfermeiro horarioATrocarId, HorarioParaTrocaEnfermeiro horarioParaTrocaId, EstadoPedidoTroca estadoPedidoTrocaId) { db.PedidoTrocaTurnosEnfermeiros.Add( new PedidoTrocaTurnosEnfermeiro { DataPedido = dataPedido, EnfermeiroId = enfermeiroRequerenteId.EnfermeiroId, HorarioATrocarEnfermeiroId = horarioATrocarId.HorarioATrocarEnfermeiroId, HorarioParaTrocaEnfermeiroId = horarioParaTrocaId.HorarioParaTrocaEnfermeiroId, EstadoPedidoTrocaId = estadoPedidoTrocaId.EstadoPedidoTrocaId } ); db.SaveChanges(); }