Exemple #1
0
 protected override async Task <CommandResponse <Submission> > ExecuteStage(CommandStage stage, CommandResponse <Submission> previous)
 {
     switch (stage)
     {
     case CommandStage.OnValidation:
         if (_userSubmission.Content.Length > 10000)
         {
             return(CommandResponse.FromStatus <Submission>(null, Status.Invalid, "Content can not exceed 10,000 characters"));
         }
         break;
     }
     return(await base.ExecuteStage(stage, previous));
 }
Exemple #2
0
 protected override async Task <CommandResponse <Models.Comment> > ExecuteStage(CommandStage stage, CommandResponse <Models.Comment> previous)
 {
     switch (stage)
     {
     case CommandStage.OnValidation:
         if (Content.Length > 10000)
         {
             return(CommandResponse.FromStatus <Models.Comment>(null, Status.Denied, "Comment can not exceed 10,000 characters"));
         }
         break;
     }
     return(CommandResponse.FromStatus <Models.Comment>(null, Status.Success));
 }
Exemple #3
0
        protected override async Task <Tuple <CommandResponse <Domain.Models.Submission>, Data.Models.Submission> > CacheExecute()
        {
            using (var db = new Repository(User))
            {
                var result = await db.EditSubmission(_submissionID, _userSubmission);

                if (result.Success)
                {
                    return(Tuple.Create(CommandResponse.FromStatus(result.Response.Map(), Status.Success, ""), result.Response));
                }
                else
                {
                    return(Tuple.Create(CommandResponse.FromStatus((Submission)null, result.Status, result.Message), result.Response));
                }
            }
        }
Exemple #4
0
 public override Task <T> Execute()
 {
     _commands.Add(this);
     return(Task.FromResult((T)CommandResponse.FromStatus(Status.Queued)));
 }
        //So any command can invoke the rules engine
        //protected RulesEngine.RulesEngine<VoatRuleContext> rulesEngine = VoatRulesEngine.Instance;

        protected CommandResponse Map(RulesEngine.RuleOutcome outcome)
        {
            return(CommandResponse.FromStatus(outcome.Message, Status.Denied, outcome.ToString()));
        }
 protected CommandResponse <T> Map <T>(RulesEngine.RuleOutcome outcome)
 {
     return(CommandResponse.FromStatus(default(T), Status.Denied, outcome.Message));
 }