public async Task <IActionResult> CreateCampaignPricing([FromBody] CreateCampaignPricingInputDto request)
        {
            try
            {
                var user = await _userManager.FindByEmailFromClaimsPrinciple(HttpContext.User);

                var validationResponse = await _campaignPricingService.ValidateCreateInput(request);

                if (!validationResponse.IsSuccess)
                {
                    return(BadRequest(new ApiResponse(validationResponse.StatusCode, validationResponse.Message)));
                }

                var campaignPricingMapped = _mapper.Map <CampaignPricing>(request);
                campaignPricingMapped.CreatedDate = DateTime.UtcNow;
                campaignPricingMapped.CreatedBy   = user.Id.ToString();

                await _campaignPricingService.CreateCampaignPricing(campaignPricingMapped);

                return(Ok(new ApiResponse(200, "Success")));
            }
            catch
            {
                return(BadRequest(new ApiResponse(400, "Something went wrong.")));
            }
        }
        public async Task <ValidationOutputDto> ValidateCreateInput(CreateCampaignPricingInputDto request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "Campaign Price Name is a required field.",
                           StatusCode = 400
                       }
            }
            ;

            if ((decimal)request.Pricing == 0 || request.Pricing == null)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "Campaign Price is a required field.",
                           StatusCode = 400
                       }
            }
            ;

            if ((int)request.DuarationId == 0 || request.DuarationId == null)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "Campaign Price Duration is a required field.",
                           StatusCode = 400
                       }
            }
            ;

            return(new ValidationOutputDto
            {
                IsSuccess = true,
                Message = string.Empty,
                StatusCode = 200
            });
        }