コード例 #1
0
        //[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));
            }
        }
コード例 #2
0
        //[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));
            }
        }
コード例 #3
0
        //[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));
            }
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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);
        }