Example #1
0
        public IActionResult Create()
        {
            var item             = _context.Zanimanje.ToList();
            NatjecajViewModel m1 = new NatjecajViewModel();

            m1.Zanimanja = item.Select(vm => new CheckBoxViewModel()
            {
                ID          = vm.ZanimanjeClassID,
                Ime         = vm.Naziv,
                MaxKolicina = vm.Kolicina,
            }).ToList();;
            var opre = _context.Oprema.ToList();

            m1.Oprema = opre.Select(vmo => new CheckBoxViewModelOprema()
            {
                ID          = vmo.OpremaClassID,
                Ime         = vmo.Naziv,
                MaxKolicina = vmo.Kolicina,
            }).ToList();;

            return(View(m1));
        }
Example #2
0
        public IActionResult Create(NatjecajViewModel NVM, NatjecajClass natjecaji, ArhivaNatjecajClass arhiva, NatjecajToZanimanje NZ, NatjecajToOprema UP, ZanimanjeClass ZC)
        {
            List <NatjecajToZanimanje>       utz = new List <NatjecajToZanimanje>();
            List <NatjecajToOprema>          utp = new List <NatjecajToOprema>();
            List <ArhivaNatjecajToZanimanje> atz = new List <ArhivaNatjecajToZanimanje>();
            List <ArhivaNatjecajToOprema>    atp = new List <ArhivaNatjecajToOprema>();

            natjecaji.Naziv    = NVM.Naziv;
            natjecaji.Cijena   = NVM.Cijena;
            natjecaji.Opis     = NVM.Opis;
            natjecaji.Lokacija = NVM.Lokacija;
            _context.Natjecaj.Add(natjecaji);
            _context.SaveChanges();

            arhiva.Naziv           = NVM.Naziv;
            arhiva.Cijena          = NVM.Cijena;
            arhiva.Opis            = NVM.Opis;
            arhiva.Lokacija        = NVM.Lokacija;
            arhiva.NatjecajClassID = natjecaji.NatjecajClassID;
            _context.ArhivaNatjecaj.Add(arhiva);
            _context.SaveChanges();

            int natjecajid = natjecaji.NatjecajClassID;
            int arhivaid   = arhiva.ArhivaNatjecajClassID;

            foreach (var item in NVM.Zanimanja)
            {
                var oduzmi = _context.Zanimanje.Where(x => item.ID == x.ZanimanjeClassID).ToList();
                foreach (var stock in oduzmi)
                {
                    stock.Kolicina = stock.Kolicina - item.Kolicina;
                }
                if (item.Kolicina > 0)
                {
                    utz.Add(new NatjecajToZanimanje()
                    {
                        NatjecajClassID = natjecajid, ZanimanjeClassID = item.ID, Kolicina = item.Kolicina, Naziv = item.Ime
                    });
                    atz.Add(new ArhivaNatjecajToZanimanje()
                    {
                        ArhivaNatjecajClassID = arhivaid, ZanimanjeClassID = item.ID, Kolicina = item.Kolicina, Naziv = item.Ime
                    });
                }
            }
            foreach (var item in utz)
            {
                _context.NatjecajToZanimanjes.Add(item);
            }
            foreach (var item in atz)
            {
                _context.ArhivaNatjecajToZanimanjes.Add(item);
            }
            foreach (var item2 in NVM.Oprema)
            {
                var oduzmi = _context.Oprema.Where(x => item2.ID == x.OpremaClassID).ToList();
                foreach (var stock in oduzmi)
                {
                    stock.Kolicina = stock.Kolicina - item2.Kolicina;
                }
                if (item2.Kolicina > 0)
                {
                    utp.Add(new NatjecajToOprema()
                    {
                        NatjecajClassID = natjecajid, OpremaClassID = item2.ID, Kolicina = item2.Kolicina, Naziv = item2.Ime
                    });
                    atp.Add(new ArhivaNatjecajToOprema()
                    {
                        ArhivaNatjecajClassID = arhivaid, OpremaClassID = item2.ID, Kolicina = item2.Kolicina, Naziv = item2.Ime
                    });
                }
            }
            foreach (var item2 in utp)
            {
                _context.NatjecajToOpremas.Add(item2);
            }
            foreach (var item2 in atp)
            {
                _context.ArhivaNatjecajToOpremas.Add(item2);
            }
            _context.SaveChanges();

            return(RedirectToAction("Index", "Natjecaj"));
        }