Beispiel #1
0
 public virtual bool KullanıcıSayfaSilebilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     if (_forumAyarları.KullanıcılarınGirdiSilmesiEtkin)
     {
         bool ownTopic = kullanıcı.Id == sayfa.KullanıcıId;
         return(ownTopic);
     }
     return(false);
 }
Beispiel #2
0
        public virtual void SayfaSil(ForumSayfası forumSayfası)
        {
            if (forumSayfası == null)
            {
                throw new ArgumentNullException("forumSayfası");
            }

            int kullanıcıId = forumSayfası.KullanıcıId;
            int forumId     = forumSayfası.ForumId;

            _forumSayfaDepo.Sil(forumSayfası);
            var sorguFs = from ft in _forumAboneliğiDepo.Tablo
                          where ft.SayfaId == forumSayfası.Id
                          select ft;
            var forumAbonelikleri = sorguFs.ToList();

            foreach (var fs in forumAbonelikleri)
            {
                _forumAboneliğiDepo.Sil(fs);
                _olayYayınlayıcı.OlaySilindi(fs);
            }
            ForumİstatistikleriniGüncelle(forumId);
            KullanıcıİstatistikleriniGüncelle(kullanıcıId);
            _önbellekYönetici.KalıpİleSil(FORUMGRUP_PATTERN_KEY);
            _önbellekYönetici.KalıpİleSil(FORUM_PATTERN_KEY);
            _olayYayınlayıcı.OlaySilindi(forumSayfası);
        }
Beispiel #3
0
        public virtual void SayfaEkle(ForumSayfası forumSayfası, bool bildirimGönder)
        {
            if (forumSayfası == null)
            {
                throw new ArgumentNullException("forumSayfası");
            }
            _forumSayfaDepo.Ekle(forumSayfası);
            ForumİstatistikleriniGüncelle(forumSayfası.ForumId);
            _önbellekYönetici.KalıpİleSil(FORUMGRUP_PATTERN_KEY);
            _önbellekYönetici.KalıpİleSil(FORUM_PATTERN_KEY);
            _olayYayınlayıcı.OlayEklendi(forumSayfası);
            if (bildirimGönder)
            {
                var forum       = forumSayfası.Forum;
                var abonelikler = TümAbonelikleriAl(forumId: forum.Id);

                foreach (var abonelik in abonelikler)
                {
                    if (abonelik.KullanıcıId == forumSayfası.KullanıcıId)
                    {
                        continue;
                    }

                    if (!String.IsNullOrEmpty(abonelik.Kullanıcı.Email))
                    {
                        _mesajServisi.YeniForumSayfasıMesajıGönder(abonelik.Kullanıcı, forumSayfası,
                                                                   forum);
                    }
                }
            }
        }
Beispiel #4
0
 public virtual bool KullanıcıSayfaDüzenleyebilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     if (_forumAyarları.KullanıcılarınGirdiDüzenlemesiEtkin)
     {
         bool sayfaSahibi = kullanıcı.Id == sayfa.KullanıcıId;
         return(sayfaSahibi);
     }
     return(false);
 }
Beispiel #5
0
        public virtual int YeniForumSayfasıMesajıGönder(Kullanıcı kullanıcı, ForumSayfası forumSayfası, Forum forum)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            var site = _siteContext.MevcutSite;

            var mesajTeması = AktifMesajTemasınıAl(MesajTemasıSistemAdları.YeniForumSayfasıMesajı, site.Id);

            if (mesajTeması == null)
            {
                return(0);
            }

            var emailHesabı = MesajTemasınınEmailHesabı(mesajTeması);

            //tokenlar
            var tokens = new List <Token>();

            /*
             * _messageTokenProvider.AddStoreTokens(tokens, store, emailAccount);
             * _messageTokenProvider.AddForumTopicTokens(tokens, forumTopic);
             * _messageTokenProvider.AddForumTokens(tokens, forumTopic.Forum);
             * _messageTokenProvider.AddCustomerTokens(tokens, customer);
             * _olayYayınlayıcı.MessageTokensAdded(mesajTeması, tokens);
             */
            var Emaile = kullanıcı.Email;
            var isme   = kullanıcı.TamAdAl();

            return(BildirimGönder(mesajTeması, emailHesabı, tokens, Emaile, isme));
        }
Beispiel #6
0
 public virtual void SayfaGüncelle(ForumSayfası forumSayfası)
 {
     if (forumSayfası == null)
     {
         throw new ArgumentNullException("forumSayfası");
     }
     _forumSayfaDepo.Güncelle(forumSayfası);
     _önbellekYönetici.KalıpİleSil(FORUMGRUP_PATTERN_KEY);
     _önbellekYönetici.KalıpİleSil(FORUM_PATTERN_KEY);
     _olayYayınlayıcı.OlayGüncellendi(forumSayfası);
 }
Beispiel #7
0
 public virtual bool KullanıcıSayfaGirdisiOluşturabilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest() && !_forumAyarları.ZiyaretçilerinGirdiEklemesiEtkin)
     {
         return(false);
     }
     return(true);
 }
Beispiel #8
0
        public static ForumGirdisi İlkGirdiAl(this ForumSayfası forumSayfası, IForumServisi forumServisi)
        {
            if (forumSayfası == null)
            {
                throw new ArgumentNullException("forumSayfası");
            }

            var forumGirdileri = forumServisi.TümGirdileriAl(forumSayfası.Id, 0, string.Empty, 0, 1);

            if (forumGirdileri.Any())
            {
                return(forumGirdileri[0]);
            }

            return(null);
        }
Beispiel #9
0
 public virtual bool KullanıcıSayfaTaşıyabilir(Kullanıcı kullanıcı, ForumSayfası sayfa)
 {
     if (sayfa == null)
     {
         return(false);
     }
     if (kullanıcı == null)
     {
         return(false);
     }
     if (kullanıcı.IsGuest())
     {
         return(false);
     }
     if (Kayıtlı(kullanıcı))
     {
         return(true);
     }
     return(false);
 }