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 ResultApp : BaseApp
{
///
/// 增加测量记录
///
///
///
public async Task MeasureAsync(MeasureSubmitModel model)
{
if (model.height <= 0)
{
return new ResultInfo(ResultState.FAIL, "身高不可小于0");
}
if (model.weight <= 0)
{
return new ResultInfo(ResultState.FAIL, "体重不可小于0");
}
if (string.IsNullOrEmpty(model.ecode))
{
return new ResultInfo(ResultState.FAIL, "设备码不可为空");
}
using (var dbClient = ReadDbContext.GetInstance())
{
//检查设备是否存在
var equ = await dbClient.Queryable().AnyAsync(x => x.Ecode == model.ecode);
if (!equ)
{
return new ResultInfo(ResultState.FAIL, "设备未找到");
}
//增加记录
await dbClient.Ado.UseStoredProcedure().ExecuteCommandAsync("proc_insertresult", new { });
//计算出本次测量结果的值并返回
return new ResultInfo(ResultState.SUCCESS, "success");
}
}
///
/// 获取历史记录
///
/// 查询参数
///
public async Task> GetHistoryListAsync(ParamQuery param)
{
using (var dbClient = ReadDbContext.GetInstance())
{
int familyid = param.keyword.ToInt();
var tempquery = dbClient.Queryable().Where(x => x.FamilyId == familyid);
RefAsync totalnum = 0;
var query = await tempquery.OrderBy(x => x.createtime, OrderByType.Desc).ToPageListAsync(param.page, param.pagesize, totalnum);
return new PageParms
{
page = param.page,
Items = query,
totalnum = totalnum,
limit = param.pagesize
};
}
}
}
}