//[Authorize] public async Task <ActionResult <CatLitter> > Delete(int id) { CatLitter Litter = await _db.CatLitters.FindAsync(id); if (Litter == null) { return(NotFound()); } else { var kittensQuery = from cats in _db.Cats where cats.CatLitter.Id == id select cats; var kittens = await kittensQuery.ToListAsync(); foreach (Cat kitten in kittens) { _db.Cats.Remove(kitten); } _db.CatLitters.Remove(Litter); await _db.SaveChangesAsync(); return(Ok(Litter)); } }
//[Authorize] public async Task <ActionResult <CatLitter> > PostCatLitter([FromBody] CatLitterDto Litter) { try { foreach (Image i in Litter.Images) { _db.Images.Add(i); await _db.SaveChangesAsync(); } CatLitter newLitter = Litter; for (int i = 0; i < Litter.Images.Count; i++) { newLitter.Images.Add(new CatLitter_Image(Litter.Id, Litter.Images[i].Id)); } for (int i = 0; i < Litter.AmountOfKids; i++) { newLitter.Kittens.Add(new Cat(Litter.BirthDate)); } int thirteenWeeksInDays = 91; newLitter.ReadyDate = Litter.BirthDate.AddDays(thirteenWeeksInDays); _db.CatLitters.Add(newLitter); await _db.SaveChangesAsync(); return(Ok(newLitter)); } catch (Exception e) { return(BadRequest(e)); } }
//[Authorize] public async Task <ActionResult <Cat> > Put([FromBody] CatLitter litter) { try { _db.Entry(litter).State = EntityState.Modified; await _db.SaveChangesAsync(); return(NoContent()); } catch (Exception e) { return(BadRequest(e)); } }
public async Task <ActionResult <Image> > PostImageToNewLitter([FromBody] Image image) { _db.Images.Add(image); await _db.SaveChangesAsync(); var litterQuery = from litter in _db.CatLitters select litter; var litterList = await litterQuery.ToListAsync(); CatLitter latestAddedLitter = litterList[litterList.Count - 1]; latestAddedLitter.Images.Add(new CatLitter_Image(latestAddedLitter.Id, image.Id)); await _db.SaveChangesAsync(); return(Ok(image)); }
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); }