Exemplo n.º 1
0
 public async Task Delete(PetPicture petPicture)
 {
     await TryCatch(async() =>
     {
         await _petPictureRepository.DeleteAsync(petPicture);
     });
 }
Exemplo n.º 2
0
        public async Task <PetPicture> Create(byte[] picture, int posterId)
        {
            return(await TryCatch(async() =>
            {
                var petPictureBlobStorageUrl = await _blobStorageService.AddPetImageToStorageAsync(picture);

                var petPicture = new PetPicture
                {
                    PosterId = posterId,
                    Url = petPictureBlobStorageUrl
                };

                return await _petPictureRepository.CreateAsync(petPicture);
            }));
        }
Exemplo n.º 3
0
        public ActionResult SalvarPet(PetFormViewModel petViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("PetForm", petViewModel));
            }

            Pet pet;

            if (petViewModel.Id == 0)
            {
                pet = new Pet();
            }
            else
            {
                pet = db.Pets.Find(petViewModel.Id);
            }

            if (pet == null)
            {
                return(HttpNotFound());
            }

            Mapper.Map(petViewModel, pet);

            if (petViewModel.LivesWithOwner)
            {
                var owner = db.Users.Find(petViewModel.OwnerId);
                pet.FillInAddress(owner);
            }
            else
            {
                var county = db.Counties.First(c => c.Name.Equals(petViewModel.CountyView));
                var state  = db.States.First(s => s.Name.Equals(petViewModel.StateView));

                pet.StateId  = state.Id;
                pet.CountyId = county.Id;
            }

            pet.OwnerId = petViewModel.OwnerId;

            if (pet.Id == 0)
            {
                pet.Active  = true;
                pet.AddedIn = DateTime.Now;
                db.Pets.Add(pet);
            }

            db.SaveChanges();

            if (petViewModel.Pictures.Any())
            {
                foreach (var picture in petViewModel.Pictures)
                {
                    if (picture != null && picture.ContentLength > 0)
                    {
                        var petPicture = new PetPicture
                        {
                            PetId   = pet.Id,
                            Picture = new byte[picture.ContentLength]
                        };

                        picture.InputStream.Read(petPicture.Picture, 0, picture.ContentLength);

                        var mainPicture = db.PetPictures.SingleOrDefault(pp => pp.PetId == pet.Id && pp.MainPic);

                        if (mainPicture == null)
                        {
                            petPicture.MainPic = true;
                        }

                        db.PetPictures.Add(petPicture);

                        db.SaveChanges();
                    }
                }
            }

            return(RedirectToAction("PetOwnerList"));
        }