private void DeployRegionalSettings(object modelHost, Web web, RegionalSettingsDefinition definition)
        {
            var settings = GetCurrentRegionalSettings(web);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioning,
                Object           = settings,
                ObjectType       = typeof(RegionalSettings),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });

            MapRegionalSettings(settings, definition);

            //web.RegionalSettings = settings;

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioned,
                Object           = settings,
                ObjectType       = typeof(RegionalSettings),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });
        }
 private void MapRegionalSettings(SPRegionalSettings settings, RegionalSettingsDefinition definition)
 {
     settings.AdjustHijriDays       = definition.AdjustHijriDays;
     settings.AlternateCalendarType = definition.AlternateCalendarType;
     settings.CalendarType          = definition.CalendarType;
     settings.Collation             = definition.Collation;
     settings.FirstDayOfWeek        = definition.FirstDayOfWeek;
     settings.FirstWeekOfYear       = definition.FirstWeekOfYear;
     settings.LocaleId         = definition.LocaleId;
     settings.WorkDayStartHour = definition.WorkDayStartHour;
     settings.WorkDayEndHour   = definition.WorkDayEndHour;
     settings.WorkDays         = definition.WorkDays;
     settings.ShowWeeks        = definition.ShowWeeks;
     settings.Time24           = definition.Time24;
     settings.LocaleId         = definition.LocaleId;
 }
        private void DeployRegionalSettings(object modelHost, Web web, RegionalSettingsDefinition definition)
        {
            var context = web.Context;

            var settings     = GetCurrentRegionalSettings(web);
            var shouldUpdate = SupportSetters(settings);

            if (shouldUpdate && definition.TimeZoneId.HasValue)
            {
                // pre-load TimeZones for the further lookup
                context.Load(settings);
                context.Load(settings, s => s.TimeZones);

                context.ExecuteQueryWithTrace();
            }

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioning,
                Object           = settings,
                ObjectType       = typeof(RegionalSettings),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });

            MapRegionalSettings(context, settings, definition, out shouldUpdate);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioned,
                Object           = settings,
                ObjectType       = typeof(RegionalSettings),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });

            if (shouldUpdate)
            {
                context.AddQuery(new ClientActionInvokeMethod(settings, "Update", null));
                context.ExecuteQueryWithTrace();
            }
        }
        private void MapRegionalSettings(RegionalSettings settings, RegionalSettingsDefinition definition)
        {
            // TODO, CSOM does not support any operation for RegionalSetting yet

            //settings.AdjustHijriDays = definition.AdjustHijriDays;
            //settings.AlternateCalendarType = definition.AlternateCalendarType;
            //settings.CalendarType = definition.CalendarType;
            //settings.Collation = definition.Collation;
            //settings.FirstDayOfWeek = definition.FirstDayOfWeek;
            //settings.FirstWeekOfYear = definition.FirstWeekOfYear;
            //settings.LocaleId = definition.LocaleId;
            //settings.WorkDayStartHour = definition.WorkDayStartHour;
            //settings.WorkDayEndHour = definition.WorkDayEndHour;
            //settings.WorkDays = definition.WorkDays;
            //settings.ShowWeeks = definition.ShowWeeks;
            //settings.Time24 = definition.Time24;
            //settings.LocaleId = definition.LocaleId;
        }
Exemplo n.º 5
0
        private void DeployRegionalSettings(object modelHost, Web web, RegionalSettingsDefinition definition)
        {
            var context = web.Context;

            var settings = GetCurrentRegionalSettings(web);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioning,
                Object           = settings,
                ObjectType       = typeof(RegionalSettings),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });

            bool shouldUpdate;

            MapRegionalSettings(context, settings, definition, out shouldUpdate);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioned,
                Object           = settings,
                ObjectType       = typeof(RegionalSettings),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });

            if (shouldUpdate)
            {
                context.AddQuery(new ClientActionInvokeMethod(settings, "Update", null));
                context.ExecuteQueryWithTrace();
            }
        }
        protected virtual void MapRegionalSettings(ClientRuntimeContext context, RegionalSettings settings, RegionalSettingsDefinition definition,
                                                   out bool shouldUpdate)
        {
            shouldUpdate = false;

            if (!SupportSetters(settings))
            {
                return;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "AdjustHijriDays") &&
                definition.AdjustHijriDays.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "AdjustHijriDays", definition.AdjustHijriDays.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "AlternateCalendarType") &&
                definition.AlternateCalendarType.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "AlternateCalendarType", definition.AlternateCalendarType.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "CalendarType") &&
                definition.CalendarType.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "CalendarType", definition.CalendarType.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "Collation") &&
                definition.Collation.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "Collation", definition.Collation.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "FirstDayOfWeek") &&
                definition.FirstDayOfWeek.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "FirstDayOfWeek", definition.FirstDayOfWeek.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "FirstWeekOfYear") &&
                definition.FirstWeekOfYear.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "FirstWeekOfYear", definition.FirstWeekOfYear.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "LocaleId") &&
                definition.LocaleId.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "LocaleId", definition.LocaleId.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "WorkDayStartHour") &&
                definition.WorkDayStartHour.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "WorkDayStartHour", definition.WorkDayStartHour.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "WorkDayEndHour") &&
                definition.WorkDayEndHour.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "WorkDayEndHour", definition.WorkDayEndHour.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "WorkDays") &&
                definition.WorkDays.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "WorkDays", definition.WorkDays.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "ShowWeeks") &&
                definition.ShowWeeks.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "ShowWeeks", definition.ShowWeeks.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "Time24") &&
                definition.Time24.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "Time24", definition.Time24.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "TimeZone") &&
                definition.TimeZoneId.HasValue)
            {
                var targetZone = settings.TimeZones
                                 .ToArray()
                                 .FirstOrDefault(z => z.Id == definition.TimeZoneId.Value);

                if (targetZone == null)
                {
                    throw new SPMeta2Exception(
                              string.Format("Cannot find TimeZone by ID:[{0}]", definition.TimeZoneId));
                }

                context.AddQuery(new ClientActionSetProperty(settings, "TimeZone", targetZone));
                shouldUpdate = true;
            }
        }
Exemplo n.º 7
0
 public static TModelNode AddRegionalSettings <TModelNode>(this TModelNode model, RegionalSettingsDefinition definition,
                                                           Action <RegionalSettingsModelNode> action)
     where TModelNode : ModelNode, IModuleFileHostModelNode, new()
 {
     return(model.AddTypedDefinitionNode(definition, action));
 }
Exemplo n.º 8
0
 public static TModelNode AddRegionalSettings <TModelNode>(this TModelNode model, RegionalSettingsDefinition definition)
     where TModelNode : ModelNode, IModuleFileHostModelNode, new()
 {
     return(AddRegionalSettings(model, definition, null));
 }
Exemplo n.º 9
0
        protected virtual void MapRegionalSettings(ClientRuntimeContext context, RegionalSettings settings, RegionalSettingsDefinition definition,
                                                   out bool shouldUpdate)
        {
            shouldUpdate = false;

            if (!SupportSetters(settings))
            {
                return;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "AdjustHijriDays") &&
                definition.AdjustHijriDays.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "AdjustHijriDays", definition.AdjustHijriDays.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "AlternateCalendarType") &&
                definition.AlternateCalendarType.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "AlternateCalendarType", definition.AlternateCalendarType.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "CalendarType") &&
                definition.CalendarType.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "CalendarType", definition.CalendarType.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "Collation") &&
                definition.Collation.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "Collation", definition.Collation.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "FirstDayOfWeek") &&
                definition.FirstDayOfWeek.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "FirstDayOfWeek", definition.FirstDayOfWeek.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "FirstWeekOfYear") &&
                definition.FirstWeekOfYear.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "FirstWeekOfYear", definition.FirstWeekOfYear.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "LocaleId") &&
                definition.LocaleId.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "LocaleId", definition.LocaleId.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "WorkDayStartHour") &&
                definition.WorkDayStartHour.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "WorkDayStartHour", definition.WorkDayStartHour.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "WorkDayEndHour") &&
                definition.WorkDayEndHour.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "WorkDayEndHour", definition.WorkDayEndHour.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "WorkDays") &&
                definition.WorkDays.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "WorkDays", definition.WorkDays.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "ShowWeeks") &&
                definition.ShowWeeks.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "ShowWeeks", definition.ShowWeeks.Value));
                shouldUpdate = true;
            }

            if (ReflectionUtils.HasPropertyPublicSetter(settings, "Time24") &&
                definition.Time24.HasValue)
            {
                context.AddQuery(new ClientActionSetProperty(settings, "Time24", definition.Time24.Value));
                shouldUpdate = true;
            }
        }
Exemplo n.º 10
0
        private void MapRegionalSettings(SPRegionalSettings settings, RegionalSettingsDefinition definition)
        {
            if (definition.AdjustHijriDays.HasValue)
            {
                settings.AdjustHijriDays = definition.AdjustHijriDays.Value;
            }

            if (definition.AlternateCalendarType.HasValue)
            {
                settings.AlternateCalendarType = definition.AlternateCalendarType.Value;
            }

            if (definition.CalendarType.HasValue)
            {
                settings.CalendarType = definition.CalendarType.Value;
            }

            if (definition.Collation.HasValue)
            {
                settings.Collation = definition.Collation.Value;
            }

            if (definition.FirstDayOfWeek.HasValue)
            {
                settings.FirstDayOfWeek = definition.FirstDayOfWeek.Value;
            }

            if (definition.FirstWeekOfYear.HasValue)
            {
                settings.FirstWeekOfYear = definition.FirstWeekOfYear.Value;
            }

            if (definition.LocaleId.HasValue)
            {
                settings.LocaleId = definition.LocaleId.Value;
            }

            if (definition.WorkDayStartHour.HasValue)
            {
                settings.WorkDayStartHour = definition.WorkDayStartHour.Value;
            }

            if (definition.WorkDayEndHour.HasValue)
            {
                settings.WorkDayEndHour = definition.WorkDayEndHour.Value;
            }

            if (definition.WorkDays.HasValue)
            {
                settings.WorkDays = definition.WorkDays.Value;
            }

            if (definition.ShowWeeks.HasValue)
            {
                settings.ShowWeeks = definition.ShowWeeks.Value;
            }

            if (definition.Time24.HasValue)
            {
                settings.Time24 = definition.Time24.Value;
            }

            if (definition.LocaleId.HasValue)
            {
                settings.LocaleId = definition.LocaleId.Value;
            }

            if (definition.TimeZoneId.HasValue)
            {
                var targetZone = settings.TimeZones
                                 .OfType <SPTimeZone>()
                                 .FirstOrDefault(z => z.ID == definition.TimeZoneId.Value);

                if (targetZone == null)
                {
                    throw new SPMeta2Exception(
                              string.Format("Cannot find TimeZone by ID:[{0}]", definition.TimeZoneId));
                }

                settings.TimeZone.ID = definition.TimeZoneId.Value;
            }
        }
Exemplo n.º 11
0
 public static ModelNode AddRegionalSettings(this ModelNode model, RegionalSettingsDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
Exemplo n.º 12
0
 public static ModelNode AddRegionalSettings(this ModelNode model, RegionalSettingsDefinition definition)
 {
     return(AddRegionalSettings(model, definition, null));
 }
Exemplo n.º 13
0
        private void MapRegionalSettings(SPRegionalSettings settings, RegionalSettingsDefinition definition)
        {
            if (definition.AdjustHijriDays.HasValue)
            {
                settings.AdjustHijriDays = definition.AdjustHijriDays.Value;
            }

            if (definition.AlternateCalendarType.HasValue)
            {
                settings.AlternateCalendarType = definition.AlternateCalendarType.Value;
            }

            if (definition.CalendarType.HasValue)
            {
                settings.CalendarType = definition.CalendarType.Value;
            }

            if (definition.Collation.HasValue)
            {
                settings.Collation = definition.Collation.Value;
            }

            if (definition.FirstDayOfWeek.HasValue)
            {
                settings.FirstDayOfWeek = definition.FirstDayOfWeek.Value;
            }

            if (definition.FirstWeekOfYear.HasValue)
            {
                settings.FirstWeekOfYear = definition.FirstWeekOfYear.Value;
            }

            if (definition.LocaleId.HasValue)
            {
                settings.LocaleId = definition.LocaleId.Value;
            }

            if (definition.WorkDayStartHour.HasValue)
            {
                settings.WorkDayStartHour = definition.WorkDayStartHour.Value;
            }

            if (definition.WorkDayEndHour.HasValue)
            {
                settings.WorkDayEndHour = definition.WorkDayEndHour.Value;
            }

            if (definition.WorkDays.HasValue)
            {
                settings.WorkDays = definition.WorkDays.Value;
            }

            if (definition.ShowWeeks.HasValue)
            {
                settings.ShowWeeks = definition.ShowWeeks.Value;
            }

            if (definition.Time24.HasValue)
            {
                settings.Time24 = definition.Time24.Value;
            }

            if (definition.LocaleId.HasValue)
            {
                settings.LocaleId = definition.LocaleId.Value;
            }
        }