protected override IEnumerable <KeyValuePair <Guid, T> > GetItemsTyped(IEnumerable <Guid> id) { using (var m = new ResourcesModelContainer()) { return(m.Set <T>().OfType <BaseEntity>().Where(k => id.Contains(k.Id)).ToDictionary(k => k.Id, k => k as T)); } }
protected override IEnumerable <T> QueryItems <T>(Expression <Func <T, bool> > predicate) { using (var model = new ResourcesModelContainer()) { return(model.Set <T>().Where(predicate)); } }
protected override T GetItemTyped(Guid id) { using (var m = new ResourcesModelContainer()) { return(m.Set <T>().OfType <BaseEntity>().FirstOrDefault(k => k.Id == id) as T); } }
protected override void DeleteResourceTyped(Guid key) { using (var model = new ResourcesModelContainer()) { DeleteNoSave(key, model, typeof(T)); model.SaveChanges(); } }
protected override void WriteResourceTyped(Guid key, T resource) { Debug.Assert(resource is BaseEntity); using (var model = new ResourcesModelContainer()) { WriteNotSave(key, resource, model, typeof(T)); model.SaveChanges(); } }
internal static void DeleteNoSave(Guid key, ResourcesModelContainer model, Type resType) { var existing = model.Set(resType) .Find(key); if (existing != null) { model.Set(resType).Remove(existing); } }
internal static void WriteNotSave(Guid key, object resource, ResourcesModelContainer model, Type resType) { var existing = model.Set(resType) .Find(key); if (existing == null) { (resource as BaseEntity).Id = key; model.Set(resType).Add(resource); } else { EmitMapper.ObjectMapperManager.DefaultInstance .GetMapperImpl(resType, resType, new DefaultMapConfig()) .Map(resource, existing, new object()); } }
private void WriteSeria(IEnumerable <Tuple <UnactualResourceContent, object> > objects) { using (var model = new ResourcesModelContainer()) { foreach (var objs in objects.GroupBy(k => k.Item1.ResourceName)) { var type = _pool.GetTypeByName(objs.Key); foreach (var writingObject in objs) { var key = writingObject.Item1.ResourceKey; if (writingObject.Item2 == null) { DeleteNoSave(key, model, type); } else { WriteNotSave(key, writingObject.Item2, model, type); } } } model.SaveChanges(); } }
public static string GetValue(string category, string section, string key) { var db = new ResourcesModelContainer(); db.Settings.MergeOption = System.Data.Objects.MergeOption.OverwriteChanges; var item = db.Settings.FirstOrDefault(x => x.CultureCode == "en" & x.Category == category & x.Section == section & x.KeyName == key); return item == null ? null : item.KeyValue; }
public static List<Setting> GetTransforms(string culture, string category, string section) { culture = culture ?? ""; category = category ?? ""; section = section ?? ""; var db = new ResourcesModelContainer(); var query = from item in db.Settings where ((culture == string.Empty) || item.CultureCode == culture) && ((category == string.Empty) || item.Category == category) && ((section == string.Empty) || item.Section == section) orderby item.KeyName select item; return query.ToList(); }
public static void SetValue(string category, string section, string key, object value) { var db = new ResourcesModelContainer(); db.Settings.MergeOption = System.Data.Objects.MergeOption.OverwriteChanges; var item = db.Settings.FirstOrDefault(x => x.CultureCode == "en" & x.Category == category & x.Section == section & x.KeyName == key); if (item == null) { item = new Setting(); item.Category = category; item.Section = section; item.KeyName = key; db.Settings.AddObject(item); } item.KeyValue = value.ToString(); if (value == null) { item.KeyType = ""; } else { item.KeyType = value.GetType().Name; } db.SaveChanges(); }