public JsonResult FarmList(FarmListInput input) { using (var result = new ResponseResult <List <FarmListOutput> >()) { var predicate = PredicateBuilder.True <T_DEMONSTRATION_FARM>(); predicate = predicate.And(m => !m.IsDeleted); var areaList = input.Address.Split(new char[] { '|' }); if (!areaList[0].IsNullOrEmpty()) { var addrAid = areaList[0]; predicate = predicate.And(m => m.ProvinceAid == addrAid); } if (!areaList[1].IsNullOrEmpty()) { var addrAid = areaList[1]; predicate = predicate.And(m => m.CityAid == addrAid); } if (!areaList[2].IsNullOrEmpty()) { var addrAid = areaList[2]; predicate = predicate.And(m => m.RegionAid == addrAid); } var list = _farmService.GetAll(predicate); result.Entity = Mapper.Map <List <FarmListOutput> >(list); result.Message = "获取农场列表成功!"; result.TotalNums = list.Count(); return(new JsonResultEx(result)); } }
public JsonResult FarmList(FarmListInput input) { var parameter = ModelHelper.GetPropertyDictionary <FarmListInput>(input); var result = PostStandardWithSameControllerAction <List <FarmListOutput> >(this, parameter); return(new JsonResultEx(result)); }
public ActionResult FarmList(FarmListInput input) { CheckPermission(GetLoginInfo().User.Id, CurrentUrl); if (input.PageIndex == 0) { input.PageIndex = 1; input.PageSize = 10; } var parameter = ModelHelper.GetPropertyDictionary <FarmListInput>(input); var result = PostStandardWithSameControllerAction <List <FarmListOutput> >(this, parameter); if (result.IsSuccess) { var model = new MultiModel <List <FarmListOutput> >(result.IsSuccess, input.PageIndex, input.PageSize, (int)result.TotalNums, result.Entity); return(View(model)); } return(View()); }
public JsonResult FarmList(FarmListInput input) { CheckPermission(); using (var result = new ResponseResult <List <FarmListOutput> >()) { var predicate = PredicateBuilder.True <T_DEMONSTRATION_FARM>(); var isAdmin = false; if (!this.UserInfo.IsSuperAdmin) { //获取用户角色信息 var roles = adminUserRepository.GetRoles(UserId); if (roles.Any(m => m.RoleID == (int)RoleType.Admin)) { isAdmin = true; } if (!isAdmin) { //按经销商处理 var areaList = _areaService.GetManageArea("-1", UserId); var provinceIdList = areaList.Where(m => m.ParentAID == "0").Select(m => m.AID).ToArray(); var cityIdList = areaList.Where(m => provinceIdList.Contains(m.ParentAID)).Select(m => m.AID).ToArray(); var regionIdList = areaList.Where(m => cityIdList.Contains(m.ParentAID)).Select(m => m.AID).ToArray(); //当地区条件未指定时 if (input.ProvinceAid.IsNullOrEmpty() && input.CityAid.IsNullOrEmpty() && input.RegionAid.IsNullOrEmpty() ) { predicate = predicate.And(m => provinceIdList.Contains(m.ProvinceAid) && cityIdList.Contains(m.CityAid) && regionIdList.Contains(m.RegionAid)); } else { //省份过滤 if (!input.ProvinceAid.IsNullOrEmpty() && provinceIdList.Contains(input.ProvinceAid)) { predicate = predicate.And(m => m.ProvinceAid == input.ProvinceAid); } else { predicate = predicate.And(m => provinceIdList.Contains(m.ProvinceAid)); } //城市过滤 if (!input.CityAid.IsNullOrEmpty() && cityIdList.Contains(input.CityAid)) { predicate = predicate.And(m => m.CityAid == input.CityAid); } else { predicate = predicate.And(m => cityIdList.Contains(m.CityAid)); } //区县过滤 if (!input.RegionAid.IsNullOrEmpty() && regionIdList.Contains(input.RegionAid)) { predicate = predicate.And(m => m.RegionAid == input.RegionAid); } else { predicate = predicate.And(m => regionIdList.Contains(m.RegionAid)); } } } } if (input.IsDeleted.HasValue) { predicate = predicate.And(m => m.IsDeleted == input.IsDeleted.Value); } if (input.IsOpen.HasValue) { predicate = predicate.And(m => m.IsOpen == input.IsOpen.Value); } if (!string.IsNullOrEmpty(input.Keywords)) { predicate = predicate.And(m => m.Name.Contains(input.Keywords)); } if (this.UserInfo.IsSuperAdmin || isAdmin) { if (input.OpenStartDate != null) { predicate = predicate.And(m => m.OpenStartDate >= input.OpenStartDate.Value); } if (input.OpenEndDate != null) { predicate = predicate.And(m => m.OpenEndDate <= input.OpenEndDate.Value); } if (!input.ProvinceAid.IsNullOrEmpty()) { predicate = predicate.And(m => m.ProvinceAid == input.ProvinceAid); } if (!input.CityAid.IsNullOrEmpty()) { predicate = predicate.And(m => m.CityAid == input.CityAid); } if (!input.RegionAid.IsNullOrEmpty()) { predicate = predicate.And(m => m.RegionAid == input.RegionAid); } } long totalCount; var list = _farmService.GetAll <DateTime>(predicate, null, m => m.CreateTime, input.PageIndex, input.PageSize, out totalCount); if (list != null && list.Any()) { var areaDictionary = new Dictionary <string, string>(); list.Select(m => { if (!string.IsNullOrEmpty(m.ProvinceAid) && !areaDictionary.ContainsKey(m.ProvinceAid)) { areaDictionary.Add(m.ProvinceAid, string.Empty); } if (!string.IsNullOrEmpty(m.CityAid) && !areaDictionary.ContainsKey(m.CityAid)) { areaDictionary.Add(m.CityAid, string.Empty); } if (!string.IsNullOrEmpty(m.RegionAid) && !areaDictionary.ContainsKey(m.RegionAid)) { areaDictionary.Add(m.RegionAid, string.Empty); } return(m); }).Count(); var areaIdArray = areaDictionary.Keys.ToArray(); var areaList = _areaService.GetAll(m => areaIdArray.Contains(m.AID)); result.Entity = Mapper.Map <List <FarmListOutput> >(list); foreach (var farm in result.Entity) { if (!string.IsNullOrEmpty(farm.Province) && areaIdArray.Contains(farm.Province)) { var areaInfo = areaList.FirstOrDefault(m => m.AID == farm.Province); if (areaInfo != null) { farm.Province = areaInfo.DisplayName; } else { farm.Province = ""; } } if (!string.IsNullOrEmpty(farm.City) && areaIdArray.Contains(farm.City)) { var areaInfo = areaList.FirstOrDefault(m => m.AID == farm.City); if (areaInfo != null) { farm.City = areaInfo.DisplayName; } else { farm.City = ""; } } if (!string.IsNullOrEmpty(farm.Region) && areaIdArray.Contains(farm.Region)) { var areaInfo = areaList.FirstOrDefault(m => m.AID == farm.Region); if (areaInfo != null) { farm.Region = areaInfo.DisplayName; } else { farm.Region = ""; } } } } SetJosnResult <List <FarmListOutput> >(result, input.PageIndex, input.PageSize, totalCount, "获取示范农场列表成功!"); return(new JsonResultEx(result)); } }