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); }
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)); } }