public IActionResult Uredi(UrediParkingVM vm)
        {
            if (ModelState.IsValid)
            {
                ParkingLokacija parking = _context.ParkingLokacija.Find(vm.Id);

                parking.longitude      = double.Parse(vm.longitude);
                parking.Latitude       = double.Parse(vm.Latitude);
                parking.Adresa         = vm.Adresa;
                parking.BrojMjesta_OSI = vm.BrojMjesta_OSI;
                parking.BrojMjesta     = vm.BrojMjesta;
                parking.Dostupan       = vm.Dostupan;
                parking.Naziv          = vm.Naziv;
                parking.Zip            = vm.Zip;


                _context.ParkingLokacija.Update(parking);
                _context.SaveChanges();

                var mjesto = _context.Mjesto.Where(x => x.ParkingLokacijaId == vm.Id).ToList();

                foreach (var m in mjesto)
                {
                    _context.Mjesto.Remove(m);
                    _context.SaveChanges();
                }

                int brojac = 1;
                for (int i = 0; i < vm.BrojMjesta - vm.BrojMjesta_OSI; i++)
                {
                    Mjesto novoMjesto = new Mjesto()
                    {
                        OSI_mjesto        = false,
                        Oznaka            = vm.OznakaZaMjesta + brojac,
                        Zauzeto           = false,
                        ParkingLokacijaId = parking.Id
                    };
                    _context.Mjesto.Add(novoMjesto);
                    brojac++;
                    _context.SaveChanges();
                }
                for (int i = 0; i < vm.BrojMjesta_OSI; i++)
                {
                    Mjesto novoMjesto = new Mjesto()
                    {
                        OSI_mjesto        = true,
                        Oznaka            = vm.OznakaZaMjesta + brojac,
                        Zauzeto           = false,
                        ParkingLokacijaId = parking.Id
                    };
                    _context.Mjesto.Add(novoMjesto);
                    brojac++;
                    _context.SaveChanges();
                }


                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
        public IActionResult ParkingDostupan(int id)
        {
            ParkingLokacija p = _context.ParkingLokacija.Find(id);

            p.Dostupan = true;
            _context.SaveChanges();
            return(Redirect("/Admin/Home/Index/" + p.Id));
        }
        public IActionResult Dodaj(DodajParkingVM vm)
        {
            if (ModelState.IsValid)
            {
                ParkingLokacija novaLokacija = new ParkingLokacija()
                {
                    Adresa         = vm.Adresa,
                    BrojMjesta     = vm.BrojMjesta,
                    BrojMjesta_OSI = vm.BrojMjesta_OSI,
                    Latitude       = double.Parse(vm.Latitude),
                    longitude      = double.Parse(vm.longitude),
                    Dostupan       = vm.Dostupan,
                    Naziv          = vm.Naziv,
                    Zip            = vm.Zip
                };
                _context.ParkingLokacija.Add(novaLokacija);
                _context.SaveChanges();
                var parking = _context.ParkingLokacija
                              .Where(c => c.longitude == double.Parse(vm.longitude) && c.Latitude == double.Parse(vm.Latitude)).FirstOrDefault();
                int brojac = 1;

                for (int i = 0; i < vm.BrojMjesta - vm.BrojMjesta_OSI; i++)
                {
                    Mjesto novoMjesto = new Mjesto()
                    {
                        OSI_mjesto        = false,
                        Oznaka            = vm.OznakaZaMjesta + brojac,
                        Zauzeto           = false,
                        ParkingLokacijaId = parking.Id
                    };
                    _context.Mjesto.Add(novoMjesto);
                    brojac++;
                    _context.SaveChanges();
                }

                for (int i = 0; i < vm.BrojMjesta_OSI; i++)
                {
                    Mjesto novoMjesto = new Mjesto()
                    {
                        OSI_mjesto        = true,
                        Oznaka            = vm.OznakaZaMjesta + brojac,
                        Zauzeto           = false,
                        ParkingLokacijaId = parking.Id
                    };
                    _context.Mjesto.Add(novoMjesto);
                    brojac++;
                    _context.SaveChanges();
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
        public IActionResult Uredi(int ParkingID)
        {
            ParkingLokacija vm    = _context.ParkingLokacija.Find(ParkingID);
            var             m     = _context.Mjesto.Where(c => c.ParkingLokacijaId == ParkingID).ToList();
            UrediParkingVM  model = new UrediParkingVM()
            {
                Id             = vm.Id,
                longitude      = vm.longitude.ToString(),
                Adresa         = vm.Adresa,
                BrojMjesta_OSI = vm.BrojMjesta_OSI,
                BrojMjesta     = vm.BrojMjesta,
                Dostupan       = vm.Dostupan,
                Latitude       = vm.Latitude.ToString(),
                Naziv          = vm.Naziv,
                OznakaZaMjesta = m[1].Oznaka,
                Zip            = vm.Zip
            };

            return(View(model));
        }
Exemple #5
0
        public IActionResult Index(int ParkingID)
        {
            ParkingLokacija parking = _context.ParkingLokacija.Find(ParkingID);

            try
            {
                String s1 = _serialPortConnector.Receive();
                if (s1 != null || s1.Length != 6)
                {
                    var arduinoSplit  = s1.ToCharArray();
                    var brojac        = 1;
                    var arduinoBrojac = 0;

                    var input1 = _context.Mjesto.Where(c => c.ParkingLokacijaId == 1).ToList();
                    var input2 = _context.Mjesto.Where(c => c.ParkingLokacijaId == 2).ToList();

                    foreach (var i in input1)
                    {
                        if (brojac % 2 != 0)
                        {
                            i.Zauzeto = arduinoSplit[arduinoBrojac] == '1' ? true : false;
                            _context.Mjesto.Update(i);
                            arduinoBrojac++;
                        }
                        if (brojac == 6)
                        {
                            break;
                        }

                        brojac++;
                    }

                    brojac = 1;
                    foreach (var i in input2)
                    {
                        if (brojac % 2 != 0)
                        {
                            i.Zauzeto = arduinoSplit[arduinoBrojac] == '1' ? true : false;
                            _context.Mjesto.Update(i);
                            arduinoBrojac++;
                        }
                        if (brojac == 6)
                        {
                            break;
                        }
                        brojac++;
                    }

                    _context.SaveChanges();
                }
            }
            catch {}

            MjestoVM vm = new MjestoVM()
            {
                Naziv                   = parking.Naziv,
                Adresa                  = parking.Adresa,
                BrojMjesta              = parking.BrojMjesta,
                BrojMjesta_OSI          = parking.BrojMjesta_OSI,
                BrojMjesta_slobodno     = _context.Mjesto.Where(c => c.ParkingLokacijaId == parking.Id && c.Zauzeto == false).Count(),
                BrojMjesta_OSI_slobodno = _context.Mjesto.Where(c => c.ParkingLokacijaId == parking.Id && c.Zauzeto == false && c.OSI_mjesto == true).Count(),

                Mjesta = _context.Mjesto.Where(v => v.ParkingLokacijaId == parking.Id).Select(x => new MjestoVM.Row()
                {
                    MjestoId   = x.Id,
                    OSI_mjesto = x.OSI_mjesto,
                    Oznaka     = x.Oznaka,
                    Zauzeto    = x.Zauzeto
                }).ToList(),
            };

            return(View(vm));
        }