namespace MealPlan.Api.DTOs.Recipe;

/// <summary>Full recipe detail including ingredients and ordered preparation steps.</summary>
public class RecipeDetailDto
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public int MealCategory { get; set; }
    public int? Calories { get; set; }
    public decimal? Protein { get; set; }
    public decimal? Fat { get; set; }
    public decimal? Carbs { get; set; }
    public int? PrepTimeMinutes { get; set; }

    public List<IngredientDto> Ingredients { get; set; } = new();
    public List<RecipeStepDto> Steps { get; set; } = new();
}

public class IngredientDto
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public decimal? AmountGrams { get; set; }
    public string? Unit { get; set; }
    public int SortOrder { get; set; }
    public int? CatalogItemId { get; set; }
}

public class RecipeStepDto
{
    public int Id { get; set; }
    public int StepNumber { get; set; }
    public string Description { get; set; } = string.Empty;
}
