59 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| // ***********************************************************************
 | |
| // <copyright file="IFurnitureBaseProvider.cs">
 | |
| //     Core.Inventory
 | |
| // </copyright>
 | |
| // ***********************************************************************
 | |
| using Core.Adapters.Lib;
 | |
| using Core.Blueprint.Mongo;
 | |
| using Core.Inventory.Domain.Contexts.Inventory.Request;
 | |
| 
 | |
| namespace Core.Inventory.Provider.Contracts
 | |
| {
 | |
|     /// <summary>
 | |
|     /// Interface for managing base furniture models.
 | |
|     /// </summary>
 | |
|     public interface IFurnitureBaseProvider
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Creates a new FurnitureBase entity.
 | |
|         /// </summary>
 | |
|         /// <param name="newFurniture">The DTO representing the furniture base.</param>
 | |
|         /// <param name="cancellationToken">Cancellation token.</param>
 | |
|         /// <returns>The created <see cref="FurnitureBase"/>.</returns>
 | |
|         ValueTask<FurnitureBase> CreateAsync(FurnitureBaseRequest newFurniture, CancellationToken cancellationToken);
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets a furniture base entity by its ID.
 | |
|         /// </summary>
 | |
|         /// <param name="id">The unique identifier (_id) of the furniture base.</param>
 | |
|         /// <param name="cancellationToken">Cancellation token.</param>
 | |
|         /// <returns>The corresponding <see cref="FurnitureBase"/>.</returns>
 | |
|         ValueTask<FurnitureBase> GetByIdAsync(string id, CancellationToken cancellationToken);
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Retrieves all furniture base entries.
 | |
|         /// </summary>
 | |
|         /// <param name="cancellationToken">Cancellation token.</param>
 | |
|         /// <returns>A list of <see cref="FurnitureBase"/>.</returns>
 | |
|         ValueTask<IEnumerable<FurnitureBase>> GetAllAsync(CancellationToken cancellationToken);
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Updates an existing furniture base by ID.
 | |
|         /// </summary>
 | |
|         /// <param name="id">The furniture base identifier.</param>
 | |
|         /// <param name="entity">The updated entity data.</param>
 | |
|         /// <param name="cancellationToken">Cancellation token.</param>
 | |
|         /// <returns>The updated <see cref="FurnitureBase"/>.</returns>
 | |
|         ValueTask<FurnitureBase> UpdateAsync(string id, FurnitureBase entity, CancellationToken cancellationToken);
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Changes the status of a furniture base entity.
 | |
|         /// </summary>
 | |
|         /// <param name="id">The entity identifier.</param>
 | |
|         /// <param name="newStatus">The new status to apply.</param>
 | |
|         /// <param name="cancellationToken">Cancellation token.</param>
 | |
|         /// <returns>The updated <see cref="FurnitureBase"/>.</returns>
 | |
|         ValueTask<FurnitureBase> ChangeStatusAsync(string id, StatusEnum newStatus, CancellationToken cancellationToken);
 | |
|     }
 | |
| }
 |