public async Task <IActionResult> Edit(int id, [Bind("HorarioTecnicoId,DataInicioManha,DataFimManha,DataInicioTarde,DataFimTarde,TurnoId,FuncionarioId")] HorarioTecnicos horarioTecnicos) { if (id != horarioTecnicos.HorarioTecnicoId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(horarioTecnicos); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!HorarioTecnicosExists(horarioTecnicos.HorarioTecnicoId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Horario))); } ViewData["FuncionarioId"] = new SelectList(_context.Funcionario, "FuncionarioId", "NIF", horarioTecnicos.FuncionarioId); ViewData["TurnoId"] = new SelectList(_context.Turno, "TurnoId", "TurnoId", horarioTecnicos.TurnoId); return(View(horarioTecnicos)); }
public async Task <IActionResult> Aprovar(int id) { var trocas = await _context.Trocas.FindAsync(id); if (id != trocas.TrocasID) { return(NotFound()); } Estado idEstadoAprovado = _context.Estado.SingleOrDefault(e => e.Nome == "Aprovado"); trocas.EstadoTrocaId = idEstadoAprovado.EstadoTrocaId; int id1 = (from p in _context.Trocas where p.TrocasID == id select p.HorarioATrocar.HorarioTecnicoId).Single(); HorarioTecnicos idHora1 = _context.HorarioTecnicos.SingleOrDefault(h => h.HorarioTecnicoId == id1); var horarioATrocar = await _context.HorarioTecnicos.FindAsync(idHora1.HorarioTecnicoId); int nH1 = (from p in _context.Trocas where p.TrocasID == id select p.HorarioATrocar.HorarioTecnicos.Funcionario.FuncionarioId).Single(); horarioATrocar.FuncionarioId = nH1; int id2 = (from p in _context.Trocas where p.TrocasID == id select p.HorarioParaTroca.HorarioTecnicoId).Single(); HorarioTecnicos idHora2 = _context.HorarioTecnicos.SingleOrDefault(h => h.HorarioTecnicoId == id2); var horarioParaTroca = await _context.HorarioTecnicos.FindAsync(idHora2.HorarioTecnicoId); int nH2 = (from p in _context.Trocas where p.TrocasID == id select p.HorarioParaTroca.HorarioTecnicos.Funcionario.FuncionarioId).Single(); horarioParaTroca.FuncionarioId = nH2; try { UpdateHorario(_context, horarioATrocar); UpdateHorario(_context, horarioParaTroca); TempData["UpdatedSuccess"] = "Pedido aprovado com sucesso"; } catch (DbUpdateConcurrencyException) { return(NotFound()); } return(RedirectToAction(nameof(Index))); }
private void IDataIntoHorarioParaTroca(GestorHorarioG6Context db, HorarioTecnicos horarioParaTroca) { db.HorarioParaTroca.Add( new HorarioParaTroca { HorarioTecnicoId = horarioParaTroca.HorarioTecnicoId } ); db.SaveChanges(); }
private void IDataIntoHorarioATrocar(GestorHorarioG6Context db, HorarioTecnicos horarioATrocar) { db.HorarioATrocar.Add( new HorarioATrocar { HorarioTecnicoId = horarioATrocar.HorarioTecnicoId } ); db.SaveChanges(); }
public IActionResult SolicitarPedidoTrocaComfirma(int idHorario1, int idHorario2) { DateTime dataPTroca = DateTime.Now; // Verifica se já existe um pedido feito if (PedidoTrocaTurnoJaFeito(idHorario1, idHorario2) == true) { return(RedirectToAction(nameof(Horario))); } var idtecReq = from h in _context.HorarioTecnicos where h.HorarioTecnicoId == idHorario1 select h.FuncionarioId; HorarioTecnicos horarioATrocar = _context.HorarioTecnicos.SingleOrDefault(h => h.HorarioTecnicoId == idHorario1); HorarioTecnicos horarioParaTroca = _context.HorarioTecnicos.SingleOrDefault(h => h.HorarioTecnicoId == idHorario2); try { //Inserir em HorarioATrocar IDataIntoHorarioATrocar(_context, horarioATrocar); //Inserir em HorarioParaTroca IDataIntoHorarioParaTroca(_context, horarioParaTroca); } catch (DbUpdateConcurrencyException) { return(RedirectToAction("Index", "Trocas")); } HorarioATrocar horarioATrocarId = _context.HorarioATrocar.LastOrDefault(h => h.HorarioTecnicoId == idHorario1); HorarioParaTroca horarioParaTrocaId = _context.HorarioParaTroca.LastOrDefault(h => h.HorarioTecnicoId == idHorario2); Funcionario TecnicoReqId = _context.Funcionario.SingleOrDefault(e => e.FuncionarioId == idtecReq.Single()); Estado estadoTrocaId = _context.Estado.SingleOrDefault(e => e.Nome == "Pendente"); //inserir troca try { if (!PedidoTrocaTurnoJaFeito(idHorario1, idHorario2)) { InsertDataIntoTroca(_context, dataPTroca, TecnicoReqId, horarioATrocarId, horarioParaTrocaId, estadoTrocaId); return(RedirectToAction("Index", "Trocas")); } } catch (DbUpdateConcurrencyException) { return(RedirectToAction(nameof(PedidoTrocaTurno))); } return(RedirectToAction("Index", "Trocas")); }
public async Task <IActionResult> Create([Bind("HorarioTecnicoId,DataInicioManha,DataFimManha,DataInicioTarde,DataFimTarde,TurnoId,FuncionarioId")] HorarioTecnicos horarioTecnicos) { if (ModelState.IsValid) { _context.Add(horarioTecnicos); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Horario))); } ViewData["FuncionarioId"] = new SelectList(_context.Funcionario, "FuncionarioId", "NIF", horarioTecnicos.FuncionarioId); ViewData["TurnoId"] = new SelectList(_context.Turno, "TurnoId", "TurnoId", horarioTecnicos.TurnoId); return(View(horarioTecnicos)); }
private void UpdateHorario(GestorHorarioG6Context db, HorarioTecnicos horario) { db.HorarioTecnicos.Update(horario); db.SaveChanges(); }