Example #1
0
 public virtual void MesajTemasıGüncelle(MesajTeması mesajTeması)
 {
     if (mesajTeması == null)
     {
         throw new ArgumentNullException("MesajTeması");
     }
     _mesajTemasıDepo.Güncelle(mesajTeması);
     _önbellekYönetici.KalıpİleSil(MESAJTEMASI_PATTERN_KEY);
     _olayYayınlayıcı.OlayGüncellendi(mesajTeması);
 }
Example #2
0
        public virtual int BildirimGönder(MesajTeması mesajTeması, EmailHesabı emailHesabı, IEnumerable <Token> tokens, string emailAdresine, string isime, string ekDosyaYolu = null, string ekDosyaAdı = null, string emailAdresineCevap = null, string ismeCevap = null, string emailAdresinden = null, string isimden = null, string konu = null)
        {
            if (mesajTeması == null)
            {
                throw new ArgumentNullException("mesajTeması");
            }

            if (emailHesabı == null)
            {
                throw new ArgumentNullException("emailHesabı");
            }

            var bcc = mesajTeması.BccEmailAdresleri;

            if (String.IsNullOrEmpty(konu))
            {
                konu = mesajTeması.Konu;
            }
            var gövde = mesajTeması.Gövde;

            //Replace subject and body tokens

            /*
             * var subjectReplaced = _tokenizer.Replace(konu, tokens, false);
             * var bodyReplaced = _tokenizer.Replace(gövde, tokens, true);
             */
            //limit name length
            isime = GenelYardımcı.MaksimumUzunlukKontrol(isime, 300);

            var email = new BekleyenMail
            {
                Öncelik                = BekleyenMailÖnceliği.Yüksek,
                Kimden                 = !string.IsNullOrEmpty(emailAdresinden) ? emailAdresinden : emailHesabı.Email,
                KimdenAd               = !string.IsNullOrEmpty(isimden) ? isimden : emailHesabı.GörüntülenenAd,
                Kime                   = emailAdresine,
                KimeAd                 = isime,
                Yanıtla                = emailAdresineCevap,
                YanıtlaAd              = ismeCevap,
                CC                     = string.Empty,
                Bcc                    = bcc,
                Konu                   = konu,  //tokenizer
                Gövde                  = gövde, //tokenizer
                EkDosyaYolu            = ekDosyaYolu,
                EkDosyaAdı             = ekDosyaAdı,
                EkYüklemeId            = mesajTeması.EkİndirmeId,
                OluşturulmaTarihi      = DateTime.UtcNow,
                EmailHesapId           = emailHesabı.Id,
                ŞuTarihdenÖnceGönderme = !mesajTeması.GöndermedenÖnceGeciktir.HasValue ? null
                    : (DateTime?)(DateTime.UtcNow + TimeSpan.FromHours(mesajTeması.GecikmePeriodu.Saatler(mesajTeması.GöndermedenÖnceGeciktir.Value)))
            };

            _bekleyenMailServisi.BekleyenMailEkle(email);
            return(email.Id);
        }
Example #3
0
        protected virtual EmailHesabı MesajTemasınınEmailHesabı(MesajTeması mesajTeması)
        {
            var emailHesapId = mesajTeması.EmailHesapId;

            var emailHesabı = _emailHesapServisi.EmailHesabıAlId(emailHesapId);

            if (emailHesabı == null)
            {
                emailHesabı = _emailHesapServisi.EmailHesabıAlId(_emailHesapAyarları.VarsayılanEmailHesapId);
            }
            if (emailHesabı == null)
            {
                emailHesabı = _emailHesapServisi.TümEmailHesaplarıAl().FirstOrDefault();
            }
            return(emailHesabı);
        }
Example #4
0
        public virtual MesajTeması MesajTemasıKopyası(MesajTeması mesajTeması)
        {
            if (mesajTeması == null)
            {
                throw new ArgumentNullException("mesajTeması");
            }

            var mtKopya = new MesajTeması
            {
                Adı = mesajTeması.Adı,
                BccEmailAdresleri = mesajTeması.BccEmailAdresleri,
                Konu                    = mesajTeması.Konu,
                Gövde                   = mesajTeması.Gövde,
                Aktif                   = mesajTeması.Aktif,
                EkİndirmeId             = mesajTeması.EkİndirmeId,
                EmailHesapId            = mesajTeması.EmailHesapId,
                SitelerdeSınırlı        = mesajTeması.SitelerdeSınırlı,
                GöndermedenÖnceGeciktir = mesajTeması.GöndermedenÖnceGeciktir,
                GecikmePeriodu          = mesajTeması.GecikmePeriodu
            };

            MesajTemasıEkle(mtKopya);
            return(mtKopya);
        }
Example #5
0
 public static void MesajTokenEklendi <U>(this IOlayYayınlayıcı olayYayınlayıcı, MesajTeması mesaj, IList <U> token)
 {
     olayYayınlayıcı.Yayınla(new MesajTokenEklendiOlayı <U>(mesaj, token));
 }