Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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();
        }