コード例 #1
0
        public async Task <ActionResult> Create(PromotionInformationDto promotionDto)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Create"));
            }
            try
            {
                await _promo.AddPromotionInformation(promotionDto);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
コード例 #2
0
        public async Task <ActionResult> Edit(int id, PromotionInformationDto promotionDto)
        {
            if (id != promotionDto.PromotionInformationId)
            {
                return(RedirectToAction("Edit", new { id }));
            }
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Edit", new { id }));
            }
            try
            {
                await _promo.UpdatPromotionInformationWithId(promotionDto);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
コード例 #3
0
        public async Task UpdatPromotionInformationWithId(PromotionInformationDto promotionInformationDto)
        {
            if (PromotionInformationExists(promotionInformationDto.PromotionInformationId))
            {
                PromotionInformation promotionInformation = null;
                string path = null;
                try
                {
                    path = _img.EditImage(promotionInformationDto.File, promotionInformationDto.OldImage);
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"Product information image not created: {ex.Message}");
                }

                promotionInformation = await _ctx.PromotionsInformation.Where(p => p.PromotionInformationId == promotionInformationDto.PromotionInformationId)
                                       .Select(p => new PromotionInformation
                {
                    ImagePath                   = !string.IsNullOrEmpty(path) ? path : p.ImagePath,
                    PromotionId                 = promotionInformationDto.PromotionId,
                    PromotionInformationId      = p.PromotionInformationId,
                    PromotionInformationContent = promotionInformationDto.PromotionInformationContent,
                    Title = promotionInformationDto.Title,
                    Price = promotionInformationDto.Price
                }).SingleOrDefaultAsync();

                try
                {
                    _ctx.Update(promotionInformation);
                    await _ctx.SaveChangesAsync();

                    return;
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"Promotion information record not updated: {ex.Message}");
                }
            }
            throw new Exception();
        }
コード例 #4
0
        public async Task AddPromotionInformation(PromotionInformationDto promotionInformationDto)
        {
            if (promotionInformationDto.File != null)
            {
                PromotionInformation promotionInformation = null;
                string path = null;
                try
                {
                    path = _img.CreateImage(promotionInformationDto.File);
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"Banner image not created: {ex.Message}");
                }

                promotionInformation = new PromotionInformation
                {
                    ImagePath   = path,
                    PromotionId = promotionInformationDto.PromotionId,
                    PromotionInformationContent = promotionInformationDto.PromotionInformationContent,
                    Title = promotionInformationDto.Title,
                    Price = promotionInformationDto.Price
                };

                try
                {
                    _ctx.PromotionsInformation.Add(promotionInformation);
                    await _ctx.SaveChangesAsync();

                    return;
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"Banner record not created: {ex.Message}");
                }
            }
            throw new Exception();
        }