Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        public JsonResult FarmList(FarmListInput input)
        {
            var parameter = ModelHelper.GetPropertyDictionary <FarmListInput>(input);
            var result    = PostStandardWithSameControllerAction <List <FarmListOutput> >(this, parameter);

            return(new JsonResultEx(result));
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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));
            }
        }