phronCare/phronCare.UIBlazor/Services/Stock/ProductDivisionService.cs
Leandro Hernan Rojas 85fedf79af
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 7m45s
Add Stock Module MVP Divisiones
2025-06-27 13:52:22 -03:00

56 lines
1.9 KiB
C#

using Domain.Entities;
using Domain.Generics;
using System.Net.Http.Json;
using Microsoft.JSInterop;
namespace phronCare.UIBlazor.Services.Stock
{
public class ProductDivisionService
{
private readonly HttpClient _http;
private readonly IJSRuntime _js;
public ProductDivisionService(HttpClient http, IJSRuntime js)
{
_http = http;
_js = js;
}
public async Task<List<EProductDivision>> GetAllAsync()
{
var result = await _http.GetFromJsonAsync<List<EProductDivision>>("/api/ProductDivision/GetAll");
return result ?? new List<EProductDivision>();
}
public async Task<EProductDivision?> GetByIdAsync(int id)
{
var result = await _http.GetFromJsonAsync<EProductDivision>($"/api/ProductDivision/GetById/{id}");
return result;
}
public async Task<HttpResponseMessage> CreateAsync(EProductDivision division)
{
return await _http.PostAsJsonAsync("/api/ProductDivision/Create", division);
}
public async Task<HttpResponseMessage> UpdateAsync(EProductDivision division)
{
return await _http.PutAsJsonAsync("/api/ProductDivision/Update", division);
}
public async Task<HttpResponseMessage> DeleteAsync(int id)
{
return await _http.DeleteAsync($"/api/ProductDivision/Delete/{id}");
}
public async Task<PagedResult<EProductDivision>?> SearchAsync(ProductDivisionSearchParams searchParams)
{
var url = $"/api/ProductDivision/Search?" +
$"term={searchParams.Term}&" +
$"page={searchParams.Page}&" +
$"pageSize={searchParams.PageSize}";
return await _http.GetFromJsonAsync<PagedResult<EProductDivision>>(url);
}
}
}