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 }); }
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 }); }