namespace adas_core.Domain.Utils.Interfaces;

public interface IMappingUtils
{
    /// <summary>
    /// Searches for an entity by its code within the specified category and returns its type, name, and group.
    /// </summary>
    /// <param name="code">The code used to look up the entity.</param>
    /// <param name="category">The category used to filter the search.</param>
    /// <returns>A nullable tuple containing the type, name, and group of the found entity, or <c>null</c> if no match is found.</returns>
    (string type, string name, string group)? SearchByCode(object code, string category);
    /// <summary>
    /// Retrieves the complexity value associated with the specified name, optionally applying a weight.
    /// </summary>
    /// <param name="name">The name used to look up the complexity value.</param>
    /// <param name="peso">An optional weight value to apply to the complexity calculation.</param>
    /// <returns>The complexity value as an integer.</returns>
    int GetComplexityValue(string name, double? peso = null);

    // void ConvertStringToDoubleInMapping();
}