Exemple #1
0
        public virtual bool Validate <ValidationAdapterClass>(IOperationAction <T, U, V> operationAction)
        {
            IValidation <T> model = operationAction.OperationRequest().OpData().Valid() as IValidation <T>;

            var validationAdapter = CreateAdapterInstance <ValidationAdapterClass>(model) as IValidation <T>;

            return(validationAdapter.Valid());
        }
Exemple #2
0
        public override IOperationAction <T, U, V> CreateInvalidResponse(IOperationAction <T, U, V> action)
        {
            // get model errors - ModelDTO.Errors
            var errors = new List <IError>();
            // Add errors
            IInvalidResponse <IError> invalidResponse = new InvalidResponse <IError>(errors);

            // create new action with new invalid response
            return(AddInvalidResponseToAction(action, invalidResponse));;
        }
Exemple #3
0
 public virtual string Return(IOperationAction <T, U, V> operationAction)
 {
     if (operationAction.Response().Valid())
     {
         return(operationAction.OperationResponse().DataAsJsonString());
     }
     else
     {
         return(operationAction.OperationResponse().InvalidResponse().DataAsJsonString());                // PostModelDTO should be created where it wrapes model and errors
     }
 }
Exemple #4
0
        public override void Prepare(IOperationAction <T, U, V> operationAction)
        {
            logger.LogDebug("begin executing Prepare");

            logger.LogDebug("end executing Prepare");
        }
Exemple #5
0
        public override void Finalize(IOperationAction <T, U, V> operationAction)
        {
            logger.LogDebug("begin executing Finalize");

            logger.LogDebug("end executing Finalize");
        }
Exemple #6
0
 public override IOperationAction <T, U, V> Perform(IOperationAction <T, U, V> operationAction)
 {
     return(action);
 }
Exemple #7
0
 // can inject as many services as wanted
 public PostCreateOperationProtocol(/* ICoreApiClient client, */ ILogger logger, IOperationAction <T, U, V> action) : base(logger, action)
 {
 }
        public async Task <ActionResult <string> > Create([Microsoft.AspNetCore.Mvc.FromBody] PostCreateDTO post)      //PostOperationCreateData
        {
            await Task.Yield();

            /*IOperation<PostCreateDTO, PostModelDTO, Dictionary<string, object>> operation =
             *      new Operation<PostCreateDTO, PostModelDTO, Dictionary<string, object>>(logger);
             *
             * operation =*/
            operation.Make <PostCreateOperationProtocol <PostCreateDTO, PostModelDTO, Dictionary <string, object> > >(post);        // should pass http request

            IOperationAction <PostCreateDTO, PostModelDTO, Dictionary <string, object> > action = operation.Execute();

            return(operation.Return(action));
        }
Exemple #9
0
 public abstract IOperationAction <T, U, V> Perform(IOperationAction <T, U, V> operationAction);
Exemple #10
0
        public IOperationAction <T, U, V> AddInvalidResponseToAction(IOperationAction <T, U, V> operationAction, IInvalidResponse <IError> invalidResponse)
        {
            action.OperationResponse().SetInvalidResponse(invalidResponse);

            return(action);
        }
Exemple #11
0
 public abstract void Prepare(IOperationAction <T, U, V> operationAction);
Exemple #12
0
 public abstract void Finalize(IOperationAction <T, U, V> operationAction);
Exemple #13
0
 public abstract IOperationAction <T, U, V> CreateInvalidResponse(IOperationAction <T, U, V> action);
Exemple #14
0
 public OperationProtocol(ILogger logger, IOperationAction <T, U, V> action)
 {
     this.logger = logger;
     this.action = action;
 }
Exemple #15
0
 private object CreateProtocolInstance <ProtocolClass>(ILogger logger, IOperationAction <T, U, V> operationAction)
 {
     return(Activator.CreateInstance(typeof(ProtocolClass), new object[] { logger, operationAction }));
 }