Exemple #1
0
        public async Task Delete_ShouldCallRpcWithCorrectParameters()
        {
            var requestParameters = new OdooDeleteParameters("res.partner", new long [] {
                6, 7
            });

            var response = new JsonRpcResponse <object>();

            response.Id     = 1;
            response.Result = null;

            await TestOdooRpcCall(new OdooRpcCallTestParameters <object>()
            {
                Model     = "res.partner",
                Method    = "unlink",
                Validator = (p) =>
                {
                    Assert.Equal(6, p.args.Length);

                    dynamic args = p.args[5];
                    Assert.Equal(1, args.Length);
                    Assert.Equal(
                        new long[] { 6, 7 },
                        args[0]
                        );
                },
                ExecuteRpcCall = async() => {
                    await RpcClient.Delete(requestParameters);
                    return(null);
                },
                TestResponse = response
            });
        }
Exemple #2
0
 private OdooRpcRequest CreateDeleteRequest(OdooSessionInfo sessionInfo, OdooDeleteParameters parameters)
 {
     return(new OdooRpcRequest()
     {
         service = "object",
         method = "execute_kw",
         args = new object[]
         {
             sessionInfo.Database,
             sessionInfo.UserId,
             sessionInfo.Password,
             parameters.Model,
             "unlink",
             new object[]
             {
                 parameters.Ids.ToArray()
             }
         },
         context = sessionInfo.UserContext
     });
 }
Exemple #3
0
 public Task Execute(OdooSessionInfo sessionInfo, OdooDeleteParameters parameters)
 {
     return(InvokeRpc <object>(sessionInfo, CreateDeleteRequest(sessionInfo, parameters)));
 }
Exemple #4
0
        public Task Delete(OdooDeleteParameters parameters)
        {
            var deleteCommand = new OdooDeleteCommand(CreateRpcClient());

            return(deleteCommand.Execute(this.SessionInfo, parameters));
        }