コード例 #1
0
        public HttpResponseMessage PutAdInappropriate(InappropriateAdModel inappropriateModel)
        {
            AdModel adModel;

            try
            {
                if (InappropriateAdExists(inappropriateModel) == null)
                {
                    adModel = unitOfWork.AdRepository.Get(a => a.Id == inappropriateModel.AdId).Select(x => Mapper.Map <AdModel>(x)).FirstOrDefault();
                    adModel.InappCounter++;
                    var inappropriate = Mapper.Map <InappropriateAd>(inappropriateModel);
                    unitOfWork.InappropriateAdRepository.Insert(inappropriate);
                    var ad = Mapper.Map <Ad>(adModel);
                    unitOfWork.AdRepository.Update(ad);
                    unitOfWork.Save();
                    return(Create(inappropriate));
                }
                else
                {
                    return(Forbidden());
                }
            }
            catch (ObjectNotFoundException)
            {
                return(NotFound("Not Found. There is no Ad"));
            }
            catch (Exception ex)
            {
                return(InternalServerError("Server Error: Can not set Inappropriate flag for this Ad.", ex));
            }
        }
コード例 #2
0
 // helper functions
 private InappropriateAdModel InappropriateAdExists(InappropriateAdModel inappModel)
 {
     try
     {
         return(unitOfWork.InappropriateAdRepository.Get(r => r.UserId == inappModel.UserId && r.AdId == inappModel.AdId).Select(x => Mapper.Map <InappropriateAdModel>(x)).First());
     }
     catch
     {
         return(null);
     }
 }
コード例 #3
0
        public void PutAdInappropriate_ShouldNotBeInserted()
        {
            int count      = inappAds.Count;
            var inappModel = new InappropriateAdModel
            {
                Id          = Guid.NewGuid(),
                Description = "AdDescription",
                AdId        = new Guid("ee4cd8a3-eb0e-453d-a3b5-081b9165942e"), //ad2
                UserId      = new Guid("fa8849b6-c4b6-47d5-96a0-109b0500047a")  //user1
            };
            var response = controller.PutAdInappropriate(inappModel);

            Assert.AreEqual(HttpStatusCode.Forbidden, response.StatusCode);
            Assert.AreEqual(count, inappAds.Count);
        }
コード例 #4
0
        public void PutAdInappropriate_ShouldBeInserted()
        {
            int count      = inappAds.Count;
            var inappModel = new InappropriateAdModel
            {
                Id          = Guid.NewGuid(),
                Description = "AdDescription",
                AdId        = new Guid("ee4cd8a3-eb0e-453d-a3b5-081b9165942e"), //ad2
                UserId      = new Guid("39c3a066-78b2-43a3-a04b-28757864114e")  //user2
            };
            var response = controller.PutAdInappropriate(inappModel);

            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            Assert.AreEqual(count + 1, inappAds.Count);
        }