public void SetValue(string name, string value)
        {
            Logger.LogVerbose("Setting EnvironmentVariableValue for EnvironmentVariableDefinition with SchemeName {0}", name);

            EnvironmentVariableValue current = GetValueRecord(name);

            if (current != null)
            {
                if (current.Value != value)
                {
                    current.Value = value;

                    EnvironmentVariableValue update = new EnvironmentVariableValue();
                    update.Id    = current.Id;
                    update.Value = value;
                    OrganizationService.Update(update);

                    Logger.LogInformation("Updated EnvironmentVariableValue Id ={0} for EnvironmentVariableDefinition with SchemeName {1}", current.Id, name);
                }
                else
                {
                    Logger.LogInformation("Skipped Update EnvironmentVariableValue Id ={0} for EnvironmentVariableDefinition with SchemeName {1} as values are same", current.Id, name);
                }
            }
            else
            {
                EnvironmentVariableDefinition definition = GetDefinitionRecord(name);

                if (definition is null)
                {
                    throw new Exception($"Definition with SchemaName = {name} was not found");
                }

                EnvironmentVariableValue create = new EnvironmentVariableValue();
                create.Value = value;
                create.EnvironmentVariableDefinitionId = definition.ToEntityReference();
                Guid Id = OrganizationService.Create(create);

                Logger.LogInformation("Created EnvironmentVariableValue Id ={0} for EnvironmentVariableDefinition with SchemeName {1}", Id, name);
            }
        }
Esempio n. 2
0
 public static EnvironmentVariableValue GetEnvironmentVariableValue(this XrmContext xrmcontext, EnvironmentVariableDefinition definition)
 => xrmcontext.EnvironmentVariableValueSet.SingleOrDefault(v => v.EnvironmentVariableDefinitionId != null &&
                                                           v.EnvironmentVariableDefinitionId.Id == definition.Id);