public async Task <IActionResult> AddWithData(AddGiftWithDataRequest addGiftWithDataRequest) { if (!await eventService.ValidateAccessAsync(addGiftWithDataRequest.EventId, User)) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } if (ModelState.IsValid) { await giftService.SaveGiftAsync(addGiftWithDataRequest); return(RedirectToAction(nameof(EventController.Show), "Event", new { id = addGiftWithDataRequest.EventId })); } return(View(addGiftWithDataRequest)); }
public async Task <IActionResult> AddWithData(long id) { if (!await eventService.ValidateAccessAsync(id, User)) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } AddGiftWithDataRequest addGiftWithDataRequest = new AddGiftWithDataRequest() { EventId = id, Quantity = 1 }; return(View(addGiftWithDataRequest)); }
public async Task SaveGiftAsync(AddGiftWithDataRequest addGiftWithDataRequest) { var gift = mapper.Map <AddGiftWithDataRequest, Gift>(addGiftWithDataRequest); gift.Event = await applicationDbContext.Events.Include(e => e.Gifts).Include(e => e.Invitations) .FirstOrDefaultAsync(e => e.EventId == addGiftWithDataRequest.EventId); await applicationDbContext.Gifts.AddAsync(gift); await applicationDbContext.SaveChangesAsync(); if (addGiftWithDataRequest.Image == null) { gift.PhotoUrl = "https://dotnetpincerstorage.blob.core.windows.net/mealimages/default/default.png"; } else { CloudBlockBlob blob = await blobStorageService.MakeBlobFolderAndSaveImageAsync("gift", gift.GiftId, addGiftWithDataRequest.Image); await AddImageUriToGiftAsync(gift.GiftId, blob); } await applicationDbContext.SaveChangesAsync(); }