/// <summary> /// 保存Label信息(新增/更新) /// </summary> /// <param name="updateForeignKey">更新时是否更新外键信息</param> /// <param name="dtos">要保存的LabelDto信息</param> /// <returns>业务操作集合</returns> public async Task <OperationResult> SaveLabels(bool updateForeignKey = false, params LabelDto[] dtos) { try { dtos.CheckNotNull("dtos"); var addDtos = dtos.Where(p => p.Id == 0).ToArray(); var updateDtos = dtos.Where(p => p.Id != 0).ToArray(); LabelRepo.UnitOfWork.TransactionEnabled = true; Action <LabelDto> checkAction = null; Func <LabelDto, Label, Label> updateFunc = null; if (addDtos.Length > 0) { LabelRepo.Insert(addDtos, checkAction, updateFunc); } if (updateDtos.Length > 0) { LabelRepo.Update(updateDtos, checkAction, updateFunc); } await LabelRepo.UnitOfWork.SaveChangesAsync(); return(new OperationResult(OperationResultType.Success, "保存成功")); } catch (Exception e) { return(new OperationResult(OperationResultType.Error, e.Message)); } }
/// <summary> /// 删除Label信息 /// </summary> /// <param name="ids">要删除的Id编号</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> DeleteLabels(params int[] ids) { ids.CheckNotNull("ids"); await LabelRepo.RecycleAsync(p => ids.Contains(p.Id)); return(new OperationResult(OperationResultType.Success, "删除成功")); }
/// <summary> /// 保存用户设置标签 /// </summary> /// <param name="userId">用户ID</param> /// <param name="ids">用户设置的标签ID</param> /// <returns></returns> public OperationResult SaveLabels(int userId, int[] ids) { ids.CheckNotNull("ids"); var user = UserInfoRepo.GetByKey(userId); if (user == null) { return(BodeResult.ValidError("用户不存在")); } user.Labels = LabelRepo.GetByPredicate(m => ids.Contains(m.Id)).ToList(); return(UserInfoRepo.Update(user) == 0 ? BodeResult.NoChanged() : BodeResult.Success()); }