Example #1
0
        public async Task <CampaignType> CreateCampaignType(UpsertCampaignTypeRequest request)
        {
            var campaignType = new DbCampaignType {
                Id   = Guid.NewGuid(),
                Name = request.Name
            };

            DbContext.CampaignTypes.Add(campaignType);
            await DbContext.SaveChangesAsync();

            return(new CampaignType {
                Id = campaignType.Id,
                Name = campaignType.Name
            });
        }
Example #2
0
        /// <summary>
        /// Creates a new campaign type.
        /// </summary>
        /// <param name="campaignType">The request model used to create a new campaign type.</param>
        public async Task <CampaignResult> CreateType(UpsertCampaignTypeRequest campaignType)
        {
            var validator        = ServiceProvider.GetRequiredService <UpsertCampaignTypeRequestValidator>();
            var validationResult = validator.Validate(campaignType);

            if (!validationResult.IsValid)
            {
                var errorMessages = validationResult.Errors.Select(x => x.ErrorMessage).ToArray();
                return(CampaignResult.Fail(errorMessages));
            }
            var createdCampaignType = await CampaignService.CreateCampaignType(campaignType);

            campaignType.Id = createdCampaignType.Id;
            return(CampaignResult.Success());
        }
Example #3
0
        public async Task <IActionResult> UpdateCampaignType([FromRoute] Guid campaignTypeId, [FromBody] UpsertCampaignTypeRequest request)
        {
            var campaignType = await CampaignService.GetCampaignTypeById(campaignTypeId);

            if (campaignType is null)
            {
                return(NotFound());
            }
            await CampaignService.UpdateCampaignType(campaignTypeId, request);

            return(NoContent());
        }
Example #4
0
        public async Task <IActionResult> CreateCampaignType([FromBody] UpsertCampaignTypeRequest request)
        {
            var campaign = await CampaignService.CreateCampaignType(request);

            return(Ok(campaign));
        }