public async Task <ResponseBase> SaveUserDataLimit([FromBody] SaveUserDataLimitRequest request) { try { var action = new SaveUserDataLimitAction(_sysUserBll); return(await action.ProcessAction(request)); } catch (Exception ex) { Log.Error(request, ex, this.GetType()); return(ResponseBase.CodeError()); } }
/// <summary> /// 获取门店限制设置 /// </summary> /// <param name="request"></param> /// <returns></returns> private string GetDataLimitShop(SaveUserDataLimitRequest request) { var newDataLimitShop = string.Empty; if (request.Shops != null && request.Shops.Any()) { var shops = new StringBuilder(); request.Shops.ForEach(p => { shops.AppendFormat("{0},", p.Id); }); newDataLimitShop = shops.ToString().TrimEnd(','); } return(newDataLimitShop); }
/// <summary> /// 获取地区限制设置 /// </summary> /// <param name="request"></param> /// <returns></returns> private string GetDataLimitArea(SaveUserDataLimitRequest request) { var newDataLimitArea = string.Empty; if (request.Areas != null && request.Areas.Any()) { var areas = new StringBuilder(); request.Areas.ForEach(p => { areas.AppendFormat("{0}|{1},", p.Id, p.Level); }); newDataLimitArea = areas.ToString().TrimEnd(','); } return(newDataLimitArea); }
/// <summary> /// 设置用户数据权限 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ResponseBase> ProcessAction(SaveUserDataLimitRequest request) { var newDataLimitArea = string.Empty; var newDataLimitShop = string.Empty; switch (request.Type) { case (int)DataLimitTypeEnum.All: break; case (int)DataLimitTypeEnum.Area: newDataLimitArea = GetDataLimitArea(request); break; case (int)DataLimitTypeEnum.Shop: newDataLimitShop = GetDataLimitShop(request); break; } await _sysUserBll.SetDataLimit(request.UserId, request.Type, newDataLimitArea, newDataLimitShop); return(ResponseBase.Success()); }