diff --git a/Inflow.Api/Controllers/CategoriesController.cs b/Inflow.Api/Controllers/CategoriesController.cs index 5507167..97725da 100644 --- a/Inflow.Api/Controllers/CategoriesController.cs +++ b/Inflow.Api/Controllers/CategoriesController.cs @@ -1,4 +1,5 @@ using ClosedXML.Excel; +using Inflow.Api.Helper; using Inflow.Domain.DTOs.Category; using Inflow.Domain.DTOs.Product; using Inflow.Domain.Interfaces.Services; @@ -27,13 +28,30 @@ public CategoriesController(ICategoryService categoryService, IProductService pr _productService = productService; } - [HttpGet] - public ActionResult> GetCategories( - [FromQuery] CategoryResourceParameters categoryResourceParameters) + [HttpGet(Name = "GetCategories")] + public IActionResult GetCategoriesAsync( + [FromQuery] CategoryResourceParameters categoryResourceParameters) { var categories = _categoryService.GetCategories(categoryResourceParameters); + var links = GetLinks(categoryResourceParameters, categories.HasNextPage, categories.HasPreviousPage); + var metadata = new + { + categories.PageNumber, + categories.PageSize, + categories.HasNextPage, + categories.HasPreviousPage, + categories.TotalPages, + categories.TotalCount + }; + + var result = new + { + data = categories.Data, + links, + metadata + }; - return Ok(categories); + return Ok(result); } [HttpGet("{id}", Name = "GetCategoryById")] @@ -169,5 +187,68 @@ private static DataTable GetCategoriesDataTable(IEnumerable categor return table; } + private List GetLinks( + CategoryResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateCategoryResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateCategoryResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateCategoryResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateCategoryResourceLink(CategoryResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetCategories", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetCategories", parameters); + } + + return Url.Link("GetCategories", resourceParameters); + } } } + diff --git a/Inflow.Api/Controllers/CustomersController.cs b/Inflow.Api/Controllers/CustomersController.cs index 2ffff02..2f9e0a3 100644 --- a/Inflow.Api/Controllers/CustomersController.cs +++ b/Inflow.Api/Controllers/CustomersController.cs @@ -1,4 +1,5 @@ using ClosedXML.Excel; +using Inflow.Api.Helper; using Inflow.Domain.DTOs.Customer; using Inflow.Domain.Interfaces.Services; using Inflow.Domain.ResourceParameters; @@ -22,13 +23,31 @@ public CustomersController(ICustomerService customerService) _customerService = customerService; } - [HttpGet] - public ActionResult> GetCustomersAsync( - [FromQuery] CustomerResourceParameters customerResourceParameters) + + [HttpGet(Name = "GetCustomers")] + public IActionResult GetCategoriesAsync( + [FromQuery] CustomerResourceParameters customerResourceParameters) { var customers = _customerService.GetCustomers(customerResourceParameters); + var links = GetLinks(customerResourceParameters, customers.HasNextPage, customers.HasPreviousPage); + var metadata = new + { + customers.PageNumber, + customers.PageSize, + customers.HasNextPage, + customers.HasPreviousPage, + customers.TotalPages, + customers.TotalCount + }; + + var result = new + { + data = customers.Data, + links, + metadata + }; - return Ok(customers); + return Ok(result); } [HttpGet("{id}", Name = "GetCustomerById")] @@ -159,5 +178,67 @@ private static DataTable GetCustomersDataTable(IEnumerable customer return table; } + private List GetLinks( + CustomerResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateCustomerResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateCustomerResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateCustomerResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateCustomerResourceLink(CustomerResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetCustomers", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetCustomers", parameters); + } + + return Url.Link("GetCustomers", resourceParameters); + } } } diff --git a/Inflow.Api/Controllers/ProductsController.cs b/Inflow.Api/Controllers/ProductsController.cs index 59788e2..de325d2 100644 --- a/Inflow.Api/Controllers/ProductsController.cs +++ b/Inflow.Api/Controllers/ProductsController.cs @@ -1,5 +1,6 @@ using AutoMapper; using ClosedXML.Excel; +using Inflow.Api.Helper; using Inflow.Domain.DTOs.Product; using Inflow.Domain.Entities; using Inflow.Domain.Interfaces.Services; @@ -27,15 +28,31 @@ public ProductsController(IProductService productService, IMapper mapper) _mapper = mapper; } - [HttpGet] - public ActionResult> GetProductsAsync( - [FromQuery] ProductResourceParameters productResourceParameters) + [HttpGet(Name = "GetProducts")] + public IActionResult GetProductsAsync( + [FromQuery] ProductResourceParameters productResourceParameters) { var products = _productService.GetProducts(productResourceParameters); + var links = GetLinks(productResourceParameters, products.HasNextPage, products.HasPreviousPage); + var metadata = new + { + products.PageNumber, + products.PageSize, + products.HasNextPage, + products.HasPreviousPage, + products.TotalPages, + products.TotalCount + }; - return Ok(products); - } + var result = new + { + data = products.Data, + links, + metadata + }; + return Ok(result); + } [HttpGet("export/xls")] public ActionResult ExportProducts() { @@ -219,5 +236,68 @@ private List ConvertCategoriesToData(IEnumerable products) return data; } + + private List GetLinks( + ProductResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateProductResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateProductResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateProductResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateProductResourceLink(ProductResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetProducts", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetProducts", parameters); + } + + return Url.Link("GetProducts", resourceParameters); + } } } diff --git a/Inflow.Api/Controllers/SaleItemsController.cs b/Inflow.Api/Controllers/SaleItemsController.cs index 06e8751..3fc3dfc 100644 --- a/Inflow.Api/Controllers/SaleItemsController.cs +++ b/Inflow.Api/Controllers/SaleItemsController.cs @@ -1,4 +1,5 @@ using ClosedXML.Excel; +using Inflow.Api.Helper; using Inflow.Domain.DTOs.SaleItem; using Inflow.Domain.DTOsSaleItem; using Inflow.Domain.Interfaces.Services; @@ -19,15 +20,34 @@ public SaleItemsController(ISaleItemService saleItemService) _saleItemService = saleItemService; } - [HttpGet] - public ActionResult> GetSaleItemsAsync( - [FromQuery] SaleItemResourceParameters saleItemResourceParameters) + + [HttpGet(Name = "GetSaleItems")] + public IActionResult GetSaleItemsAsync( + [FromQuery] SaleItemResourceParameters saleItemResourceParameters) { var saleItems = _saleItemService.GetSaleItems(saleItemResourceParameters); + var links = GetLinks(saleItemResourceParameters, saleItems.HasNextPage, saleItems.HasPreviousPage); + var metadata = new + { + saleItems.PageNumber, + saleItems.PageSize, + saleItems.HasNextPage, + saleItems.HasPreviousPage, + saleItems.TotalPages, + saleItems.TotalCount + }; + + var result = new + { + data = saleItems.Data, + links, + metadata + }; - return Ok(saleItems); + return Ok(result); } + [HttpGet("SalesSaleItems/{salesId}")] public ActionResult> GetSalesSaleItems(int salesId) { @@ -125,5 +145,67 @@ private DataTable GetSaleItemssDataTable(IEnumerable saleItemDtos) return table; } + private List GetLinks( + SaleItemResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateSaleItemResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateSaleItemResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateSaleItemResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateSaleItemResourceLink(SaleItemResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetSaleItems", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetSaleItems", parameters); + } + + return Url.Link("GetSaleItems", resourceParameters); + } } } diff --git a/Inflow.Api/Controllers/SalesController.cs b/Inflow.Api/Controllers/SalesController.cs index 0b9392f..e1594e9 100644 --- a/Inflow.Api/Controllers/SalesController.cs +++ b/Inflow.Api/Controllers/SalesController.cs @@ -1,4 +1,5 @@ using ClosedXML.Excel; +using Inflow.Api.Helper; using Inflow.Domain.DTOs.Sale; using Inflow.Domain.Interfaces.Services; using Inflow.Domain.ResourceParameters; @@ -20,15 +21,34 @@ public SalesController(ISaleService saleService, ISaleItemService saleItemServic _saleItemService = saleItemService; } - [HttpGet] - public ActionResult> GetSalesAsync( - [FromQuery] SaleResourceParameters saleResourceParameters) + + [HttpGet(Name = "GetSales")] + public IActionResult GetSalesAsync( + [FromQuery] SaleResourceParameters saleResourceParameters) { var sales = _saleService.GetSales(saleResourceParameters); + var links = GetLinks(saleResourceParameters, sales.HasNextPage, sales.HasPreviousPage); + var metadata = new + { + sales.PageNumber, + sales.PageSize, + sales.HasNextPage, + sales.HasPreviousPage, + sales.TotalPages, + sales.TotalCount + }; + + var result = new + { + data = sales.Data, + links, + metadata + }; - return Ok(sales); + return Ok(result); } + [HttpGet("export")] public ActionResult ExportSales() { @@ -128,5 +148,68 @@ private DataTable GetSalesDataTable(IEnumerable saleDtos) return table; } + + private List GetLinks( + SaleResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateSaleResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateSaleResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateSaleResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateSaleResourceLink(SaleResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetSales", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetSales", parameters); + } + + return Url.Link("GetSales", resourceParameters); + } } } diff --git a/Inflow.Api/Controllers/SuppliersController.cs b/Inflow.Api/Controllers/SuppliersController.cs index 6c3fc4f..da17f8b 100644 --- a/Inflow.Api/Controllers/SuppliersController.cs +++ b/Inflow.Api/Controllers/SuppliersController.cs @@ -1,4 +1,5 @@ using ClosedXML.Excel; +using Inflow.Api.Helper; using Inflow.Domain.DTOs.Supplier; using Inflow.Domain.Interfaces.Services; using Inflow.Domain.ResourceParameters; @@ -21,13 +22,30 @@ public SuppliersController(ISupplierService supplierService) _supplierService = supplierService; } - [HttpGet] - public ActionResult> GetSuppliersAsync( - [FromQuery] SupplierResourceParameters supplierResourceParameters) + [HttpGet(Name = "GetSuppliers")] + public IActionResult GetSuppliersAsync( + [FromQuery] SupplierResourceParameters supplierResourceParameters) { var suppliers = _supplierService.GetSuppliers(supplierResourceParameters); + var links = GetLinks(supplierResourceParameters, suppliers.HasNextPage, suppliers.HasPreviousPage); + var metadata = new + { + suppliers.PageNumber, + suppliers.PageSize, + suppliers.HasNextPage, + suppliers.HasPreviousPage, + suppliers.TotalPages, + suppliers.TotalCount + }; + + var result = new + { + data = suppliers.Data, + links, + metadata + }; - return Ok(suppliers); + return Ok(result); } [HttpGet("export/xls")] @@ -165,5 +183,68 @@ private static DataTable GetSuppliersTable(IEnumerable supplierDtos return table; } + private List GetLinks( + SupplierResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateSupplierResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateSupplierResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateSupplierResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateSupplierResourceLink(SupplierResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetSuppliers", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetSuppliers", parameters); + } + + return Url.Link("GetSuppliers", resourceParameters); + } } } + diff --git a/Inflow.Api/Controllers/SuppliesController.cs b/Inflow.Api/Controllers/SuppliesController.cs index e1b1543..223e571 100644 --- a/Inflow.Api/Controllers/SuppliesController.cs +++ b/Inflow.Api/Controllers/SuppliesController.cs @@ -1,4 +1,5 @@ using ClosedXML.Excel; +using Inflow.Api.Helper; using Inflow.Domain.DTOs.Supply; using Inflow.Domain.Interfaces.Services; using Inflow.Domain.ResourceParameters; @@ -18,13 +19,30 @@ public SuppliesController(ISupplyService supplyService) _supplyService = supplyService; } - [HttpGet] - public ActionResult> GetSuppliesAsync( - [FromQuery] SupplyResourceParameters supplyResourceParameters) + [HttpGet(Name = "GetSupplies")] + public IActionResult GetSuppliesAsync( + [FromQuery] SupplyResourceParameters supplyResourceParameters) { var supplies = _supplyService.GetSupplies(supplyResourceParameters); + var links = GetLinks(supplyResourceParameters, supplies.HasNextPage, supplies.HasPreviousPage); + var metadata = new + { + supplies.PageNumber, + supplies.PageSize, + supplies.HasNextPage, + supplies.HasPreviousPage, + supplies.TotalPages, + supplies.TotalCount + }; + + var result = new + { + data = supplies.Data, + links, + metadata + }; - return Ok(supplies); + return Ok(result); } [HttpGet("export")] @@ -118,5 +136,68 @@ private DataTable GetSuppliesDataTable(IEnumerable supplyDtos) return table; } + + private List GetLinks( + SupplyResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateSuppliesResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateSuppliesResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateSuppliesResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateSuppliesResourceLink(SupplyResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetSupplies", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetSupplies", parameters); + } + + return Url.Link("GetSupplies", resourceParameters); + } } } diff --git a/Inflow.Api/Controllers/SupplyItemsController.cs b/Inflow.Api/Controllers/SupplyItemsController.cs index ea9b1e6..b325e7a 100644 --- a/Inflow.Api/Controllers/SupplyItemsController.cs +++ b/Inflow.Api/Controllers/SupplyItemsController.cs @@ -1,4 +1,5 @@ -using Inflow.Domain.DTOs.SupplyItem; +using Inflow.Api.Helper; +using Inflow.Domain.DTOs.SupplyItem; using Inflow.Domain.Interfaces.Services; using Inflow.Domain.ResourceParameters; using Microsoft.AspNetCore.Mvc; @@ -16,15 +17,31 @@ public SupplyItemsController(ISupplyItemService supplyItemService) _supplyItemService = supplyItemService; } - [HttpGet] - public ActionResult> Get( - [FromQuery] SupplyItemResourceParameters supplyItemResourceParameters) + [HttpGet(Name = "GetSupplyItems")] + public IActionResult GetSupplyItemsAsync( + [FromQuery] SupplyItemResourceParameters supplyItemResourceParameters) { var supplyItems = _supplyItemService.GetSupplyItems(supplyItemResourceParameters); + var links = GetLinks(supplyItemResourceParameters, supplyItems.HasNextPage, supplyItems.HasPreviousPage); + var metadata = new + { + supplyItems.PageNumber, + supplyItems.PageSize, + supplyItems.HasNextPage, + supplyItems.HasPreviousPage, + supplyItems.TotalPages, + supplyItems.TotalCount + }; - return Ok(supplyItems); - } + var result = new + { + data = supplyItems.Data, + links, + metadata + }; + return Ok(result); + } [HttpGet("{id}", Name = "GetSupplyItemById")] public ActionResult Get(int id) { @@ -67,5 +84,67 @@ public ActionResult Delete(int id) return NoContent(); } + private List GetLinks( + SupplyItemResourceParameters resourceParameters, + bool hasNext, + bool hasPrevious) + { + List links = new(); + + links.Add(new ResourceLink( + "self", + CreateSupplItemsResourceLink(resourceParameters, ResourceType.CurrentPage), + "GET")); + + if (hasNext) + { + links.Add(new ResourceLink( + "next", + CreateSupplItemsResourceLink(resourceParameters, ResourceType.NextPage), + "GET")); + } + + if (hasPrevious) + { + links.Add(new ResourceLink( + "previous", + CreateSupplItemsResourceLink(resourceParameters, ResourceType.PreviousPage), + "GET")); + } + + foreach (var link in links) + { + var lastIndex = link.Href.IndexOf("/api"); + if (lastIndex >= 0) + { + link.Href = "https://0wn6qg77-7258.asse.devtunnels.ms" + link.Href.Substring(lastIndex); + } + } + + return links; + } + + private string? CreateSupplItemsResourceLink(SupplyItemResourceParameters resourceParameters, ResourceType type) + { + if (type == ResourceType.PreviousPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber - 1, + }; + return Url.Link("GetSupplyItems", parameters); + } + + if (type == ResourceType.NextPage) + { + var parameters = resourceParameters with + { + PageNumber = resourceParameters.PageNumber + 1, + }; + return Url.Link("GetSupplyItems", parameters); + } + + return Url.Link("GetSupplyItems", resourceParameters); + } } } diff --git a/Inflow.Domain/ResourceParameters/CategoryResourceParameters.cs b/Inflow.Domain/ResourceParameters/CategoryResourceParameters.cs index bd2cf45..157f9b6 100644 --- a/Inflow.Domain/ResourceParameters/CategoryResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/CategoryResourceParameters.cs @@ -1,9 +1,8 @@ namespace Inflow.Domain.ResourceParameters { - public class CategoryResourceParameters : ResourceParametersBase + public record CategoryResourceParameters : ResourceParametersBase { public override string OrderBy { get; set; } = "name"; - protected override int MaxPageSize { get; set; } = 50; } } diff --git a/Inflow.Domain/ResourceParameters/CustomerResourceParameters.cs b/Inflow.Domain/ResourceParameters/CustomerResourceParameters.cs index a142e31..60c49d4 100644 --- a/Inflow.Domain/ResourceParameters/CustomerResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/CustomerResourceParameters.cs @@ -1,6 +1,6 @@ namespace Inflow.Domain.ResourceParameters { - public class CustomerResourceParameters : ResourceParametersBase + public record CustomerResourceParameters : ResourceParametersBase { public override string OrderBy { get; set; } = "firstname"; } diff --git a/Inflow.Domain/ResourceParameters/ProductResourceParameters.cs b/Inflow.Domain/ResourceParameters/ProductResourceParameters.cs index 5c26fac..6206c83 100644 --- a/Inflow.Domain/ResourceParameters/ProductResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/ProductResourceParameters.cs @@ -2,7 +2,7 @@ namespace Inflow.ResourceParameters { - public class ProductResourceParameters : ResourceParametersBase + public record ProductResourceParameters : ResourceParametersBase { public override string OrderBy { get; set; } = "name"; public int? CategoryId { get; set; } diff --git a/Inflow.Domain/ResourceParameters/ResourceParametersBase.cs b/Inflow.Domain/ResourceParameters/ResourceParametersBase.cs index e90dac2..f302e02 100644 --- a/Inflow.Domain/ResourceParameters/ResourceParametersBase.cs +++ b/Inflow.Domain/ResourceParameters/ResourceParametersBase.cs @@ -1,6 +1,6 @@ namespace Inflow.Domain.ResourceParameters { - public abstract class ResourceParametersBase + public abstract record ResourceParametersBase { protected virtual int MaxPageSize { get; set; } = 25; public virtual string? SearchString { get; set; } diff --git a/Inflow.Domain/ResourceParameters/SaleItemResourceParameters.cs b/Inflow.Domain/ResourceParameters/SaleItemResourceParameters.cs index 483798f..1ef6103 100644 --- a/Inflow.Domain/ResourceParameters/SaleItemResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/SaleItemResourceParameters.cs @@ -1,6 +1,6 @@ namespace Inflow.Domain.ResourceParameters { - public class SaleItemResourceParameters : ResourceParametersBase + public record SaleItemResourceParameters : ResourceParametersBase { public override string OrderBy { get; set; } = "id"; public int? ProductId { get; set; } diff --git a/Inflow.Domain/ResourceParameters/SaleResourceParameters.cs b/Inflow.Domain/ResourceParameters/SaleResourceParameters.cs index 663cad5..d6582ae 100644 --- a/Inflow.Domain/ResourceParameters/SaleResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/SaleResourceParameters.cs @@ -1,6 +1,6 @@ namespace Inflow.Domain.ResourceParameters { - public class SaleResourceParameters : ResourceParametersBase + public record SaleResourceParameters : ResourceParametersBase { public int? CustomerId { get; set; } public DateTime? SaleDate { get; set; } diff --git a/Inflow.Domain/ResourceParameters/SupplierResourceParameters.cs b/Inflow.Domain/ResourceParameters/SupplierResourceParameters.cs index 4290255..fe56824 100644 --- a/Inflow.Domain/ResourceParameters/SupplierResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/SupplierResourceParameters.cs @@ -1,6 +1,6 @@ namespace Inflow.Domain.ResourceParameters { - public class SupplierResourceParameters : ResourceParametersBase + public record SupplierResourceParameters : ResourceParametersBase { public override string OrderBy { get; set; } = "firstname"; } diff --git a/Inflow.Domain/ResourceParameters/SupplyItemResourceParameters.cs b/Inflow.Domain/ResourceParameters/SupplyItemResourceParameters.cs index e831b3a..3b1ddbc 100644 --- a/Inflow.Domain/ResourceParameters/SupplyItemResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/SupplyItemResourceParameters.cs @@ -1,6 +1,6 @@ namespace Inflow.Domain.ResourceParameters { - public class SupplyItemResourceParameters : ResourceParametersBase + public record SupplyItemResourceParameters : ResourceParametersBase { public int? ProductId { get; set; } public int? SupplyId { get; set; } diff --git a/Inflow.Domain/ResourceParameters/SupplyResourceParameters.cs b/Inflow.Domain/ResourceParameters/SupplyResourceParameters.cs index d960297..baf053a 100644 --- a/Inflow.Domain/ResourceParameters/SupplyResourceParameters.cs +++ b/Inflow.Domain/ResourceParameters/SupplyResourceParameters.cs @@ -1,6 +1,6 @@ namespace Inflow.Domain.ResourceParameters { - public class SupplyResourceParameters : ResourceParametersBase + public record SupplyResourceParameters : ResourceParametersBase { public int? SupplierId { get; set; } public DateTime? SupplyDate { get; set; }