Beispiel #1
0
        public void Used(string code)
        {
            DiscountCodeDetail discountCodeDetail = _unitOfWork.GetRepositoryInstance <DiscountCodeDetail>().GetAllRecords().SingleOrDefault(x => x.code == code);

            discountCodeDetail.isUsed = true;
            _unitOfWork.GetRepositoryInstance <DiscountCodeDetail>().Update(discountCodeDetail);
        }
Beispiel #2
0
        public void AddDiscountCode(DiscountCode discountCode, int quantity)
        {
            discountCode.isActive = true;
            _unitOfWork.GetRepositoryInstance <DiscountCode>().Add(discountCode);
            DiscountCodeDetail discountCodeDetail = new DiscountCodeDetail();

            discountCodeDetail.discountCodeID = discountCode.id;
            discountCodeDetail.isUsed         = false;
            Random random = new Random();

            for (int i = 0; i < quantity; i++)
            {
                lock (discountCodeDetail)
                { // synchronize
                    string strString       = "abcdefghijklmnopqrstuvwxyz0123456789";
                    int    randomCharIndex = 0;
                    char   randomChar;
                    string captcha = "";
                    for (int j = 0; j < 5; j++)
                    {
                        randomCharIndex = random.Next(0, strString.Length);
                        randomChar      = strString[randomCharIndex];
                        captcha        += Convert.ToString(randomChar);
                    }
                    discountCodeDetail.code = captcha;
                    _unitOfWork.GetRepositoryInstance <DiscountCodeDetail>().Add(discountCodeDetail);
                }
            }
        }
Beispiel #3
0
        public bool CheckCode(string Code)
        {
            DiscountCodeDetail discountCodeDetail = _unitOfWork.GetRepositoryInstance <DiscountCodeDetail>().GetAllRecords().FirstOrDefault(x => x.code == Code);

            if (discountCodeDetail != null)
            {
                return(true);
            }
            return(false);
        }