public void Save(GigyaUmbracoModuleDsSettings settings) { var db = UmbracoContext.Current.Application.DatabaseContext.Database; if (settings.IsNew) { db.BeginTransaction(); db.Insert(settings); foreach (var mapping in settings.Mappings) { db.Insert(mapping); } db.CompleteTransaction(); } else { db.BeginTransaction(); // clear old ones db.ExecuteScalar <GigyaUmbracoDsMapping>("DELETE FROM gigya_ds_mapping WHERE DsSettingId = " + settings.Id); foreach (var mapping in settings.Mappings) { db.Insert(mapping); } db.Save(settings); db.CompleteTransaction(); } }
public GigyaDsSettings Map(List <GigyaUmbracoDsMapping> mappings, GigyaUmbracoModuleDsSettings settings) { var mappedSetting = new GigyaDsSettings { Method = (GigyaDsMethod)settings.Method, SiteId = new string[] { settings.Id.ToString() }, Mappings = mappings.Where(i => i.DsSettingId == settings.Id).Select(Map).ToList() }; mappedSetting.MappingsByType = mappedSetting.Mappings .Where(i => !string.IsNullOrEmpty(i.GigyaDsType)) .GroupBy(i => i.GigyaDsType) .ToDictionary(i => i.Key, j => j.ToList()); return(mappedSetting); }
public void Delete(GigyaUmbracoModuleDsSettings settings) { if (settings.Id == -1) { return; } var db = UmbracoContext.Current.Application.DatabaseContext.Database; db.BeginTransaction(); db.ExecuteScalar <GigyaUmbracoDsMapping>("DELETE FROM gigya_ds_mapping WHERE DsSettingId = " + settings.Id); db.Delete(settings); db.CompleteTransaction(); }