public async Task <CatLitterViewModel> GetLitterData(CatLitter litter, bool displayPicture) { var LitterViewModel = new CatLitterViewModel(); var parentsQuery = from cats in _db.Cats join parents in _db.CatLitter_Parent on cats.Id equals parents.CatId where parents.CatLitterId == litter.Id select cats; var imageQuery = from images in _db.Images join cli in _db.CatLitter_Image on images.Id equals cli.ImageId where cli.CatLitterId == litter.Id select images; if (displayPicture == true) { imageQuery = from images in _db.Images join cli in _db.CatLitter_Image on images.Id equals cli.ImageId where cli.CatLitterId == litter.Id && images.DisplayPicture == true select images; } var kittensQuery = from cats in _db.Cats where cats.CatLitter.Id == litter.Id select cats; LitterViewModel.Kittens = await kittensQuery.ToListAsync(); LitterViewModel.Parents = await parentsQuery.ToListAsync(); LitterViewModel.Images = await imageQuery.ToListAsync(); LitterViewModel.Id = litter.Id; LitterViewModel.Notes = litter.Notes; LitterViewModel.Pedigree = litter.Pedigree; LitterViewModel.PedigreeName = litter.PedigreeName; LitterViewModel.ReadyDate = litter.ReadyDate; LitterViewModel.Status = litter.Status; LitterViewModel.SVERAK = litter.SVERAK; LitterViewModel.Vaccinated = litter.Vaccinated; LitterViewModel.Chipped = litter.Chipped; LitterViewModel.BirthDate = litter.BirthDate; LitterViewModel.AmountOfKids = litter.AmountOfKids; return(LitterViewModel); }
public async Task <ActionResult <IEnumerable <CatLitter> > > GetAllCatLitters() { var returnList = new List <CatLitterViewModel>(); var litters = await _db.CatLitters.ToListAsync(); foreach (CatLitter litter in litters) { var LitterViewModel = new CatLitterViewModel(); var parentsQuery = from cats in _db.Cats join parents in _db.CatLitter_Parent on cats.Id equals parents.CatId where parents.CatLitterId == litter.Id select cats; var imageQuery = from images in _db.Images join cli in _db.CatLitter_Image on images.Id equals cli.ImageId where cli.CatLitterId == litter.Id && images.DisplayPicture == true select images; LitterViewModel.Parents = await parentsQuery.ToListAsync(); LitterViewModel.Images = await imageQuery.Take(1).ToListAsync(); LitterViewModel.Id = litter.Id; LitterViewModel.Notes = litter.Notes; LitterViewModel.Pedigree = litter.Pedigree; LitterViewModel.PedigreeName = litter.PedigreeName; LitterViewModel.ReadyDate = litter.ReadyDate; LitterViewModel.Status = litter.Status; LitterViewModel.SVERAK = litter.SVERAK; LitterViewModel.Vaccinated = litter.Vaccinated; LitterViewModel.Chipped = litter.Chipped; LitterViewModel.BirthDate = litter.BirthDate; LitterViewModel.AmountOfKids = litter.AmountOfKids; returnList.Add(LitterViewModel); } if (returnList == null) { return(NotFound()); } return(Ok(returnList)); }
public async Task <ActionResult <CatLitter> > GetCatLitter(int id) { var fromDb = await _db.CatLitters.FindAsync(id); if (fromDb == null) { return(NotFound()); } else { var litterViewModel = new CatLitterViewModel(); litterViewModel = await GetLitterData(fromDb, false); if (litterViewModel == null) { return(NotFound()); } return(Ok(litterViewModel)); } }