public IActionResult KreirajZahtjevZaProjekat(int projekatId, [FromBody] KreirajZahtjevRequestModel model)
        {
            var result = zahtjevService.KreirajZahtjevZaProjekat(projekatId, model);

            if (result.IsOk)
            {
                /*logService.Akcija(Core.Constants.LogLevel.Info,
                 *       Core.Constants.LogKategorija.korisnik,
                 *       Core.Constants.LogAkcija.korisnik_dodaj,
                 *       "KorisnickoIme: " + result.Value.KorisnickoIme,
                 *      authService.TrenutniKorisnik().KorisnickoIme
                 *       );*/
            }
            return(Convert(result));
        }
Exemple #2
0
        public ServiceResult <ZahtjevModel> KreirajZahtjevZaProjekat(int projekatId, KreirajZahtjevRequestModel model)
        {
            /*var trenutni = authService.TrenutniKorisnik();
             *
             * var hashProvider = Scope.Resolve<IHashProvider>();
             * var tajna = hashProvider.HashPassword(model.Lozinka);*/

            if (String.IsNullOrWhiteSpace(model.Naziv))
            {
                return(Error("Naziv zahtjeva ne može biti prazan"));
            }
            if (model.Naziv.Length > 128)
            {
                return(Error("Naziv zahtjeva ne može biti veći od 128"));
            }

            if (String.IsNullOrWhiteSpace(model.Opis))
            {
                return(Error("Opis zahtjeva ne može biti prazan"));
            }

            Zahtjev zahtjev = new Zahtjev();

            zahtjev.Naziv               = model.Naziv;
            zahtjev.Opis                = model.Opis;
            zahtjev.DatumKreiranja      = DateTime.Now;
            zahtjev.ZahtjevKategorijaId = model.ZahtjevKategorijaId;
            zahtjev.ZahtjevPrioritetId  = model.ZahtjevPrioritetId;
            zahtjev.ZahtjevTipId        = model.ZahtjevTipId;
            zahtjev.PocetakIzrade       = model.PocetakIzrade;

            zahtjev.ZahtjevStatusId = OdrediDefaultniZahtjevStatusProjekta(projekatId).Id;


            Projekat projekat = context.Projekti
                                .Include(z => z.Zahtjevi)
                                .FirstOrDefault(x => x.Id == projekatId);

            if (projekat == null)
            {
                return(NotFound());
            }


            projekat.Zahtjevi.Add(zahtjev);


            IzmjenaZahtjeva izmjenaZahtjeva = new IzmjenaZahtjeva();

            izmjenaZahtjeva.DatumKreiranja      = zahtjev.DatumKreiranja;
            izmjenaZahtjeva.DodijeljeniKorisnik = zahtjev.DodijeljeniKorisnik;
            izmjenaZahtjeva.NoviZahtjevStatusId = zahtjev.ZahtjevStatusId;
            izmjenaZahtjeva.Zahtjev             = zahtjev;
            context.IzmjeneZahtjeva.Add(izmjenaZahtjeva);

            SaveChanges(context);



            //dodavanje priloga zahtjeva, moguce samo jedan fajl trenutno
            if (model.DokumentId != null)
            {
                PrilogZahtjeva prilogZahtjeva = new PrilogZahtjeva();
                prilogZahtjeva.DokumentId = (int)model.DokumentId;
                prilogZahtjeva.ZahtjevId  = zahtjev.Id;
                context.PriloziZahtjeva.Add(prilogZahtjeva);

                SaveChanges(context);
            }



            return(Ok(zahtjev.ToZahtjevModel()));
        }