public IActionResult AzurirajZahtjev(int zahtjevId, [FromBody] AzurirajZahtjevRequestModel model) { var result = zahtjevService.AzurirajZahtjev(zahtjevId, model); if (result.IsOk) { logService.Akcija(Core.Constants.LogLevel.Info, Core.Constants.LogKategorija.zahtjevi, Core.Constants.LogAkcija.zahtjev_izmijeni, "Zahtjev: " + (result.Value.Id),//+result.Value.Naziv+result.Value.Opis+result.Value.ZahtjevKategorija+result.Value.ZahtjevPrioritet+result.Value.ZahtjevTip, authService.TrenutniKorisnik().KorisnickoIme ); } return(Convert(result)); }
public ServiceResult <ZahtjevModel> AzurirajZahtjev(int zahtjevId, AzurirajZahtjevRequestModel model) { var zahtjev = context.Zahtjevi.Include(z => z.ZahtjevStatus) .SingleOrDefault(p => p.Id == zahtjevId && !p.IsDeleted); if (zahtjev == null) { return(NotFound()); } if (zahtjev.ZahtjevStatus.Oznaka == (int)OznakeStatusa.Done) { return(Error("Izmjena nije moguća, jer je ovaj zahtjev završen")); } if (String.IsNullOrWhiteSpace(model.Naziv)) { return(Error("Naziv zahtjeva ne može biti prazan")); } if (String.IsNullOrWhiteSpace(model.Opis)) { return(Error("Opis zahtjeva ne može biti prazan")); } IzmjenaZahtjeva izmjenaZahtjeva = new IzmjenaZahtjeva(); try { zahtjev.Naziv = model.Naziv; zahtjev.Opis = model.Opis; zahtjev.ZahtjevKategorijaId = model.ZahtjevKategorijaId; zahtjev.ZahtjevTipId = model.ZahtjevTipId; zahtjev.ZahtjevPrioritetId = model.ZahtjevPrioritetId; zahtjev.DatumIzmjene = DateTime.Now; zahtjev.ModifiedBy = model.ModifiedBy; zahtjev.PocetakIzrade = model.PocetakIzrade; if (ImaPravo("zahtjev_zahtjev_edit_dodijeljeni_korisnik")) { if (zahtjev.DodijeljeniKorisnikIme != model.DodijeljeniKorisnikIme) { zahtjev.DodijeljeniKorisnikIme = model.DodijeljeniKorisnikIme; if (zahtjev.DodijeljeniKorisnikIme != null) { var naziv = zahtjev.Naziv; Notifikacija notifikacija = new Notifikacija(); notifikacija.Naslov = "Dodjela zahtjeva"; if (zahtjev.Naziv.Length > 35) { naziv = zahtjev.Naziv.Substring(0, 32) + "..."; } notifikacija.Poruka = "Dodijeljen Vam je zahtjev pod nazivom: '" + naziv; notifikacija.ZahtjevId = zahtjev.Id; notifikacija.ProjekatId = zahtjev.ProjekatId; notifikacija.DatumKreiranja = DateTime.Now; context.Notifikacije.Add(notifikacija); //SaveChanges(context); //kreiranje notifikacije korisniku koji je kreirao zahtjev KorisnikNotifikacija korisnikNotifikacija = new KorisnikNotifikacija(); korisnikNotifikacija.KorisnickoIme = zahtjev.DodijeljeniKorisnikIme; korisnikNotifikacija.NotifikacijaId = notifikacija.Id; korisnikNotifikacija.Otvorena = false; korisnikNotifikacija.Notifikacija = notifikacija; context.KorisnikNotifikacije.Add(korisnikNotifikacija); } } } //ako se mijenja i status, da se to zabiljezi u bazi promjena statusa if (zahtjev.ZahtjevStatusId != model.ZahtjevStatusId) { if (!ImaPravo("zahtjev_zahtjev_edit_status")) { return(Error("Nemate pravo izmjene statusa zahtjeva.")); } AzurirajStatusZahtjevaRequestModel azurirajStatusZahtjevaRequestModel = new AzurirajStatusZahtjevaRequestModel(); azurirajStatusZahtjevaRequestModel.ZahtjevStatusId = model.ZahtjevStatusId; this.AzurirajStatusZahtjeva(zahtjevId, azurirajStatusZahtjevaRequestModel); } SaveChanges(context); } catch (Exception e) { throw; } return(Ok(zahtjev.ToZahtjevModel())); }