public async Task <IActionResult> CreateGSM([Bind("id_atribuicao,id_gsm,id_colaborador,data_inicio,data_fim")] ATRIBUICAO aTRIBUICAO) { if (ModelState.IsValid) { var aTRIBUICAORESERVA = await _context.ATRIBUICAO.SingleOrDefaultAsync((c => c.data_fim == null && c.id_gsm == aTRIBUICAO.id_gsm)); if (aTRIBUICAORESERVA != null) { //copia de aTRIBUICAO para nao atrapalhar na criação da nova atribuição aTRIBUICAORESERVA.data_fim = DateTime.Now; // edição da atribuição antiga await EditGSM(aTRIBUICAORESERVA.id_atribuicao, aTRIBUICAORESERVA); // criar atribuição aTRIBUICAO.data_inicio = DateTime.Now; _context.Add(aTRIBUICAO); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(GSM))); } else { aTRIBUICAO.data_inicio = DateTime.Now; _context.Add(aTRIBUICAO); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(GSM))); } } ViewData["id_gsm"] = new SelectList(_context.GSM, "id_gsm", "numero", aTRIBUICAO.id_gsm); ViewData["id_colaborador"] = new SelectList(_context.COLABORADOR, "id_colaborador", "nome", aTRIBUICAO.id_colaborador); return(View(aTRIBUICAO)); }
public async Task <IActionResult> EditViatura(int id, [Bind("id_atribuicao,id_viatura,id_colaborador,data_inicio,data_fim")] ATRIBUICAO aTRIBUICAO) { if (id != aTRIBUICAO.id_atribuicao) { return(NotFound()); } if (ModelState.IsValid) { try { var aTRIBUICAORESERVA = await _context.ATRIBUICAO.SingleOrDefaultAsync(c => c.data_fim == null && c.id_viatura == aTRIBUICAO.id_viatura && c.id_atribuicao != aTRIBUICAO.id_atribuicao); if (aTRIBUICAORESERVA != null && aTRIBUICAORESERVA.data_fim == null) { aTRIBUICAORESERVA.data_fim = DateTime.Now; _context.Update(aTRIBUICAORESERVA); await _context.SaveChangesAsync(); } _context.Update(aTRIBUICAO); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ATRIBUICAOExists(aTRIBUICAO.id_atribuicao)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Viatura))); } ViewData["id_colaborador"] = new SelectList(_context.COLABORADOR, "id_colaborador", "nome", aTRIBUICAO.id_colaborador); ViewData["id_viatura"] = new SelectList(_context.VIATURA, "id_viatura", "matricula", aTRIBUICAO.id_viatura); return(View(aTRIBUICAO)); }