public ServiceResult <List <ZahtjevPrioritet> > DodajNoviPrioritetZahtjevaProjekta(int projekatId, KreirajZahtjevPrioritetRequestModel zahtjevpPrioritetModel) { if (zahtjevpPrioritetModel.Naziv.Length > 20) { return(Error("Naziv ne može biti veći od 20 karaktera")); } var zahtjevPrioriteti = context.ZahtjevPrioriteti .Where(p => p.ProjekatId == projekatId).OrderBy(p => p.Poredak).ToList(); if (zahtjevPrioriteti == null) { return(NotFound()); } //ako npr. dodan prioritet sa poredak 2, onda se poredak za ostale prioritete tog projekta povecava za 1 ako je taj poredak veci ili jednak od dodanog novog poretka for (int brojPrioriteta = zahtjevpPrioritetModel.Poredak; brojPrioriteta < zahtjevPrioriteti.Count(); brojPrioriteta++) { zahtjevPrioriteti.ElementAt(brojPrioriteta).Poredak = brojPrioriteta + 1; } ZahtjevPrioritet zahtjevPrioritet = new ZahtjevPrioritet(); zahtjevPrioritet.Default = false; zahtjevPrioritet.Naziv = zahtjevpPrioritetModel.Naziv; zahtjevPrioritet.Poredak = zahtjevpPrioritetModel.Poredak; zahtjevPrioritet.ProjekatId = projekatId; context.Add(zahtjevPrioritet); SaveChanges(context); zahtjevPrioriteti = context.ZahtjevPrioriteti .Where(p => p.ProjekatId == projekatId).OrderBy(p => p.Poredak).ToList(); return(Ok(zahtjevPrioriteti)); }
public ServiceResult <ProjekatModel> Kreiraj(KreirajProjekatRequestModel model) { //model.KorisnickoIme = model.KorisnickoIme.Trim().ToLower(); var trenutni = authService.TrenutniKorisnik(); if (trenutni.TrenutnaUloga.VrijednostUAplikaciji != (int)Uloga.Administrator) { return(Error("Nemate pravo kreiranja projekta")); } if (context.Projekti.FirstOrDefault(x => x.Naziv == model.Naziv) != null) { return(Error("Projekat pod tim imenom već postoji.")); } if (string.IsNullOrEmpty(model.Naziv)) { return(Error("Polje naziv projekta ne može biti prazno")); } /*var trenutni = authService.TrenutniKorisnik(); * * * var hashProvider = Scope.Resolve<IHashProvider>(); * var tajna = hashProvider.HashPassword(model.Lozinka);*/ Projekat projekat = new Projekat(); projekat.Naziv = model.Naziv; projekat.Opis = model.Opis; projekat.DatumKreiranja = DateTime.Now; #region ProjekatKonfiguracija ProjekatKonfiguracija projekatKonfiguracija = new ProjekatKonfiguracija(); projekatKonfiguracija.RadnoVrijemeOd = new TimeSpan(8, 0, 0); projekatKonfiguracija.RadnoVrijemeDo = new TimeSpan(16, 0, 0); projekatKonfiguracija.RadniDani = "1111100"; projekat.ProjekatKonfiguracija = projekatKonfiguracija; #endregion #region Prioriteti zahtjeva ZahtjevPrioritet zahtjevPrioritetNizak = new ZahtjevPrioritet(); zahtjevPrioritetNizak.Default = false; zahtjevPrioritetNizak.Naziv = "Nizak"; zahtjevPrioritetNizak.Poredak = 2; ZahtjevPrioritet zahtjevPrioritetSrednji = new ZahtjevPrioritet(); zahtjevPrioritetSrednji.Default = true; zahtjevPrioritetSrednji.Naziv = "Srednji"; zahtjevPrioritetSrednji.Poredak = 1; ZahtjevPrioritet zahtjevPrioritetVisok = new ZahtjevPrioritet(); zahtjevPrioritetVisok.Default = false; zahtjevPrioritetVisok.Naziv = "Visok"; zahtjevPrioritetVisok.Poredak = 0; projekat.PrioritetiZahtjeva = new List <ZahtjevPrioritet>(); projekat.PrioritetiZahtjeva.Add(zahtjevPrioritetNizak); projekat.PrioritetiZahtjeva.Add(zahtjevPrioritetSrednji); projekat.PrioritetiZahtjeva.Add(zahtjevPrioritetVisok); #endregion #region Tipovi zahtjeva ZahtjevTip zahtjevTipBug = new ZahtjevTip(); zahtjevTipBug.Default = false; zahtjevTipBug.Naziv = "Bug"; ZahtjevTip zahtjevTipZahtjev = new ZahtjevTip(); zahtjevTipZahtjev.Default = true; zahtjevTipZahtjev.Naziv = "Zahtjev"; ZahtjevTip zahtjevTipZadatak = new ZahtjevTip(); zahtjevTipZadatak.Default = false; zahtjevTipZadatak.Naziv = "Zadatak"; ZahtjevTip zahtjevTipPrica = new ZahtjevTip(); zahtjevTipPrica.Default = false; zahtjevTipPrica.Naziv = "Prica"; projekat.TipoviZahtjeva = new List <ZahtjevTip>(); projekat.TipoviZahtjeva.Add(zahtjevTipBug); projekat.TipoviZahtjeva.Add(zahtjevTipZahtjev); projekat.TipoviZahtjeva.Add(zahtjevTipZadatak); projekat.TipoviZahtjeva.Add(zahtjevTipPrica); #endregion #region StatusiZahtjeva ZahtjevStatus zahtjevStatusZavrsen = new ZahtjevStatus(); zahtjevStatusZavrsen.Default = false; zahtjevStatusZavrsen.Naziv = "Završen"; zahtjevStatusZavrsen.Oznaka = (int)OznakeStatusa.Done; zahtjevStatusZavrsen.Poredak = 2; ZahtjevStatus zahtjevStatusRadiSe = new ZahtjevStatus(); zahtjevStatusRadiSe.Default = false; zahtjevStatusRadiSe.Naziv = "Radi se"; zahtjevStatusRadiSe.Oznaka = (int)OznakeStatusa.InProgress; zahtjevStatusRadiSe.Poredak = 1; ZahtjevStatus zahtjevStatusPotrebnoUraditi = new ZahtjevStatus(); zahtjevStatusPotrebnoUraditi.Default = true; zahtjevStatusPotrebnoUraditi.Naziv = "Potrebno uraditi"; zahtjevStatusPotrebnoUraditi.Oznaka = (int)OznakeStatusa.ToDo; zahtjevStatusPotrebnoUraditi.Poredak = 0; projekat.StatusiZahtjeva = new List <ZahtjevStatus>(); projekat.StatusiZahtjeva.Add(zahtjevStatusZavrsen); projekat.StatusiZahtjeva.Add(zahtjevStatusRadiSe); projekat.StatusiZahtjeva.Add(zahtjevStatusPotrebnoUraditi); #endregion DioProjekta dioProjekta = new DioProjekta(); dioProjekta.Naziv = "Osnovni"; #region KategorijeZahtjeva ZahtjevKategorija zahtjevKategorija = new ZahtjevKategorija(); zahtjevKategorija.Naziv = "Osnovna"; /*ZahtjevKategorija zahtjevKategorijaNeodredjena = new ZahtjevKategorija(); * zahtjevKategorijaNeodredjena.Naziv = "Neodređena"; * * * ZahtjevKategorija zahtjevKategorijaSporedna = new ZahtjevKategorija(); * zahtjevKategorijaSporedna.Naziv = "Sporedna";*/ dioProjekta.KategorijeZahtjeva = new List <ZahtjevKategorija>(); dioProjekta.KategorijeZahtjeva.Add(zahtjevKategorija); /*dioProjekta.KategorijeZahtjeva.Add(zahtjevKategorijaNeodredjena); * dioProjekta.KategorijeZahtjeva.Add(zahtjevKategorijaSporedna);*/ #endregion projekat.DijeloviProjekta = new List <DioProjekta>(); projekat.DijeloviProjekta.Add(dioProjekta); context.Add(dioProjekta); context.Add(projekat); SaveChanges(context); return(VratiProjekatPoNazivu(projekat.Naziv)); }