Raven.DynamicSession.DynamicSession.ChainBuilder.TryInvokeMember C# (CSharp) Method

TryInvokeMember() public method

public TryInvokeMember ( InvokeMemberBinder binder, object args, object &result ) : bool
binder System.Dynamic.InvokeMemberBinder
args object
result object
return bool
            public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
            {
                switch (binder.Name.ToLower())
                {
                    case "load":
                    case "get":
                        {
                            if (args.Length != 1)
                            {
                                throw new ArgumentException("Get/Load should have 1 parameter, 1:Id");
                            }

                            HandleLoad(args, out result);
                            return true;
                        }
                    case "insert":
                        {
                            if (args.Length != 2)
                            {
                                throw new ArgumentException("Insert should have 2 parameters, 1:ObjectToStore, 2:Id");
                            }

                            return HandleInsert(args, out result);
                        }
                    case "all":
                        {
                            result = Session.Advanced.LuceneQuery<dynamic>()
                                            .WhereEquals("@metadata.Raven-Entity-Name", CollectionName)
                                            .ToList();

                            return true;
                        }
                }

                throw new MissingMethodException("Method {0} does not exist. Allowed methods are: Get/Load, Insert, All");
            }