public async Task <ActionResult <PromoCode> > Set([FromBody] NewPromoRequest value)
 {
     try
     {
         return(await _promoCodeRepository.GeneratePromoCode(value));
     }
     catch (System.Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
示例#2
0
        public async Task <PromoCode> GeneratePromoCode(NewPromoRequest newPromoCode)
        {
            var promoCode = new PromoCode
            {
                Id         = Guid.NewGuid(),
                ExpiryDate = newPromoCode.ExpiryDate,
                Value      = newPromoCode.Value,
                Code       = string.IsNullOrEmpty(newPromoCode.Code)
                    ? PromoCodeHelper.RandomString(PromoCodeConstant.PromoCodeLength, true)
                    : newPromoCode.Code
            };

            await _context.PromoCodes.InsertOneAsync(promoCode);

            return(promoCode);
        }