using System.Collections.Generic; using System.Text.Json; using System.Threading.Tasks; public class EmployeeService { private readonly OdooService _odooService; public EmployeeService(OdooService odooService) { _odooService = odooService; } public async Task CreateEmployeeAsync(object employeeData) { return await _odooService.CreateAsync("hr.employee", employeeData); } public async Task UpdateEmployeeAsync(int employeeId, Dictionary employeeData) { return await _odooService.UpdateAsync("hr.employee", employeeId, employeeData); } public async Task GetAddressHomeIdByEmployeeIdAsync(int employeeId) { var filterData = new { domain = new List { new object[] { "id", "=", employeeId } } }; var fields = new[] { "address_id" }; var results = await _odooService.SearchAsync("hr.employee", filterData, fields); if (results.Count > 0 && results[0] is JsonElement record && record.TryGetProperty("address_id", out var addressField) && addressField.ValueKind == JsonValueKind.Array && addressField.GetArrayLength() > 0) { return addressField[0].GetInt32(); } return null; } public async Task UpdatePartnerAsync(int partnerId, Dictionary updateData) { return await _odooService.UpdateAsync("res.partner", partnerId, updateData); } }