예제 #1
0
        public async Task <ImageSaveError> SaveCampaignContentImage(FileModel file)
        {
            var campaign = await _campaignsRepository.GetByIdAsync(file.CampaignId, true);

            if (campaign == null)
            {
                return(ImageSaveError.VoucherCampaignNotFound);
            }

            var campaignContent = campaign.LocalizedContents.FirstOrDefault(c =>
                                                                            c.ContentType == CampaignContentType.ImageUrl && c.Language == file.Language);

            if (campaignContent == null)
            {
                campaignContent = new VoucherCampaignContent
                {
                    CampaignId  = campaign.Id,
                    ContentType = CampaignContentType.ImageUrl,
                    Language    = file.Language,
                };
                campaignContent.Id = await _campaignContentsRepository.CreateAsync(campaignContent);
            }

            var url = await _fileService.SaveAsync(file, campaignContent.Id);

            if (url == null)
            {
                return(ImageSaveError.InvalidFileFormat);
            }

            campaignContent.Value = url;
            await _campaignContentsRepository.UpdateAsync(campaignContent);

            return(ImageSaveError.None);
        }
예제 #2
0
        public async Task UpdateAsync(VoucherCampaignContent campaignContent)
        {
            var entity = _mapper.Map <VoucherCampaignContentEntity>(campaignContent);

            using (var context = _contextFactory.CreateDataContext())
            {
                context.CampaignsContents.Update(entity);

                await context.SaveChangesAsync();
            }
        }