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

namespace YBDevice.NApi.Application.BusinessClient
{
    /// <summary>
    /// 查询用户测量记录
    /// </summary>
   public class MeasureUserQueryDto
    {
        /// <summary>
        /// 开始时间
        /// </summary>
        public string starttime { get; set; }
        /// <summary>
        /// 结束时间
        /// </summary>
        public string endtime { get; set; }
        /// <summary>
        /// 测量记录ID
        /// </summary>
        public Guid id { get; set; }
    }
    /// <summary>
    /// 用户体重记录
    /// </summary>
    public class MeasureUserWeightDto
    {
        /// <summary>
        /// 体重
        /// </summary>
        public decimal weight { get; set; }
        /// <summary>
        /// 时间
        /// </summary>
        public string time { get; set; }
    }

    /// <summary>
    /// 用户测量记录
    /// </summary>
    public class MeasureUserListDto: MeasureDto
    {
        /// <summary>
        /// 粉丝ID
        /// </summary>
        public string fansid { get; set; }
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string headimg { get; set; }
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string nickname { get; set; }
        /// <summary>
        /// 用户手机号
        /// </summary>
        public string phone { get; set; }
        /// <summary>
        /// 设备序列号
        /// </summary>
        public string facecode { get; set; }
        /// <summary>
        /// 设备名称
        /// </summary>
        public string devname { get; set; }
        /// <summary>
        /// 设备ID
        /// </summary>
        public int equid { get; set; }
        /// <summary>
        /// 性别,1-男,2-女,0-未知
        /// </summary>
        public GenderType sex { get; set; }
        /// <summary>
        /// 记录ID
        /// </summary>
        public Guid id { get; set; }
        /// <summary>
        /// 注册用户id
        /// </summary>
        public int userid { get; set; }
        /// <summary>
        /// 家庭成员id
        /// </summary>
        public int familyid { get; set; }
        /// <summary>
        /// 1-四电极,2-八电极
        /// </summary>
        public int Type { get; set; }
        /// <summary>
        /// 客户ID
        /// </summary>
        public int BusinessId { get; set; } = 0;
        /// <summary>
        /// 客户名称
        /// </summary>
        public string BusinessName { get; set; } = "";
    }
    /// <summary>
    /// 测量记录
    /// </summary>
    public class MeasureDto
    {
        /// <summary>
        /// 体质类型
        /// </summary>
        public string BodyType { get; set; } = "";
        /// <summary>
        /// 测量时间
        /// </summary>
        public string createtime { get; set; }
        /// <summary>
        /// 身高
        /// </summary>
        public decimal Height { get; set; }
        /// <summary>
        /// 脂肪率
        /// </summary>
        public decimal fat_r { get; set; }
        /// <summary>
        /// 肌肉率
        /// </summary>
        public decimal muscle { get; set; }
        /// <summary>
        /// 水份
        /// </summary>
        public decimal water { get; set; }
        /// <summary>
        /// 骨重
        /// </summary>
        public decimal bone { get; set; }
        /// <summary>
        /// 基础代谢
        /// </summary>
        public decimal kcal { get; set; }
        /// <summary>
        /// 脂肪重量
        /// </summary>
        public decimal fat_w { get; set; }
        /// <summary>
        /// 内脂
        /// </summary>
        public decimal visceral { get; set; }
        /// <summary>
        /// 蛋白质
        /// </summary>
        public decimal protein { get; set; }
        /// <summary>
        /// 体龄
        /// </summary>
        public int bodyage { get; set; }
        /// <summary>
        /// bmi
        /// </summary>
        public decimal bmi { get; set; }
        /// <summary>
        /// 分数
        /// </summary>
        public decimal cmi { get; set; }
        /// <summary>
        /// 皮下脂肪
        /// </summary>
        public decimal sfr { get; set; }
        /// <summary>
        /// 肌肉量
        /// </summary>
        public decimal muscleval { get; set; }
        /// <summary>
        /// 蛋白量
        /// </summary>
        public decimal proteinval { get; set; }
        /// <summary>
        /// 去脂体重
        /// </summary>
        public decimal lbm { get; set; }
        /// <summary>
        /// 体型,参考体型枚举
        /// </summary>
        public string body { get; set; }
        /// <summary>
        /// 肥胖等级,参考等级枚举
        /// </summary>
        public string fatlevel { get; set; }
        /// <summary>
        /// 体重
        /// </summary>
        public decimal weight { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public string Age { get; set; }
        /// <summary>
        /// 月龄
        /// </summary>
        public int Month { get; set; }

        /// <summary>
        /// 躯干肌肉率,%
        /// </summary>
        public decimal muscleratetrunk { get; set; } = 0;

        /// <summary>
        /// 左脚肌肉率,%
        /// </summary>
        public decimal musclerateleftleg { get; set; } = 0;

        /// <summary>
        /// 右脚肌肉率,%
        /// </summary>
        public decimal muscleraterightleg { get; set; } = 0;
        /// <summary>
        /// 左手肌肉率,%
        /// </summary>
        public decimal musclerateleftarm { get; set; } = 0;
        /// <summary>
        /// 右手肌肉率,%
        /// </summary>
        public decimal muscleraterightarm { get; set; } = 0;

        /// <summary>
        /// 躯干脂肪率,%
        /// </summary>
        public decimal bodyfatraterunk { get; set; } = 0;
        /// <summary>
        /// 左脚脂肪率,%
        /// </summary>
        public decimal bodyfatrateleftleg { get; set; } = 0;
        /// <summary>
        /// 右脚脂肪率,%
        /// </summary>
        public decimal bodyfatraterightleg { get; set; } = 0;
        /// <summary>
        /// 左手脂肪率,%
        /// </summary>
        public decimal bodyfatrateleftarm { get; set; } = 0;
        /// <summary>
        /// 右手脂肪率,%
        /// </summary>
        public decimal bodyfatraterightarm { get; set; } = 0;
        /// <summary>
        /// 躯干肌肉量,kg
        /// </summary>
        public decimal musclekgtrunk { get; set; } = 0;
        /// <summary>
        /// 左脚肌肉量,kg
        /// </summary>
        public decimal musclekgleftleg { get; set; } = 0;
        /// <summary>
        /// 右脚肌肉量,kg
        /// </summary>
        public decimal musclekgrightleg { get; set; } = 0;
        /// <summary>
        /// 左手肌肉量,kg
        /// </summary>
        public decimal musclekgleftarm { get; set; } = 0;
        /// <summary>
        /// 右手肌肉量,kg
        /// </summary>
        public decimal musclekgrightarm { get; set; } = 0;
        /// <summary>
        /// 躯干脂肪量,kg
        /// </summary>
        public decimal bodyfatkgtrunk { get; set; } = 0;
        /// <summary>
        /// 左脚脂肪量,kg
        /// </summary>
        public decimal bodyfatkgleftleg { get; set; } = 0;
        /// <summary>
        /// 右脚脂肪量,kg
        /// </summary>
        public decimal bodyfatkgrightleg { get; set; } = 0;
        /// <summary>
        /// 左手脂肪量,kg
        /// </summary>
        public decimal bodyfatkgleftarm { get; set; } = 0;
        /// <summary>
        /// 右手脂肪量,kg
        /// </summary>
        public decimal bodyfatkgrightarm { get; set; } = 0;

        /// <summary>
        /// 理想体重,kg
        /// </summary>
        public decimal idealweight { get; set; } = 0;
    }

    /// <summary>
    /// 用户测量记录
    /// </summary>
    public class MeasureUserDto
    {
        /// <summary>
        /// 第一次测量的体重
        /// </summary>
        public decimal FirstWeight { get; set; }
        /// <summary>
        /// 第一次测量的身高
        /// </summary>
        public decimal FirstHeight { get; set; }
        /// <summary>
        /// 最近一次测量的体重
        /// </summary>
        public decimal LastWeight { get; set; }
        /// <summary>
        /// 最近一次测量的身高
        /// </summary>
        public decimal LastHeight { get; set; }
        /// <summary>
        /// 最近一次测量时间
        /// </summary>
        public string LastResultTime { get; set; }
        /// <summary>
        /// 第一次测量时间
        /// </summary>
        public string FirstResultTime { get; set; }
        /// <summary>
        /// 第一次到最近的体重变化
        /// </summary>
        public decimal Weight { get; set; }

        /// <summary>
        /// 第一次到最近的身高变化
        /// </summary>
        public decimal Height { get; set; }
        /// <summary>
        /// 累计测量次数
        /// </summary>
        public int TotalResultCnt { get; set; }

        /// <summary>
        /// 今日测量次数
        /// </summary>
        public int TodayResultCnt { get; set; }

        /// <summary>
        /// 测量天数
        /// </summary>
        public int Day { get; set; } = 0;
    }
}
