Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }