public async Task <ActionResult <PromoCode> > Set([FromBody] NewPromoRequest value) { try { return(await _promoCodeRepository.GeneratePromoCode(value)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
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); }