Example #1
0
        public SpamAdRequestModel SpamRequestAd(SpamAdRequestModel model)
        {
            SpamAdRequestModel result = CanSpamRequestAd(model.AdId);

            if (!result.CanSignal)
            {
                return(result);
            }

            BaseAd ad = _adRepository.GetAdById <BaseAd>(model.AdId);

            this.CanSpamRequestAd(model.AdId);

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
            {
                SpamAdRequest req = new SpamAdRequest();
                req.Ad                    = ad;
                req.RequestDate           = _helper.GetCurrentDateTime();
                req.RequestorEmailAddress = model.RequestorEmail;
                req.SpamType              = _repository.Get <SpamAdType>(model.SelectedSpamAdTypeId);
                req.Description           = model.Description;

                _repository.Save(req);
                scope.Complete();
            }

            result.InfoMessage = "Votre signalement a correctement été transmis. Merci de votre précieuse aide dans la chasse aux mauvaises annonces !";
            result.CanSignal   = false;

            return(result);
        }
Example #2
0
        public void GetSpamRequestAd_AdNotSpam_ReturnTrue()
        {
            ISessionFactory sessionFactory = NhibernateHelper.SessionFactory;
            Repository      repo           = new Repository(sessionFactory);
            AdRepository    adRepo         = new AdRepository(sessionFactory);

            using (ITransaction transaction = sessionFactory.GetCurrentSession().BeginTransaction())
            {
                #region test data

                #region test data
                Province p1 = new Province
                {
                    Label = "p1"
                };

                User u = new User
                {
                    Email    = "*****@*****.**",
                    Password = "******"
                };
                repo.Save <User>(u);

                City c = new City
                {
                    Label        = "city",
                    LabelUrlPart = "city"
                };
                p1.AddCity(c);

                Category cat = new Category
                {
                    Label        = "Informatique",
                    LabelUrlPart = "Informatique",
                    Type         = AdTypeEnum.Ad
                };

                Ad a = new Ad
                {
                    Title        = "video game",
                    Body         = "the best!!",
                    CreatedBy    = u,
                    CreationDate = new DateTime(2012, 01, 16, 23, 52, 18),
                    Category     = cat,
                    IsDeleted    = false
                };
                c.AddAd(a);
                cat.AddAd(a);
                repo.Save <Province>(p1);
                repo.Save <City>(c);
                repo.Save <Category>(cat);
                long id = repo.Save <Ad, long>(a);

                #endregion

                SpamAdRequest adR = new SpamAdRequest(a);

                repo.Save(adR);

                repo.Flush();

                #endregion

                Assert.IsNull(adRepo.GetSpamRequestAd(999));
            }
        }