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, "设置成功"); } } } }