Example #1
0
        private OdooRpcRequest CreateReadRequest(OdooSessionInfo sessionInfo, OdooGetParameters getParams, OdooFieldParameters fieldParams)
        {
            List <object> requestArgs = new List <object>(
                new object[]
            {
                sessionInfo.Database,
                sessionInfo.UserId,
                sessionInfo.Password,
                getParams.Model,
                "read",
                new object[]
                {
                    getParams.Ids
                }
            }
                );

            if (fieldParams != null && fieldParams.Count > 0)
            {
                dynamic getOptions = new ExpandoObject();
                getOptions.fields = fieldParams.ToArray();
                requestArgs.Add(getOptions);
            }

            return(new OdooRpcRequest()
            {
                service = "object",
                method = "execute_kw",
                args = requestArgs.ToArray(),
                context = sessionInfo.UserContext
            });
        }
Example #2
0
        private OdooRpcRequest CreateSearchRequest(OdooSessionInfo sessionInfo, string method, OdooSearchParameters searchParams, OdooFieldParameters fieldParams, OdooPaginationParameters pagParams)
        {
            List <object> requestArgs = new List <object>(
                new object[]
            {
                sessionInfo.Database,
                sessionInfo.UserId,
                sessionInfo.Password,
                searchParams.Model,
                method,
                new object[]
                {
                    searchParams.DomainFilter.ToFilterArray()
                }
            }
                );

            dynamic searchOptions    = new ExpandoObject();
            bool    useSearchOptions = false;

            if (fieldParams != null && fieldParams.Count > 0)
            {
                searchOptions.fields = fieldParams.ToArray();
                useSearchOptions     = true;
            }

            if (pagParams != null && pagParams.IsDefined())
            {
                pagParams.AddToParameters(searchOptions);
                useSearchOptions = true;
            }

            if (useSearchOptions)
            {
                requestArgs.Add(searchOptions);
            }

            return(new OdooRpcRequest()
            {
                service = "object",
                method = "execute_kw",
                args = requestArgs.ToArray(),
                context = sessionInfo.UserContext
            });
        }