public InvalidRegExException(IInteractionContext ic, string format, string validation, bool caseSensitive, string message)
     : base(ic, message)
 {
     this.format        = format;
     this.validation    = validation;
     this.caseSensitive = caseSensitive;
 }
      public async override Task <PreconditionResult> CheckRequirementsAsync(IInteractionContext context, Discord.Interactions.ICommandInfo commandInfo, IServiceProvider services)
      {
          if (context.Guild == null)
          {
              return(PreconditionResult.FromError("This command can only be executed from within server channels."));
          }

          // possible to pass the context in?
          var db    = services.GetService <DataBase>();
          var guild = await FindOrCreateGuild.Perform(context.Guild, db);

          if (guild.AdminRole != null)
          {
              var role = context.Guild.Roles.FirstOrDefault(x => x.Id.ToString() == guild.AdminRole);
              if (role != null)
              {
                  var p = (SocketRole)role;
                  if (p.Members.Any(x => x.Id == context.User.Id))
                  {
                      return(PreconditionResult.FromSuccess());
                  }
              }
          }
          Console.WriteLine("returning default");
          return(await new RequireUserPermissionAttribute(GuildPermission.Administrator).CheckRequirementsAsync(context, commandInfo, services));
      }
 protected InteractionException(IInteractionContext ic, string message)
     : base(message)
 {
     InteractionType = ic.InteractionType;
     Identifier      = ic.Id;
     Target          = ic.Target;
 }
        private async Task <IResult> ExecuteAsync(IInteractionContext context, IEnumerable <SlashCommandParameterInfo> paramList,
                                                  List <IApplicationCommandInteractionDataOption> argList, IServiceProvider services)
        {
            try
            {
                var slashCommandParameterInfos = paramList.ToList();
                var args = new object[slashCommandParameterInfos.Count];

                for (var i = 0; i < slashCommandParameterInfos.Count; i++)
                {
                    var parameter = slashCommandParameterInfos[i];
                    var result    = await ParseArgument(parameter, context, argList, services).ConfigureAwait(false);

                    if (!result.IsSuccess)
                    {
                        return(await InvokeEventAndReturn(context, result).ConfigureAwait(false));
                    }

                    if (result is not ParseResult parseResult)
                    {
                        return(ExecuteResult.FromError(InteractionCommandError.BadArgs, "Command parameter parsing failed for an unknown reason."));
                    }

                    args[i] = parseResult.Value;
                }
                return(await RunAsync(context, args, services).ConfigureAwait(false));
            }
            catch (Exception ex)
            {
                return(await InvokeEventAndReturn(context, ExecuteResult.FromError(ex)).ConfigureAwait(false));
            }
        }
 public virtual string Invalidates(IInteractionContext ic) {
     INakedObjectAdapter proposedArgument = ic.ProposedArgument;
     if (!Exceeds(proposedArgument)) {
         return null;
     }
     return string.Format(Resources.NakedObjects.MaximumLengthMismatch, Value);
 }
 public string Disables(IInteractionContext ic) {
     if (!ic.TypeEquals(InteractionType.ObjectPersist)) {
         return null;
     }
     INakedObjectAdapter target = ic.Target;
     return DisabledReason(target);
 }
Exemple #7
0
        /// <inheritdoc/>
        public async Task<IResult> ExecuteAsync(IInteractionContext context, IEnumerable<CommandParameterInfo> paramList, IEnumerable<string> values,
            IServiceProvider services)
        {
            if (context.Interaction is not IComponentInteraction messageComponent)
                return ExecuteResult.FromError(InteractionCommandError.ParseFailed, $"Provided {nameof(IInteractionContext)} doesn't belong to a Component Command Interaction");

            try
            {
                var strCount = Parameters.Count(x => x.ParameterType == typeof(string));

                if (strCount > values?.Count())
                    return ExecuteResult.FromError(InteractionCommandError.BadArgs, "Command was invoked with too few parameters");

                var componentValues = messageComponent.Data?.Values;

                var args = new object[Parameters.Count];

                if (componentValues is not null)
                {
                    if (Parameters.Last().ParameterType == typeof(string[]))
                        args[args.Length - 1] = componentValues.ToArray();
                    else
                        return ExecuteResult.FromError(InteractionCommandError.BadArgs, $"Select Menu Interaction handlers must accept a {typeof(string[]).FullName} as its last parameter");
                }

                for (var i = 0; i < strCount; i++)
                    args[i] = values.ElementAt(i);

                return await RunAsync(context, args, services).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                return ExecuteResult.FromError(ex);
            }
        }
Exemple #8
0
        public override Task <AutocompletionResult> GenerateSuggestionsAsync(
            IInteractionContext context,
            IAutocompleteInteraction autocompleteInteraction,
            IParameterInfo parameter,
            IServiceProvider services
            )
        {
            var input = autocompleteInteraction.Data.Current.Value as string;

            var matches = _cmdHelpService.GetCmdsStartsWithInput(context.User, input)
                          .Select(cmd =>
            {
                if (cmd is CommandInfo regCmdInfo)
                {
                    return(regCmdInfo.Name);
                }
                else
                {
                    return((cmd as IApplicationCommandInfo)?.Name);
                }
            })
                          .Distinct()
                          .PartialSort(25);

            var results = AutocompletionResult.FromSuccess(matches.Select(cmdName => new AutocompleteResult(cmdName, cmdName)));

            return(Task.FromResult(results));
        }
 public InvalidRegExException(IInteractionContext ic, string format, string validation, bool caseSensitive, string message)
     : base(ic, message)
 {
     FormatPattern     = format;
     ValidationPattern = validation;
     IsCaseSensitive   = caseSensitive;
 }
Exemple #10
0
 private static IInteractionBuffer IsUsable(ISpecification specification, IInteractionContext ic, IInteractionBuffer buf) {
     IEnumerable<IDisablingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IDisablingInteractionAdvisor).Cast<IDisablingInteractionAdvisor>();
     foreach (IDisablingInteractionAdvisor advisor in facets) {
         buf.Append(advisor.Disables(ic));
     }
     return buf;
 }
Exemple #11
0
    private Task ContextCommandExecuted(ContextCommandInfo context, IInteractionContext arg2, IResult result)
    {
        if (!result.IsSuccess)
        {
            switch (result.Error)
            {
            case InteractionCommandError.UnmetPrecondition:
                // implement
                break;

            case InteractionCommandError.UnknownCommand:
                // implement
                break;

            case InteractionCommandError.BadArgs:
                // implement
                break;

            case InteractionCommandError.Exception:
                // implement
                break;

            case InteractionCommandError.Unsuccessful:
                // implement
                break;

            default:
                break;
            }
        }

        return(Task.CompletedTask);
    }
        public override async Task <TypeConverterResult> ReadAsync(IInteractionContext context, IComponentInteractionData option, IServiceProvider services)
        {
            var results = new List <TypeConverterResult>();

            foreach (var value in option.Values)
            {
                var result = await _typeReader.ReadAsync(context, value, services).ConfigureAwait(false);

                if (!result.IsSuccess)
                {
                    return(result);
                }

                results.Add(result);
            }

            var destination = Array.CreateInstance(_underlyingType, results.Count);

            for (var i = 0; i < results.Count; i++)
            {
                destination.SetValue(results[i].Value, i);
            }

            return(TypeConverterResult.FromSuccess(destination));
        }
        private async Task <IResult> ExecuteInternalAsync(IInteractionContext context, IAutocompleteInteraction autocompleteInteraction, IParameterInfo parameter,
                                                          IServiceProvider services)
        {
            try
            {
                var result = await GenerateSuggestionsAsync(context, autocompleteInteraction, parameter, services).ConfigureAwait(false);

                if (result.IsSuccess)
                {
                    switch (autocompleteInteraction)
                    {
                    case RestAutocompleteInteraction restAutocomplete:
                        var payload = restAutocomplete.Respond(result.Suggestions);

                        if (context is IRestInteractionContext restContext && restContext.InteractionResponseCallback != null)
                        {
                            await restContext.InteractionResponseCallback.Invoke(payload).ConfigureAwait(false);
                        }
                        else
                        {
                            await InteractionService._restResponseCallback(context, payload).ConfigureAwait(false);
                        }
                        break;

                    case SocketAutocompleteInteraction socketAutocomplete:
                        await socketAutocomplete.RespondAsync(result.Suggestions).ConfigureAwait(false);

                        break;
                    }
Exemple #14
0
 public static IInteractionBuffer IsValid(ISpecification specification, IInteractionContext ic, IInteractionBuffer buf) {
     IEnumerable<IValidatingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IValidatingInteractionAdvisor).Cast<IValidatingInteractionAdvisor>();
     foreach (IValidatingInteractionAdvisor advisor in facets) {
         buf.Append(advisor.Invalidates(ic));
     }
     return buf;
 }
        /// <summary>
        ///     Loops over all <see cref="IDisablingInteractionAdvisor" /> <see cref="IFacet" />s and
        ///     returns <c>true</c> only if none disables the member.
        /// </summary>
        public virtual IConsent IsUsable(INakedObjectAdapter target)
        {
            IInteractionContext ic = InteractionContext
                                     .AccessMember(Session, Persistor, false, target, Identifier);

            return(InteractionUtils.IsUsable(this, ic));
        }
Exemple #16
0
 protected override string GetLogString(IInteractionContext context)
 {
     if (context.Guild != null)
         return $"Component Interaction: \"{base.ToString()}\" for {context.User} in {context.Guild}/{context.Channel}";
     else
         return $"Component Interaction: \"{base.ToString()}\" for {context.User} in {context.Channel}";
 }
Exemple #17
0
        public Task <bool> JudgeAsync(IInteractionContext sourceContext, SocketMessage parameter)
        {
            var input = parameter.Content.ConvertTypesetterToTypewriter();

            Answer = PossibleAnswers.FirstOrDefault(possibleAnswer => possibleAnswer.EqualsIgnoreCase(input));

            return(Task.FromResult(!string.IsNullOrEmpty(Answer)));
        }
Exemple #18
0
 public static bool IsVisible(ISpecification specification, IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager) {
     var buf = new InteractionBuffer();
     IEnumerable<IHidingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IHidingInteractionAdvisor).Cast<IHidingInteractionAdvisor>();
     foreach (IHidingInteractionAdvisor advisor in facets) {
         buf.Append(advisor.Hides(ic, lifecycleManager, manager));
     }
     return IsVisible(buf);
 }
        public void Setup()
        {
            Interactions = MockRepository.GenerateStub<IInteractionContext>();
            FileSync = MockRepository.GenerateStub<IFileSync>();

            Context();
            Because();
        }
        /// <summary>
        ///     Execute this command using dependency injection.
        /// </summary>
        /// <param name="context">Context that will be injected to the <see cref="InteractionModuleBase{T}"/>.</param>
        /// <param name="services">Services that will be used while initializing the <see cref="InteractionModuleBase{T}"/>.</param>
        /// <param name="additionalArgs">Provide additional string parameters to the method along with the auto generated parameters.</param>
        /// <returns>
        ///     A task representing the asynchronous command execution process.
        /// </returns>
        public async Task <IResult> ExecuteAsync(IInteractionContext context, IServiceProvider services, params string[] additionalArgs)
        {
            if (context.Interaction is not IComponentInteraction componentInteraction)
            {
                return(ExecuteResult.FromError(InteractionCommandError.ParseFailed, $"Provided {nameof(IInteractionContext)} doesn't belong to a Message Component Interaction"));
            }

            return(await ExecuteAsync(context, Parameters, additionalArgs, componentInteraction.Data, services));
        }
Exemple #21
0
        /// <inheritdoc/>
        public override async Task <IResult> ExecuteAsync(IInteractionContext context, IServiceProvider services)
        {
            if (context.Interaction is not IAutocompleteInteraction)
            {
                return(ExecuteResult.FromError(InteractionCommandError.ParseFailed, $"Provided {nameof(IInteractionContext)} doesn't belong to a Autocomplete Interaction"));
            }

            return(await RunAsync(context, Array.Empty <object>(), services).ConfigureAwait(false));
        }
        private async Task SlashCommandExecutedAsync(SlashCommandInfo command, IInteractionContext context, Discord.Interactions.IResult result)
        {
            // the command was successful, we don't care about this result, unless we want to log that a command succeeded.
            if (result.IsSuccess)
            {
                return;
            }

            await context.Interaction.RespondAsync(result.ErrorReason, ephemeral : true);
        }
        public virtual string Invalidates(IInteractionContext ic)
        {
            INakedObjectAdapter proposedArgument = ic.ProposedArgument;

            if (!Exceeds(proposedArgument))
            {
                return(null);
            }
            return(string.Format(Resources.NakedObjects.MaximumLengthMismatch, Value));
        }
        public string Disables(IInteractionContext ic)
        {
            if (!ic.TypeEquals(InteractionType.ObjectPersist))
            {
                return(null);
            }
            INakedObjectAdapter target = ic.Target;

            return(DisabledReason(target));
        }
Exemple #25
0
        private static IInteractionBuffer IsUsable(ISpecification specification, IInteractionContext ic, IInteractionBuffer buf)
        {
            IEnumerable <IDisablingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IDisablingInteractionAdvisor).Cast <IDisablingInteractionAdvisor>();

            foreach (IDisablingInteractionAdvisor advisor in facets)
            {
                buf.Append(advisor.Disables(ic));
            }
            return(buf);
        }
Exemple #26
0
        public static IInteractionBuffer IsValid(ISpecification specification, IInteractionContext ic, IInteractionBuffer buf)
        {
            IEnumerable <IValidatingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IValidatingInteractionAdvisor).Cast <IValidatingInteractionAdvisor>();

            foreach (IValidatingInteractionAdvisor advisor in facets)
            {
                buf.Append(advisor.Invalidates(ic));
            }
            return(buf);
        }
        /// <summary>
        /// Converts a slash param array to a string.
        /// Used for error handling and reporting.
        /// </summary>
        /// <returns></returns>
        public static string SlashParamToString(IInteractionContext arg2)
        {
            string output = "";

            foreach (var param in (arg2.Interaction.Data as SocketSlashCommandData).Options)
            {
                output += param.Name + ": " + param.Value + " ";
            }
            return(output);
        }
        public string Invalidates(IInteractionContext ic)
        {
            INakedObjectAdapter proposedArgument = ic.ProposedArgument;

            if (DoesNotMatch(proposedArgument))
            {
                return(string.Format(Resources.NakedObjects.MaskMismatch, proposedArgument.TitleString(), Value));
            }
            return(null);
        }
Exemple #29
0
 public override Task <TypeConverterResult> ReadAsync(IInteractionContext context, IApplicationCommandInteractionDataOption option, IServiceProvider services)
 {
     if (Enum.TryParse <T>((string)option.Value, out var result))
     {
         return(Task.FromResult(TypeConverterResult.FromSuccess(result)));
     }
     else
     {
         return(Task.FromResult(TypeConverterResult.FromError(InteractionCommandError.ConvertFailed, $"Value {option.Value} cannot be converted to {nameof(T)}")));
     }
 }
Exemple #30
0
        public static bool IsVisible(ISpecification specification, IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager)
        {
            var buf = new InteractionBuffer();
            IEnumerable <IHidingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IHidingInteractionAdvisor).Cast <IHidingInteractionAdvisor>();

            foreach (IHidingInteractionAdvisor advisor in facets)
            {
                buf.Append(advisor.Hides(ic, lifecycleManager, manager));
            }
            return(IsVisible(buf));
        }
Exemple #31
0
 public override Task <TypeConverterResult> ReadAsync(IInteractionContext context, IComponentInteractionData option, IServiceProvider services)
 {
     try
     {
         return(option.Type switch
         {
             ComponentType.SelectMenu => Task.FromResult(TypeConverterResult.FromSuccess(Convert.ChangeType(string.Join(",", option.Values), typeof(T)))),
             ComponentType.TextInput => Task.FromResult(TypeConverterResult.FromSuccess(Convert.ChangeType(option.Value, typeof(T)))),
             _ => Task.FromResult(TypeConverterResult.FromError(InteractionCommandError.ConvertFailed, $"{option.Type} doesn't have a convertible value."))
         });
     }
Exemple #32
0
 protected override string GetLogString(IInteractionContext context)
 {
     if (context.Guild != null)
     {
         return($"Slash Command: \"{base.ToString()}\" for {context.User} in {context.Guild}/{context.Channel}");
     }
     else
     {
         return($"Slash Command: \"{base.ToString()}\" for {context.User} in {context.Channel}");
     }
 }
Exemple #33
0
    public override async Task <AutocompletionResult> GenerateSuggestionsAsync(IInteractionContext context, IAutocompleteInteraction autocompleteInteraction, IParameterInfo parameter, IServiceProvider services)
    {
        // Create a collection with suggestions for autocomplete
        IEnumerable <AutocompleteResult> results = new[]
        {
            new AutocompleteResult("Name1", "value111"),
            new AutocompleteResult("Name2", "value2")
        };

        // max - 25 suggestions at a time (API limit)
        return(AutocompletionResult.FromSuccess(results.Take(25)));
    }
        public string Invalidates(IInteractionContext ic) {
            INakedObjectAdapter proposedArgument = ic.ProposedArgument;
            if (proposedArgument == null) {
                return null;
            }
            string titleString = proposedArgument.TitleString();
            if (!DoesNotMatch(titleString)) {
                return null;
            }

            return failureMessage ?? Resources.NakedObjects.InvalidEntry;
        }
        public override async Task <TypeConverterResult> ReadAsync(IInteractionContext context, string option, IServiceProvider services)
        {
            if (!ulong.TryParse(option, out var snowflake))
            {
                return(TypeConverterResult.FromError(InteractionCommandError.ConvertFailed, $"{option} isn't a valid snowflake thus cannot be converted into {typeof(T).Name}"));
            }

            var result = await GetEntity(snowflake, context).ConfigureAwait(false);

            return(result is not null?
                   TypeConverterResult.FromSuccess(result) : TypeConverterResult.FromError(InteractionCommandError.ConvertFailed, $"{option} must be a valid {typeof(T).Name} snowflake to be parsed."));
        }
Exemple #36
0
 public override Task <TypeConverterResult> ReadAsync(IInteractionContext context, string option, IServiceProvider services)
 {
     try
     {
         var converted = Convert.ChangeType(option, typeof(T));
         return(Task.FromResult(TypeConverterResult.FromSuccess(converted)));
     }
     catch (InvalidCastException castEx)
     {
         return(Task.FromResult(TypeConverterResult.FromError(castEx)));
     }
 }
Exemple #37
0
        public Task HandleInteractionExecuted(ICommandInfo _, IInteractionContext __, IResult result)
        {
            Task.Run(() =>
            {
                if (!result.IsSuccess)
                {
                    SourceToLogger.GetOrAdd("Interaction", source => _loggerFactory.CreateLogger(source)).Error(result.ErrorReason);
                }
            });

            return(Task.CompletedTask);
        }
Exemple #38
0
 public static bool IsVisibleWhenPersistent(ISpecification specification, IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager) {
     var buf = new InteractionBuffer();
     IEnumerable<IHidingInteractionAdvisor> facets = specification.GetFacets().Where(f => f is IHidingInteractionAdvisor).Cast<IHidingInteractionAdvisor>();
     foreach (IHidingInteractionAdvisor advisor in facets) {
         var facet = advisor as IHiddenFacet;
         if (facet != null) {
             if (facet.Value == WhenTo.OncePersisted) {
                 continue;
             }
         }
         buf.Append(advisor.Hides(ic, lifecycleManager, manager));
     }
     return IsVisible(buf);
 }
Exemple #39
0
        /// <summary>
        /// Uses dependency injection and inversion of control. By using these
        /// techniques we make the object constructing this object provide all
        /// of the external dependencies. The code is less fragile, reuse is 
        /// encouraged, and there should be less bugs.
        /// Look at the DependencyLoader to see how we're telling the system to
        /// load the implementation classes for this class.
        /// </summary>
        /// <param name="fileSync"></param>
        /// <param name="userInteractions"></param>
        /// <param name="settings"></param>
        /// <param name="backupAccess"></param>
        public RunBackup(
            IFileSync fileSync, 
            IInteractionContext userInteractions, 
            ISettingsProvider settings, 
            IBackupAccess backupAccess)
        {
            _FileSystem = fileSync;
            _Interactions = userInteractions;
            _Settings = settings;
            _BackupDirectory = backupAccess;

            _FileSystem.AppliedChange += OnAppliedChange;
            _FileSystem.SkippedChange += OnSkippedChange;
        }
        public void Setup()
        {
            //Here we're doing all of the set up for this clump of tests.

            // Mocks basically allow us to pretend like we have a class
            // when we really don't just so the program runs. This really
            // comes in handy when you have a large interface and don't want to
            // create a huge real class that has to have a bunch of empty methods
            // that never get called.
            Interactions = MockRepository.GenerateStub<IInteractionContext>();
            FileSync = MockRepository.GenerateStub<IFileSync>();
            BackupAccess = MockRepository.GenerateStub<IBackupAccess>();
            Settings = MockRepository.GenerateStub<ISettingsProvider>();
            BackupRunner = new RunBackup(FileSync, Interactions, Settings, BackupAccess);

            Context();
            Because();
        }
Exemple #41
0
        public MainView(
            IInteractionContext interactionContext,
            IMessagingServiceManager messagingService, 
            IContactProvider contactRepo)
        {
            if(interactionContext == null)
                throw new ArgumentNullException("interactionContext");
            if(messagingService == null)
                throw new ArgumentNullException("messagingService");

            _CurrentThread = Thread.CurrentThread;
            _CurrentDispatcher = Dispatcher.CurrentDispatcher;

            _ContactRepo = contactRepo;
            _MessagingService = messagingService;

            PropertyChanged += MainView_PropertyChanged;
            _MessagingService.CredentialsRequested += messagingService_CredentialsRequested;
            _MessagingService.AuthorizationFailed += _MessagingService_AuthorizationFailed;
            _MessagingService.MessagesReceived += _MessagingService_MessagesReceived;

            Messages = new ObservableCollection<UiMessage>();

            Interactions = interactionContext;

            SendMessage = new SendMessageCommand(
                () =>
                {
                    _MessagingService.SendMessage(Recipient, MessageToSend);
                    Recipient = "";
                    MessageToSend = "";
                    if(ReceiveMessage.CanExecute(null))
                        ReceiveMessage.Execute(null);
                });

            ReceiveMessage = new ReceiveMessagesCommand(
                () =>
                    {
                        var result = _MessagingService.GetMessages();

                        _UpdateUIWithMessages(result);
                    });
        }
 public static void BootstrapStructureMap(
     IInteractionContext gui, 
     IPluginFinder pluginFinder, 
     ISettingsProvider settings, 
     IMessagingService plugin)
 {
     // Initialize the static ObjectFactory container
     ObjectFactory.Initialize(x =>
     {
         x.ForRequestedType<MainView>().TheDefaultIsConcreteType<MainView>();
         x.ForRequestedType<IInteractionContext>().TheDefault.IsThis(gui);
         x.ForRequestedType<IMessagingService>().TheDefault.IsThis(plugin);
         x.ForRequestedType<ISettingsProvider>().TheDefault.IsThis(settings);
         x.ForRequestedType<IMessagingServiceManager>().TheDefaultIsConcreteType<ServicesManager>();
         x.ForRequestedType<IContactProvider>().TheDefaultIsConcreteType<ContactProvider>();
         x.ForRequestedType<IServiceProvider>().TheDefaultIsConcreteType<ServiceProvider>();
         x.ForRequestedType<IPluginFinder>().TheDefault.IsThis(pluginFinder);
     });
 }
 public Exception CreateExceptionFor(IInteractionContext ic) {
     return new InvalidRegExException(ic, FormatPattern, ValidationPattern, IsCaseSensitive, Invalidates(ic));
 }
 public virtual Exception CreateExceptionFor(IInteractionContext ic) {
     return new DisabledException(ic, Disables(ic));
 }
 public virtual string Disables(IInteractionContext ic) {
     INakedObjectAdapter target = ic.Target;
     return DisabledReason(target);
 }
 public InvalidMaskException(IInteractionContext ic, string message)
     : base(ic, message) {}
 public InvalidMaskException(IInteractionContext ic)
     : this(ic, Resources.NakedObjects.MaskError) {}
Exemple #48
0
 public static IConsent IsValid(ISpecification specification, IInteractionContext ic) {
     IInteractionBuffer buf = IsValid(specification, ic, new InteractionBuffer());
     return IsValid(buf);
 }
 public virtual string Invalidates(IInteractionContext ic) {
     return IsRequiredButNull(ic.ProposedArgument) ? Resources.NakedObjects.Mandatory : null;
 }
 public HiddenException(IInteractionContext ic, string message)
     : base(ic, message) {}
 public HiddenException(IInteractionContext ic)
     : this(ic, Resources.NakedObjects.Hidden) {}
 public virtual Exception CreateExceptionFor(IInteractionContext ic) {
     return new InvalidMaxLengthException(ic, Value, Invalidates(ic));
 }
 public virtual string Invalidates(IInteractionContext ic) {
     return InvalidReason(ic.Target, ic.ProposedArgument);
 }
 public InvalidMandatoryException(IInteractionContext ic)
     : this(ic, Resources.NakedObjects.Mandatory) {}
 public string Hides(IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager) {
     return HiddenReason(ic.Target);
 }
 public virtual Exception CreateExceptionFor(IInteractionContext ic) {
     return new InvalidMandatoryException(ic, Invalidates(ic));
 }
 public virtual string Hides(IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager) {
     return HiddenReason(ic.Session, ic.Target, lifecycleManager, manager);
 }
 public InvalidRegExException(IInteractionContext ic, string format, string validation, bool caseSensitive)
     : this(ic, format, validation, caseSensitive, Resources.NakedObjects.PatternMessage) {}
 public InvalidRegExException(IInteractionContext ic, string format, string validation, bool caseSensitive, string message)
     : base(ic, message) {
     this.format = format;
     this.validation = validation;
     this.caseSensitive = caseSensitive;
 }
 public virtual Exception CreateExceptionFor(IInteractionContext ic, ILifecycleManager lifecycleManager, IMetamodelManager manager) {
     return new HiddenException(ic, Hides(ic, lifecycleManager, manager));
 }