Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,IdUredaja,IdZida,XKoord,YKoord")] EkranZida ekranZida)
        {
            if (id != ekranZida.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid && EkranZidaValid(ekranZida))
            {
                try
                {
                    _context.Update(ekranZida);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EkranZidaExists(ekranZida.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                TempData["Success"] = $"Uspjesno ažuriranje podataka.";
                return(RedirectToAction("Details", new { id = ekranZida.Id }));
            }
            ViewData["IdUredaja"] = new SelectList(_context.Uredaj, "Id", "Naziv", ekranZida.IdUredaja);
            ViewData["IdZida"]    = new SelectList(_context.Videozid, "Id", "Lokacija", ekranZida.IdZida);
            TempData["Error"]     = $"Neuspjelo ažuriranje podataka.";
            return(View(ekranZida));
        }
Esempio n. 2
0
        public async Task <IActionResult> Create([Bind("Id,IdUredaja,IdZida,XKoord,YKoord")] EkranZida ekranZida)
        {
            if (ModelState.IsValid && EkranZidaValid(ekranZida))
            {
                _context.Add(ekranZida);
                var uredaj = _context.Uredaj.Where(u => u.Id == ekranZida.IdUredaja).FirstOrDefault();
                uredaj.IdStatusa = _context.StatusUredaja.Where(s => s.Naziv.Equals("aktivan")).FirstOrDefault().Id;
                _context.Update(uredaj);
                await _context.SaveChangesAsync();

                TempData["Success"] = $"Ekran {_context.Uredaj.Where(u => u.Id == ekranZida.IdUredaja).FirstOrDefault().Naziv} pripada videozidu {_context.Videozid.Where(v => v.Id == ekranZida.IdZida).FirstOrDefault().Naziv}.";

                return(RedirectToAction("Details", new { id = ekranZida.Id }));
            }
            ViewData["IdUredaja"] = new SelectList(_context.Uredaj, "Id", "Naziv", ekranZida.IdUredaja);
            ViewData["IdZida"]    = new SelectList(_context.Videozid, "Id", "Naziv", ekranZida.IdZida);
            return(View(ekranZida));
        }
Esempio n. 3
0
        /// <summary>
        /// Pomoæna metoda za provjeru ispravnosti stvorenog ekrana videozida.
        /// </summary>
        /// <param name="ekranZida">objekt tipa EkranZida</param>
        /// <returns>true ako je ekran zida za zadani videozida ispravno definiran, false inaèe</returns>
        private bool EkranZidaValid(EkranZida ekranZida)
        {
            Videozid zid = _context.Videozid.Where(z => z.Id == ekranZida.IdZida).FirstOrDefault();

            if (ekranZida.XKoord < zid.Sirina && ekranZida.YKoord < zid.Visina)
            {
                if (_context.EkranZida.Where(e => e.IdZida == ekranZida.IdZida && e.XKoord == ekranZida.XKoord && e.YKoord == ekranZida.YKoord).Count() == 0 &&
                    _context.EkranZida.Where(e => e.IdUredaja == ekranZida.Id).Count() == 0)
                {
                    return(true);
                }
                else
                {
                    TempData["Error"] = $"Unesena pozicija u zidu je zauzeta!";
                    return(false);
                }
            }
            else
            {
                TempData["Error"] = $"Unesena pozicija u zidu ne postoji! Dimenzije zida iznose: Sirina - {zid.Sirina} Visina - {zid.Visina}";
                return(false);
            }
        }
Esempio n. 4
0
        public async Task <IActionResult> EkranCreate([FromBody] EkranZida ekran)
        {
            if (ekran.XKoord < 0 || ekran.YKoord < 0)
            {
                _logger.LogWarning("Neispravne koordinate!");
                return(BadRequest("Neispravne koordinate!"));
            }

            else if (await _context.Uredaj.FindAsync(ekran.IdUredaja) == null)
            {
                _logger.LogWarning("Uređaj s navedenim ID-em (" + ekran.IdUredaja + ") ne postoji.");
                return(NotFound("Uređaj s navedenim ID-em (" + ekran.IdUredaja + ") ne postoji."));
            }

            else if (await _context.Videozid.FindAsync(ekran.IdZida) == null)
            {
                _logger.LogWarning("Videozid s navedenim ID-em (" + ekran.IdZida + ") ne postoji.");
                return(NotFound("Videozid s navedenim ID-em (" + ekran.IdZida + ") ne postoji."));
            }

            else if (await _context.EkranZida.Where(ek => ek.IdUredaja == ekran.IdUredaja && ek.IdZida == ekran.IdZida).FirstOrDefaultAsync() != null)
            {
                _logger.LogWarning("Videozid već sadrži navedeni ekran!");
                return(BadRequest("Videozid već sadrži navedeni ekran!"));
            }

            else if (await _context.EkranZida.Where(ek => ek.IdUredaja == ekran.IdUredaja && ek.IdZida == ekran.IdZida).FirstOrDefaultAsync() != null)
            {
                _logger.LogWarning("Neki videozid već sadrži navedeni ekran!");
                return(BadRequest("Neki videozid već sadrži navedeni ekran!"));
            }

            else if (await _context.EkranZida.Where(ek => ek.XKoord == ekran.XKoord && ek.YKoord == ekran.YKoord && ek.IdZida == ekran.IdZida).FirstOrDefaultAsync() != null)
            {
                _logger.LogWarning("Videozid već sadrži ekran na navedenim koordinatama!");
                return(BadRequest("Videozid već sadrži ekran na navedenim koordinatama!"));
            }

            else
            {
                var zid = await _context.Videozid.FindAsync(ekran.IdZida);

                if (ekran.XKoord >= zid.Sirina || ekran.YKoord >= zid.Visina)
                {
                    _logger.LogWarning("Neispravne koordinate!");
                    return(BadRequest("Neispravne koordinate!"));
                }

                _context.Add(ekran);
                await _context.SaveChangesAsync();

                var ek = _context.EkranZida.Where(e => e.IdUredaja == ekran.IdUredaja && e.IdZida == ekran.IdZida).Include(e => e.IdUredajaNavigation).First();
                _logger.LogInformation("Stvoren ekran zida ID = " + ek.Id);
                return(new ObjectResult(new
                {
                    IdVeze = ek.Id,
                    Id = ek.IdUredaja,
                    Name = ek.IdUredajaNavigation.Naziv + "(" + ek.XKoord + "," + ek.YKoord + ")",
                }));
            }
        }