public virtual ActionResult Composite(string incTypes)
        {
            if (string.IsNullOrWhiteSpace(incTypes))
            {
                throw new ArgumentNullException("incTypes");
            }

            var  splits  = incTypes.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            bool isGroup = splits.Count() == 1;

            List <CommandBase> commands;

            if (isGroup)
            {
                string firstType = splits.First();
                commands = ((IEnumerable <CommandBase>)Create(firstType, string.Empty, true)).ToList();
            }
            else
            {
                commands = splits.Select(r => (CommandBase)Create(r, string.Empty))
                           .ToList();
            }

            return(TryPush(composite =>
            {
                foreach (var commandBase in commands)
                {
                    composite.Quote(commandBase);
                }
            }, setting => setting.SuccessResult = () => IncodingResult.Success(commands.Select(r => r.Result))));
        }
Ejemplo n.º 2
0
        public ActionResult FetchSub(string root)
        {
            var vms = new Dictionary <string, List <KeyValueVm> >
            {
                {
                    "Cars", new List <KeyValueVm>
                    {
                        new KeyValueVm("Coupe"),
                        new KeyValueVm("Jeep"),
                        new KeyValueVm("Sedan"),
                    }
                },
                {
                    "Houses", new List <KeyValueVm>
                    {
                        new KeyValueVm("Rooms"),
                        new KeyValueVm("Apartments"),
                    }
                },
                {
                    "Electronics", new List <KeyValueVm>
                    {
                        new KeyValueVm("Phones"),
                        new KeyValueVm("Computers"),
                    }
                },
            };

            return(IncodingResult.Success(vms[root]));
        }
Ejemplo n.º 3
0
        public ActionResult Del(string name)
        {
            int index = ads.FindIndex(r => r.Name == name);

            ads.RemoveAt(index);
            return(IncodingResult.Success());
        }
Ejemplo n.º 4
0
        public virtual ActionResult Push()
        {
            var parameter = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = HttpContext.Request.Params
            });

            var commands = dispatcher.Query(new CreateByTypeQuery.AsCommands()
            {
                IncTypes          = parameter.Type,
                ModelState        = ModelState,
                ControllerContext = ControllerContext,
                IsComposite       = parameter.IsCompositeArray
            });

            var composite = new CommandComposite(commands);

            return(TryPush(commandComposite => dispatcher.Query(new MVDExecute(HttpContext)
            {
                Instance = composite
            }), composite, setting => setting.SuccessResult = () =>
            {
                var data = commands.Length == 1 ? commands[0].Result : commands.Select(r => r.Result);
                return IncodingResult.Success(data);
            }));
        }
Ejemplo n.º 5
0
 public ActionResult Add(AddAdCommand command)
 {
     ads.Add(new AdVm
     {
         Name = command.Name,
         Root = command.Root,
         Sub  = command.Sub
     });
     return(IncodingResult.Success());
 }
Ejemplo n.º 6
0
        public ActionResult FetchRoot()
        {
            var vms = new List <KeyValueVm>
            {
                new KeyValueVm("Cars"),
                new KeyValueVm("Houses"),
                new KeyValueVm("Electronics"),
            };

            return(IncodingResult.Success(vms));
        }
Ejemplo n.º 7
0
        public virtual ActionResult Validate()
        {
            var parameter = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = HttpContext.Request.Params
            });
            // ReSharper disable once UnusedVariable
            var instance = dispatcher.Query(new CreateByTypeQuery()
            {
                Type = parameter.Type, ControllerContext = this.ControllerContext, ModelState = ModelState
            });

            return(ModelState.IsValid ? IncodingResult.Success() : IncodingResult.Error(ModelState));
        }
Ejemplo n.º 8
0
        public void ProcessRequest(HttpContext context)
        {
            var dispatcher = new DefaultDispatcher();
            var parameter  = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = context.Request.Params
            });

            context.Response.ContentType     = "application/json";
            context.Response.ContentEncoding = Encoding.UTF8;
            var instanceForQuery = dispatcher.Query(new CreateByTypeQuery()
            {
                Type = parameter.Type
            });

            context.Response.Write(IncodingResult.Success(dispatcher.Query(new MVDExecute(new HttpContextWrapper(context))
            {
                Instance = new CommandComposite((IMessage)instanceForQuery)
            })).ToJsonString());
        }
Ejemplo n.º 9
0
        public void ProcessRequest(HttpContext context)
        {
            var dispatcher = new DefaultDispatcher();
            var parameter  = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = context.Request.Params
            });

            var commands = dispatcher.Query(new CreateByTypeQuery.AsCommands()
            {
                IncTypes    = parameter.Type,
                IsComposite = parameter.IsCompositeArray
            });

            context.Response.ContentType     = "application/json";
            context.Response.ContentEncoding = Encoding.UTF8;
            dispatcher.Push(new CommandComposite(commands));
            var data = commands.Length == 1 ? commands[0].Result : commands.Select(r => r.Result);

            context.Response.Write(IncodingResult.Success(data).ToJsonString());
        }
Ejemplo n.º 10
0
        public virtual ActionResult Query()
        {
            var parameter = dispatcher.Query(new GetMvdParameterQuery()
            {
                Params = HttpContext.Request.Params
            });
            var query = dispatcher.Query(new CreateByTypeQuery()
            {
                Type = parameter.Type, ControllerContext = this.ControllerContext, ModelState = ModelState
            });

            if (parameter.IsValidate && !ModelState.IsValid)
            {
                return(IncodingResult.Error(ModelState));
            }

            var composite = new CommandComposite((IMessage)query);

            return(TryPush(commandComposite => dispatcher.Query(new MVDExecute(HttpContext)
            {
                Instance = composite
            }), composite, setting => setting.SuccessResult = () => IncodingResult.Success(composite.Parts[0].Result), isAjax: true));
        }
        public virtual ActionResult Push(string incType, string incGeneric)
        {
            var command = (CommandBase)Create(incType, incGeneric);

            return(TryPush(composite => composite.Quote(command), setting => { setting.SuccessResult = () => IncodingResult.Success(command.Result); }));
        }
Ejemplo n.º 12
0
 public ActionResult Fetch()
 {
     return(IncodingResult.Success(data.Select(r => r.Value)
                                   .ToList()));
 }
Ejemplo n.º 13
0
 public ActionResult Delete(string id)
 {
     data.Remove(id);
     return(IncodingResult.Success());
 }
Ejemplo n.º 14
0
 public ActionResult RemoveAll()
 {
     ads = new List <AdVm>();
     return(IncodingResult.Success());
 }
Ejemplo n.º 15
0
 public ActionResult Fetch(SearchAdQuery query)
 {
     return(IncodingResult.Success(ads.Where(r => string.IsNullOrWhiteSpace(query.Root) || r.Root == query.Root)
                                   .Where(r => string.IsNullOrWhiteSpace(query.Sub) || r.Sub == query.Sub)));
 }