示例#1
0
        public async Task <IActionResult> PutPodrucjeProjekt([FromRoute] int id, [FromBody] PodrucjeProjekt podrucjeProjekt)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != podrucjeProjekt.Id)
            {
                return(BadRequest());
            }

            _context.Entry(podrucjeProjekt).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PodrucjeProjektExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#2
0
        public async Task <IActionResult> PostPodrucjeProjekt([FromBody] PodrucjeProjekt podrucjeProjekt)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.PodrucjeProjekt.Add(podrucjeProjekt);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPodrucjeProjekt", new { id = podrucjeProjekt.Id }, podrucjeProjekt));
        }
示例#3
0
        public async Task <IActionResult> PostProjekt([FromBody] ProjektDTO projektDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DodajDokumente(projektDTO.Dokumenti);

            Projekt projekt = new Projekt()
            {
                IdProjekta     = projektDTO.IdProjekta,
                Naziv          = projektDTO.Naziv,
                Opis           = projektDTO.Opis,
                KljucneRijeci  = projektDTO.KljucneRijeci,
                DatumPocetka   = projektDTO.DatumPocetka,
                DatumZavrsetka = projektDTO.DatumZavrsetka,
                IdFaze         = projektDTO.IdFaze,
                IdStacka       = projektDTO.IdStacka
            };


            projekt.IdStackaNavigation = _context.TehnoloskiStack.FirstOrDefault(x => x.IdStacka == projekt.IdStacka);
            projekt.IdFazeNavigation   = _context.Faza.FirstOrDefault(x => x.IdFaze == projekt.IdFaze);

            foreach (var i in projektDTO.Tehnologije)
            {
                TehnologijaProjekt x = new TehnologijaProjekt()
                {
                    IdProjekta           = projekt.IdProjekta,
                    IdTehnologije        = i.IdTehnologije,
                    IdProjektaNavigation = projekt,
                };

                x.IdTehnologijeNavigation = _context.Tehnologija.FirstOrDefault(a => a.IdTehnologije == i.IdTehnologije);
                _context.TehnologijaProjekt.Add(x);
            }

            foreach (var i in projektDTO.Podrucja)
            {
                PodrucjeProjekt x = new PodrucjeProjekt()
                {
                    IdProjekta           = projekt.IdProjekta,
                    IdPodrucja           = i.IdPodrucja,
                    IdProjektaNavigation = projekt,
                };

                x.IdPodrucjaNavigation = _context.PoslovnoPodrucje.FirstOrDefault(a => a.IdPodrucja == i.IdPodrucja);
                _context.PodrucjeProjekt.Add(x);
            }


            int n = projektDTO.Dokumenti.Count;

            List <Dokument> dokumenti = _context.Dokument.OrderByDescending(x => x.IdDokumenta).Take(n).ToList();

            foreach (var i in dokumenti)
            {
                DokumentProjekt x = new DokumentProjekt()
                {
                    IdProjekta           = projekt.IdProjekta,
                    IdDokumenta          = i.IdDokumenta,
                    IdProjektaNavigation = projekt,
                };

                x.IdDokumentaNavigation = _context.Dokument.FirstOrDefault(a => a.IdDokumenta == i.IdDokumenta);
                _context.DokumentProjekt.Add(x);
            }

            foreach (var i in projektDTO.Sudionici)
            {
                OsobaProjekt x = new OsobaProjekt()
                {
                    IdProjekta           = projekt.IdProjekta,
                    IdOsobe              = i.IdOsobe,
                    IdProjektaNavigation = projekt,
                    IdUloge              = i.IdUloge
                };

                x.IdOsobeNavigation = _context.Osoba.FirstOrDefault(a => a.IdOsobe == i.IdOsobe);
                x.IdUlogeNavigation = _context.Uloga.FirstOrDefault(a => a.IdUloge == i.IdUloge);
                _context.OsobaProjekt.Add(x);
            }


            _context.Projekt.Add(projekt);
            await _context.SaveChangesAsync();


            return(CreatedAtAction("GetProjekt", new { id = projekt.IdProjekta }, projekt));
        }