public async Task <IActionResult> Edit(int id, [Bind("HorarioATrocarMedicoId,HorarioMedicoId")] HorarioATrocarMedico horarioATrocarMedico) { if (id != horarioATrocarMedico.HorarioATrocarMedicoId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(horarioATrocarMedico); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!HorarioATrocarMedicoExists(horarioATrocarMedico.HorarioATrocarMedicoId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["HorarioMedicoId"] = new SelectList(_context.HorariosMedicos, "HorarioMedicoId", "HorarioMedicoId", horarioATrocarMedico.HorarioMedicoId); return(View(horarioATrocarMedico)); }
public IActionResult SolicitarPedidoTrocaTurnoMedicoConfirmed(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 MedicoID Where HorarioMedicoId = idHorario1 var idMedRequerente = from h in _context.HorariosMedicos where h.HorarioMedicoId == idHor1 select h.MedicoId; HorarioMedico horarioATrocar = _context.HorariosMedicos.SingleOrDefault(h => h.HorarioMedicoId == idHor1); HorarioMedico horarioParaTroca = _context.HorariosMedicos.SingleOrDefault(h => h.HorarioMedicoId == idHor2); try { //Insert into HorarioATrocarMedico InsertDataIntoHorarioATrocarMedico(_context, horarioATrocar); //Insert into HorarioParaTrocaMedico InsertDataIntoHorarioParaTrocaMedico(_context, horarioParaTroca); } catch (DbUpdateConcurrencyException) { TempData["ErrorRequired"] = "Erro ao inserir pedido!"; return(RedirectToAction(nameof(Index))); } HorarioATrocarMedico horarioATrocarId = _context.HorarioATrocarMedico.LastOrDefault(h => h.HorarioMedicoId == idHor1); HorarioParaTrocaMedico horarioParaTrocaId = _context.HorarioParaTrocaMedico.LastOrDefault(h => h.HorarioMedicoId == idHor2); Medico medicoRequerenteId = _context.Medicos.SingleOrDefault(e => e.MedicoId == idMedRequerente.Single()); EstadoPedidoTroca estadoPedidoTrocaId = _context.EstadoPedidoTrocas.SingleOrDefault(e => e.Nome == "Pendente"); //Insert into PedidoTrocaTurnos Table try { if (!PedidoTrocaTurnoJaFoiEfetudado(idHor1, idHor2)) { InsertDataIntoPedidoTrocaTurnoMedico(_context, dataPedido, medicoRequerenteId, 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("HorarioATrocarMedicoId,HorarioMedicoId")] HorarioATrocarMedico horarioATrocarMedico) { if (ModelState.IsValid) { _context.Add(horarioATrocarMedico); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["HorarioMedicoId"] = new SelectList(_context.HorariosMedicos, "HorarioMedicoId", "HorarioMedicoId", horarioATrocarMedico.HorarioMedicoId); return(View(horarioATrocarMedico)); }
/** * @param db * @param dataPedido * @param medicoRequerente * @param horarioATrocarId * @param horarioParaTrocaId * @param estadoPedidoTrocaId * @insert in the PedidoTrocaTurnoMedico table a record with the above parameters */ private void InsertDataIntoPedidoTrocaTurnoMedico(HospitalDbContext db, DateTime dataPedido, Medico medicoRequerenteId, HorarioATrocarMedico horarioATrocarId, HorarioParaTrocaMedico horarioParaTrocaId, EstadoPedidoTroca estadoPedidoTrocaId) { db.PedidoTrocaTurnosMedico.Add( new PedidoTrocaTurnosMedico { DataPedido = dataPedido, MedicoId = medicoRequerenteId.MedicoId, HorarioATrocarMedicoId = horarioATrocarId.HorarioATrocarMedicoId, HorarioParaTrocaMedicoId = horarioParaTrocaId.HorarioParaTrocaMedicoId, EstadoPedidoTrocaId = estadoPedidoTrocaId.EstadoPedidoTrocaId } ); db.SaveChanges(); }