刚实习 记录下。
在添加的时候 这条为true 就查询出所有为true的修改为false 然后在给添加的值
if (model.IsDefault)
{
var where = PredicateBuilder.True<WxAccount>();
where = where.And(a => a.Deleted == false);
where = where.And(a => a.IsDefault==true); //查默认true的条件 我这用的委托
var page = await _wxAccountService.GetPagedList(where, 1, 1000);
if (page.Count>0)
{
foreach (var item in page)
{
item.IsDefault = false;
await _wxAccountService.UpdateViewModel(item);
}
}
}
model.CreatedOn = DateTime.Now;
model.CreatorUserId = GetUserId();
model.UpdatedOn = DateTime.Now;
model.ModifyUserId = GetUserId();
await _wxAccountService.AddViewModel(model);
return Redirect($"/{AreaName}/{ControllerName}/Index");
//修改 只需要判断 当前为false时的情况 修改为true
//查询出此时为true的这一条改为false 在修改
if (model.IsDefault)
{
var where = PredicateBuilder.True<WxAccount>();
where = where.And(a => a.Deleted == false);
where = where.And(a => a.IsDefault == true);
var page = await _wxAccountService.GetPagedList(where, 1, 1000);
if (page.Count > 0)
{
foreach (var item in page)
{
item.IsDefault = false;
await _wxAccountService.UpdateViewModel(item);
}
}
}
model.UpdatedOn = DateTime.Now;
model.ModifyUserId = GetUserId();
model.ModifyBy = GetUserName();
await _wxAccountService.UpdateViewModel(model);