public async Task <ServiceResult> Delete(int id) { var entity = await _dbContext.Radnici.FindAsync(id); if (entity == null) { return(ServiceResult.NotFound($"Radnik sa ID-em {id} nije pronadjen")); } await _licniPodaciService.Delete(entity.LicniPodaciId); await _korisnikService.Delete(entity.KorisnickiNalogId); await Task.Run(() => { _dbContext.Remove(entity); }); return(ServiceResult.NoContent()); }
public override async Task <ServiceResult> Delete(int id) { var user = await _authService.LoggedInUser(); if (user == null) { return(ServiceResult.Unauthorized()); } Pacijent pacijent = null; bool isAdministrator = await _authService.CurrentUserIsInRoleAsync(RoleType.Administrator); if (isAdministrator) { pacijent = await _dbContext.Pacijenti .Include(x => x.KorisnickiNalog) .FirstOrDefaultAsync(x => x.Id == id); } else { pacijent = await _dbContext.Pacijenti .Include(x => x.KorisnickiNalog) .FirstOrDefaultAsync(x => x.KorisnickiNalogId == user.Id); } if (pacijent == null) { return(ServiceResult.NotFound(isAdministrator ? $"Pacijent sa ID-em {id} nije pronadjen." : "Ovaj korisnicki nalog ne koristi ni jedan pacijent.")); } await Task.Run(() => { //Brisanje svih podataka vezanih za pacijenta var uputnice = _dbContext.Uputnice.Where(x => x.PacijentId == pacijent.Id); if (uputnice.Any()) { _dbContext.RemoveRange(uputnice); } var pregledi = _dbContext.Pregledi.Where(x => x.PacijentId == pacijent.Id); foreach (var pregled in pregledi) { var lekarskoUverenje = _dbContext.LekarskaUverenja.FirstOrDefault(x => x.PregledId == pregled.Id); if (lekarskoUverenje != null) { _dbContext.Remove(lekarskoUverenje); } } if (pregledi.Any()) { _dbContext.RemoveRange(pregledi); } var zahtevi = _dbContext.ZahteviZaPregled.Where(x => x.PacijentId == pacijent.Id); if (zahtevi.Any()) { _dbContext.RemoveRange(zahtevi); } _dbContext.Remove(pacijent); }); var korisnickiNalogDeleteResult = await _korisnikService.Delete(pacijent.KorisnickiNalogId); await _dbContext.SaveChangesAsync(); return(ServiceResult.NoContent()); }
public Model.Korisnik Delete(int id) { return(_korisnikService.Delete(id)); }
public void Delete(int id) { _korisnikService.Delete(id); }