public IActionResult PretragaPoOpisuKancelarije(string opisKancelarije) { var osoba = _repository.DajSveEntitete().Where(o => o.Kancelarija.Opis == opisKancelarije) .Select(osobaa => _mapper.Map <OsobaDTO>(osobaa)); if (osoba == null) { return(NotFound()); } return(Ok(osoba.ToList())); }
public IActionResult Brisanje(long id) { try { Kancelarija kancelarija = _repository.EntitetPoId(id); if (kancelarija == null) { return(NotFound("Nema takve kancelarije.")); } if (kancelarija.Opis.Equals("kantina")) { return(BadRequest("Necu obrisat kantinu.")); } unitOfWork.PocniTransakciju(); List <Osoba> beziIzKancelarije = _osobaRepository.DajSveEntitete().Where(o => o.Kancelarija == kancelarija).ToList(); for (int i = 0; i < beziIzKancelarije.Count(); i++) { Osoba osoba = beziIzKancelarije[i]; osoba.Kancelarija = new Kancelarija() { Opis = "kantina" }; var mozdaIma = _repository.DajSveEntitete().Where(k => k.Opis == osoba.Kancelarija.Opis) .FirstOrDefault(); if (mozdaIma != null) { osoba.Kancelarija = mozdaIma; } unitOfWork.Sacuvaj(); unitOfWork.ZavrsiTransakciju(); } _repository.ObrisiEntitet(kancelarija); unitOfWork.Sacuvaj(); return(Ok("Kancelarija je izbrisana iz baze podataka.")); } catch (Exception ex) { Error greska = new Error() { Exception = ex.Message, StackTrace = ex.StackTrace }; return(BadRequest(greska)); } }
public IActionResult PretragaPoOpisuKancelarije(string opisKancelarije) { try { var mozdaJeNema = _kancelarijaRepository.PretragaPoNazivu(opisKancelarije); if (mozdaJeNema != null) { var osobe = _repository.DajSveEntitete() .Where(o => o.Kancelarija.Opis == opisKancelarije) .Select(osoba => _mapper.Map <OsobaDTO>(osoba)); return(Ok(osobe.ToList())); } return(BadRequest("Ne postoji ta kancelarija.")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult DodatiNovi(OsobaUredjajDTO ouNovi) { try { if (ouNovi == null) { return(BadRequest("aha ne moze to tako e")); } _unitOfWork.PocniTransakciju(); //ako se uredjaj vec koristi var akoSeKorsiti = _repository.DajSveEntitete().Where(vec => vec.Uredjaj.Naziv == ouNovi.Uredjaj.Naziv && vec.KrajKoriscenja > DateTime.Now).FirstOrDefault(); if (akoSeKorsiti != null) { return(BadRequest($"{ouNovi.Osoba.Ime} ne moze koristiti ovaj uredjaj zato sto ga vec neko koristi.")); } OsobaUredjaj osobaUredjaj = _mapper.Map <OsobaUredjaj>(ouNovi); // ako osoba vec postoji Osoba osoba = (from nn in _osobaRepository.DajSveEntitete() where nn.Ime == osobaUredjaj.Osoba.Ime && nn.Prezime == osobaUredjaj.Osoba.Prezime select nn).FirstOrDefault(); if (osoba != null) { osobaUredjaj.Osoba = osoba; } // ako kancelarija vec postoji if (osoba == null) { var kancelarija = _kancelarijaRepository.PretragaPoNazivu(ouNovi.Osoba.Kancelarija.Opis); if (kancelarija != null) { osobaUredjaj.Osoba.Kancelarija = kancelarija; } } // ako uredjaj vec postoji Uredjaj uredjaj = _uredjajRepository.PretragaPoImenu(ouNovi.Uredjaj.Naziv); if (uredjaj != null) { osobaUredjaj.Uredjaj = uredjaj; } _repository.DodajEntitet(osobaUredjaj); _unitOfWork.Sacuvaj(); _unitOfWork.ZavrsiTransakciju(); return(Ok("Sacuvano je ;)")); } catch (Exception ex) { Error greska = new Error() { Exception = ex.Message, StackTrace = ex.StackTrace }; return(BadRequest(greska)); } }