Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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();
        }