public async Task Delete(PetPicture petPicture) { await TryCatch(async() => { await _petPictureRepository.DeleteAsync(petPicture); }); }
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); })); }
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")); }