public async Task <OrphanageDataModel.Persons.Caregiver> GetCaregiver(int Cid) { _logger.Information($"Trying to get caregiver with id {Cid}"); using (var dbContext = new OrphanageDbCNoBinary()) { var caregiver = await dbContext.Caregivers.AsNoTracking() .Include(c => c.Address) .Include(c => c.Name) .Include(c => c.Orphans) .Include(c => c.ActingUser.Name) .FirstOrDefaultAsync(c => c.Id == Cid); if (caregiver == null) { _logger.Warning($"caregiver with id{Cid} cannot be found null is returned"); return(null); } if (caregiver == null) { throw new ObjectNotFoundException(); } _selfLoopBlocking.BlockCaregiverSelfLoop(ref caregiver); _uriGenerator.SetCaregiverUris(ref caregiver); caregiver.Address = caregiver.Address.Clean(); _logger.Information($"returned caregiver with id {Cid}"); return(caregiver); } }
public async Task <IEnumerable <OrphanageDataModel.Persons.Caregiver> > GetCaregivers(int Uid) { IList <OrphanageDataModel.Persons.Caregiver> caregiversList = new List <OrphanageDataModel.Persons.Caregiver>(); using (var _orphanageDBC = new OrphanageDbCNoBinary()) { var caregivers = await _orphanageDBC.Caregivers.AsNoTracking() .Include(c => c.Address) .Include(c => c.Name) .Include(c => c.Orphans) .Where(c => c.UserId == Uid) .ToListAsync(); foreach (var caregiver in caregivers) { OrphanageDataModel.Persons.Caregiver caregiverToFill = caregiver; _selfLoopBlocking.BlockCaregiverSelfLoop(ref caregiverToFill); _uriGenerator.SetCaregiverUris(ref caregiverToFill); caregiversList.Add(caregiverToFill); } } return(caregiversList); }