using Nirvana.Common;
using Nirvana.Common.ApiBase;
using Nirvana.Data;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using YBDevice.Entity;
namespace YBDevice.Api.DBServices
{
///
/// 家庭成员管理
///
public partial class FamilyApp : BaseApp
{
///
/// 家庭成员列表
///
///
public async Task GetListAsync()
{
using (var dbClient = ReadDbContext.GetInstance())
{
var tempquery = dbClient.Queryable()
.Where(x => x.UserId == authInfo.UserId && x.Status != -1);
var result = await tempquery
.OrderBy(x => x.Createtime, OrderByType.Desc)
.ToListAsync();
return new ResultInfo(ResultState.SUCCESS, "success", result);
}
}
///
/// 家庭成员信息修改
///
///
///
public async Task SubmitAsync(FamilySubmitModel model)
{
if (!string.IsNullOrEmpty(model.name))
{
return new ResultInfo(ResultState.FAIL, "名称不可为空");
}
if (model.height <= 50)
{
return new ResultInfo(ResultState.FAIL, "身高不可小于50厘米");
}
if (model.birthday <= DateTime.Now.Date)
{
return new ResultInfo(ResultState.FAIL, "出生年月不可大于当前日期");
}
using (var dbClient = ReadDbContext.GetInstance())
{
int age = model.birthday.ToAge();
if (model.id > 0)
{
await dbClient.Updateable().SetColumns(x => new YB_Family
{
Age = age,
Sex = model.sex,
Birthday = model.birthday,
Height = model.height,
Name = model.name,
Type = model.type
}).Where(x => x.Id == model.id).ExecuteCommandAsync();
return new ResultInfo(ResultState.SUCCESS, "资料更新成功");
}
else
{
await dbClient.Insertable(new YB_Family
{
Age = age,
Sex = model.sex,
Birthday = model.birthday,
Height = model.height,
Name = model.name,
Type = model.type,
Status = 1,
IsSelf = 0,
Createtime = DateTime.Now,
UserId = authInfo.UserId,
Weight = 0,
LastHeartTime = null
}).ExecuteCommandAsync();
return new ResultInfo(ResultState.SUCCESS, "成员添加成功");
}
}
}
///
/// 家庭成员删除
///
/// 家庭成员ID
///
public async Task DeleteAsync(int id)
{
using (var dbClient = ReadDbContext.GetInstance())
{
if (!await dbClient.Queryable().AnyAsync(x => x.Id == id))
{
return new ResultInfo(ResultState.FAIL, "家庭成员未找到");
}
await dbClient.Updateable().SetColumns(x => new YB_Family
{
Status = -1
}).Where(x => x.Id == id).ExecuteCommandAsync();
return new ResultInfo(ResultState.SUCCESS, "删除成功");
}
}
///
/// 家庭成员详情
///
///
///
public async Task DetailAsync(int id)
{
using (var dbClient = ReadDbContext.GetInstance())
{
var data = await dbClient.Queryable().FirstAsync(x => x.Id == id);
return new ResultInfo(ResultState.SUCCESS, "success", data);
}
}
///
/// 设置目标体重
///
///
///
public async Task SetTargetAsync(YB_FamilyTarget model)
{
using (var dbClient = ReadDbContext.GetInstance())
{
if (await dbClient.Queryable().AnyAsync(x => x.familyid == model.familyid))
{
await dbClient.Updateable().SetColumns(x => new YB_FamilyTarget
{
time = model.time,
weight = model.weight
}).Where(x => x.familyid == model.familyid).ExecuteCommandAsync();
}
else
{
await dbClient.Insertable(model).ExecuteCommandAsync();
}
return new ResultInfo(ResultState.SUCCESS, "设置成功");
}
}
}
}