protected virtual bool GrupKontrolEt(EklentiTanımlayıcı eklentiTanımlayıcı, string grup) { if (eklentiTanımlayıcı == null) { throw new ArgumentNullException("eklentiTanımlayıcı"); } if (String.IsNullOrEmpty(grup)) { return(true); } return(grup.Equals(eklentiTanımlayıcı.Grup, StringComparison.InvariantCultureIgnoreCase)); }
public static void EklentiAçıklamaDosyasınıKaydet(EklentiTanımlayıcı eklenti) { if (eklenti == null) { throw new ArgumentException("eklenti"); } if (eklenti.OrijinalAssemblyDosyası == null) { throw new Exception(string.Format("{0} eklentisi için orijinal assebmly dosyası yüklenemedi.", eklenti.SistemAdı)); } var dosyaYolu = Path.Combine(eklenti.OrijinalAssemblyDosyası.Directory.FullName, "Açıklama.txt"); if (!File.Exists(dosyaYolu)) { throw new Exception(string.Format("{0} eklentisi için açıklama dosyası bulunamadı. {1}", eklenti.SistemAdı, dosyaYolu)); } var keyValues = new List <KeyValuePair <string, string> >(); keyValues.Add(new KeyValuePair <string, string>("Grup", eklenti.Grup)); keyValues.Add(new KeyValuePair <string, string>("KısaAd", eklenti.KısaAd)); keyValues.Add(new KeyValuePair <string, string>("SistemAdı", eklenti.SistemAdı)); keyValues.Add(new KeyValuePair <string, string>("Sürüm", eklenti.Sürüm)); keyValues.Add(new KeyValuePair <string, string>("DesteklenenSürümler", string.Join(",", eklenti.DesteklenenSürümler))); keyValues.Add(new KeyValuePair <string, string>("Yazar", eklenti.Yazar)); keyValues.Add(new KeyValuePair <string, string>("GörüntülemeSırası", eklenti.GörüntülemeSırası.ToString())); keyValues.Add(new KeyValuePair <string, string>("EklentiDosyaAdı", eklenti.EklentiDosyaAdı)); keyValues.Add(new KeyValuePair <string, string>("Açıklama", eklenti.Açıklama)); if (eklenti.KısıtlıMüsteriRolleriListesi.Any()) { keyValues.Add(new KeyValuePair <string, string>("KısıtlıMüsteriRolleriListesi", string.Join(",", eklenti.KısıtlıMüsteriRolleriListesi))); } var sb = new StringBuilder(); for (int i = 0; i < keyValues.Count; i++) { var key = keyValues[i].Key; var value = keyValues[i].Value; sb.AppendFormat("{0}: {1}", key, value); if (i != keyValues.Count - 1) { sb.Append(Environment.NewLine); } } File.WriteAllText(dosyaYolu, sb.ToString()); }
public virtual bool KullanıcıİçinYetkili(EklentiTanımlayıcı eklentiTanımlayıcı, Kullanıcı kullanıcı) { if (eklentiTanımlayıcı == null) { throw new ArgumentNullException("eklentiTanımlayıcı"); } if (kullanıcı == null || !eklentiTanımlayıcı.KısıtlıMüsteriRolleriListesi.Any()) { return(true); } var kullanıcıRolIdleri = kullanıcı.KullanıcıRolleri.Where(role => role.Aktif).Select(role => role.Id); return(eklentiTanımlayıcı.KısıtlıMüsteriRolleriListesi.Intersect(kullanıcıRolIdleri).Any()); }
public static bool EklentiSil(EklentiTanımlayıcı pluginDescriptor) { if (pluginDescriptor == null) { return(false); } if (pluginDescriptor.Kuruldu) { return(false); } if (pluginDescriptor.OrijinalAssemblyDosyası.Directory.Exists) { GenelYardımcı.KlasörSil(pluginDescriptor.OrijinalAssemblyDosyası.DirectoryName); } return(true); }
public virtual bool SiteyiOnayla(EklentiTanımlayıcı eklentiTanımlayıcı, int siteId) { if (eklentiTanımlayıcı == null) { throw new ArgumentNullException("eklentiTanımlayıcı"); } //doğrulama gerekmiyor if (siteId == 0) { return(true); } if (!eklentiTanımlayıcı.KısıtlıSiteler.Any()) { return(true); } return(eklentiTanımlayıcı.KısıtlıSiteler.Contains(siteId)); }
protected virtual bool YüklemeModunuKontrolEt(EklentiTanımlayıcı eklentiTanımlayıcı, EklentiModuYükle yüklemeModu) { if (eklentiTanımlayıcı == null) { throw new ArgumentNullException("eklentiTanımlayıcı"); } switch (yüklemeModu) { case EklentiModuYükle.Tümü: //filtresiz return(true); case EklentiModuYükle.Kurulanlar: return(eklentiTanımlayıcı.Kuruldu); case EklentiModuYükle.Kurulmayanlar: return(!eklentiTanımlayıcı.Kuruldu); default: throw new Exception("Desteklenmeyen yükleme modu"); } }
public static void EklentiTanımlayıcıKaydet(EklentiTanımlayıcı pluginDescriptor) { if (pluginDescriptor == null) { throw new ArgumentException(nameof(pluginDescriptor)); } if (pluginDescriptor.OrijinalAssemblyDosyası == null) { throw new Exception($"Cannot load original assembly path for {pluginDescriptor.SistemAdı} plugin."); } var filePath = Path.Combine(pluginDescriptor.OrijinalAssemblyDosyası.Directory.FullName, PluginDescriptionFileName); if (!File.Exists(filePath)) { throw new Exception($"Description file for {pluginDescriptor.SistemAdı} plugin does not exist. {filePath}"); } //save the file var text = JsonConvert.SerializeObject(pluginDescriptor, Formatting.Indented); File.WriteAllText(filePath, text); }
public static EklentiTanımlayıcı EklentiAçıklamaDosyasıAyrıştırıcı(string dosyaYolu) { var tanımlayıcı = new EklentiTanımlayıcı(); var text = File.ReadAllText(dosyaYolu); if (String.IsNullOrEmpty(text)) { return(tanımlayıcı); } var ayarlar = new List <string>(); using (var reader = new StringReader(text)) { string str; while ((str = reader.ReadLine()) != null) { if (String.IsNullOrWhiteSpace(str)) { continue; } ayarlar.Add(str.Trim()); } } foreach (var ayar in ayarlar) { var ayırıcı = ayar.IndexOf(':'); if (ayırıcı == -1) { continue; } string key = ayar.Substring(0, ayırıcı).Trim(); string value = ayar.Substring(ayırıcı + 1).Trim(); switch (key) { case "Grup": tanımlayıcı.Grup = value; break; case "KısaAd": tanımlayıcı.KısaAd = value; break; case "SistemAdı": tanımlayıcı.SistemAdı = value; break; case "Sürüm": tanımlayıcı.Sürüm = value; break; case "DesteklenenSürümler": { tanımlayıcı.DesteklenenSürümler = value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(x => x.Trim()) .ToList(); } break; case "Yazar": tanımlayıcı.Yazar = value; break; case "GörüntülemeSırası": { int görüntülemeSırası; int.TryParse(value, out görüntülemeSırası); tanımlayıcı.GörüntülemeSırası = görüntülemeSırası; } break; case "EklentiDosyaAdı": tanımlayıcı.EklentiDosyaAdı = value; break; case "KısıtlıMüsteriRolleriListesi": { foreach (var id in value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim())) { int roleId; if (int.TryParse(id, out roleId)) { tanımlayıcı.KısıtlıMüsteriRolleriListesi.Add(roleId); } } } break; case "Açıklama": tanımlayıcı.Açıklama = value; break; default: break; } } if (!tanımlayıcı.DesteklenenSürümler.Any()) { tanımlayıcı.DesteklenenSürümler.Add("2.00"); } return(tanımlayıcı); }