// POST: api/RewardRedemption
        public IHttpActionResult Post(CreateRewardRedemptionModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            //check if code already exist
            var rwd = db.RewardRedemption.Where(r => r.RewardCode == model.RewardCode).FirstOrDefault();

            if (rwd != null)
            {
                return(BadRequest("Reward Code already exist. Please use another code"));
            }

            var rewardRedemption = new RewardRedemption
            {
                RewardCode     = model.RewardCode,
                Description    = model.Description,
                DiscountValue  = model.DiscountValue,
                PointsToRedeem = model.PointsToRedeem,
                ValidDuration  = model.ValidDuration,
                CreatedBy      = model.CreatedBy.Value,
                CreatedDate    = DateTime.Now,
                Display        = true
            };

            db.RewardRedemption.Add(rewardRedemption);
            db.SaveChanges();

            return(Ok(rewardRedemption));
        }
        // PUT: api/RewardRedemption/5
        public IHttpActionResult Put(int id, EditRewardRedemptionModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (id != model.Id)
            {
                return(BadRequest());
            }

            RewardRedemption obj = db.RewardRedemption.Where(r => r.Id == id).FirstOrDefault();

            obj.Description    = model.Description;
            obj.DiscountValue  = model.DiscountValue;
            obj.RewardCode     = model.RewardCode;
            obj.PointsToRedeem = model.PointsToRedeem;
            obj.ValidDuration  = model.ValidDuration;
            obj.CreatedBy      = model.CreatedBy.Value;
            obj.CreatedDate    = DateTime.Now;

            db.Entry(obj).State = EntityState.Modified;
            db.Entry(obj).Property(x => x.Description).IsModified    = true;
            db.Entry(obj).Property(x => x.RewardCode).IsModified     = true;
            db.Entry(obj).Property(x => x.DiscountValue).IsModified  = true;
            db.Entry(obj).Property(x => x.PointsToRedeem).IsModified = true;
            db.Entry(obj).Property(x => x.ValidDuration).IsModified  = true;
            db.Entry(obj).Property(x => x.CreatedBy).IsModified      = true;
            db.Entry(obj).Property(x => x.CreatedDate).IsModified    = true;

            db.Configuration.ValidateOnSaveEnabled = true;
            db.SaveChanges();

            return(Ok());
        }
Beispiel #3
0
 public RewardRedemptionDto(RewardRedemption rewardRedemption)
 {
     Id             = rewardRedemption.Id;
     RewardTitle    = rewardRedemption.RewardTitle;
     PointsSpent    = rewardRedemption.PointsSpent;
     ExtraCashSpent = rewardRedemption.ExtraCashSpent;
     RedemptionDate = rewardRedemption.RedemptionDate;
 }
        // DELETE: api/RewardRedemption/5
        public IHttpActionResult Delete(int id)
        {
            RewardRedemption model = db.RewardRedemption.Find(id);

            if (model == null)
            {
                return(BadRequest());
            }

            model.Display = false;
            db.RewardRedemption.Attach(model);
            db.Entry(model).Property(x => x.Display).IsModified = true;
            db.Configuration.ValidateOnSaveEnabled = true;
            db.SaveChanges();

            return(Ok());
        }