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

namespace YBDevice.Body.Level
{
    /// <summary>
    /// 获取等级标准信息
    /// </summary>
    public interface ILevelService
    {
        /// <summary>
        /// 标准
        /// </summary>
        /// <param name="sex">性别,1-男,2-女</param>
        /// <param name="month">月龄</param>
        /// <param name="value">值</param>
        /// <param name="type">1-bmi,2-身高,3-体重,4-头围</param>
        /// <returns></returns>
        Task<LevelS2SDto> LevelAsync(GenderType sex, decimal month, decimal value, LevelType type);

        /// <summary>
        /// 标准
        /// </summary>
        /// <param name="sex">性别,1-男,2-女</param>
        /// <param name="brithday">出生年龄</param>
        /// <param name="value">值</param>
        /// <param name="type">1-bmi,2-身高,3-体重,4-头围</param>
        /// <returns></returns>
        Task<LevelS2SDto> LevelAsync(GenderType sex, DateTime? brithday, decimal value, LevelType type);

        /// <summary>
        /// 标准
        /// </summary>
        /// <param name="sex">性别,1-男,2-女</param>
        /// <param name="brithday">出生年龄</param>
        /// <param name="value">值</param>
        /// <param name="type">1-bmi,2-身高,3-体重,4-头围</param>
        /// <returns></returns>
        Task<LevelS2SDto> LevelAsync(GenderType sex, DateTime brithday, decimal value, LevelType type);
    }
}
