using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Strata.Code.Business.Services.Interfaces
{
    public class BudgetConfigDefaultSettingDto
    {
        public int SettingId { get; set; }

        public string Name { get; set; } = null!;

        public string Description { get; set; } = null!;

        public bool DefaultValue { get; set; }

        public DateOnly DateCreated { get; set; }
    }

    public interface IBudgetConfigDefaultSettingService
    {
        Task<IEnumerable<BudgetConfigDefaultSettingDto>> GetAllAsync();
        Task<BudgetConfigDefaultSettingDto?> GetByIdAsync(int id);
        Task<BudgetConfigDefaultSettingDto> CreateAsync(BudgetConfigDefaultSettingDto setting);
        Task<BudgetConfigDefaultSettingDto?> UpdateAsync(BudgetConfigDefaultSettingDto setting);
        Task<bool> DeleteAsync(int id);
    }
}
