Beispiel #1
0
        public async Task <IActionResult> PutProductPrice(int id, ProductPrice productPrice)
        {
            if (id != productPrice.ProductPriceId)
            {
                return(BadRequest());
            }

            _context.Entry(productPrice).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductPriceExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult> CreateLocationAsync(int campaignId, [FromBody] UserLocationRuleDTO locationRuleDto)
        {
            if (campaignId < 1 || locationRuleDto is null)
            {
                return(BadRequest());
            }

            var locationRule = MapUserLocationRuleDtoToModel(locationRuleDto);

            locationRule.CampaignId = campaignId;

            await _context.Rules.AddAsync(locationRule);

            await _context.SaveChangesAsync();

            if (_settings.CachingEnabled)
            {
                var cache = _context.GetCache();

                var options = new CachingOptions();
                options.SetAbsoluteExpiration(DateTime.Now.AddMinutes(_settings.MarketingCacheExpirationTimeInMinutes));
                await Task.Run(() => cache.Insert(locationRule, out string cacheKey, options));
            }

            return(CreatedAtAction(nameof(GetLocationByCampaignAndLocationRuleId),
                                   new { campaignId = campaignId, userLocationRuleId = locationRule.Id }, null));
        }
        public async Task <ActionResult> CreateCampaignAsync([FromBody] CampaignDTO campaignDto)
        {
            if (campaignDto is null)
            {
                return(BadRequest());
            }

            var campaign = MapCampaignDtoToModel(campaignDto);

            await _context.Campaigns.AddAsync(campaign);

            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetCampaignByIdAsync), new { id = campaign.Id }, null));
        }
        public async Task <ActionResult> CreateLocationAsync(int campaignId, [FromBody] UserLocationRuleDTO locationRuleDto)
        {
            if (campaignId < 1 || locationRuleDto is null)
            {
                return(BadRequest());
            }

            var locationRule = MapUserLocationRuleDtoToModel(locationRuleDto);

            locationRule.CampaignId = campaignId;

            await _context.Rules.AddAsync(locationRule);

            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetLocationByCampaignAndLocationRuleId),
                                   new { campaignId = campaignId, userLocationRuleId = locationRule.Id }, null));
        }
Beispiel #5
0
        public async Task <ActionResult> CreateCampaignAsync([FromBody] CampaignDTO campaignDto)
        {
            if (campaignDto is null)
            {
                return(BadRequest());
            }

            var campaign = MapCampaignDtoToModel(campaignDto);

            await _context.Campaigns.AddAsync(campaign);

            await _context.SaveChangesAsync();

            if (_settings.CachingEnabled)
            {
                var cache          = _context.GetCache();
                var cachingOptions = new CachingOptions();
                cachingOptions.SetAbsoluteExpiration(DateTime.Now.AddMinutes(_settings.MarketingCacheExpirationTimeInMinutes));
                await Task.Run(() => cache.Insert(campaign, out string cacheKey, cachingOptions));
            }

            return(CreatedAtAction(nameof(GetCampaignByIdAsync), new { id = campaign.Id }, null));
        }