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)); }
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)); }