public async Task <CityAreaChartDto> GetCityDDChartDataAsync()
        {
            CityAreaChartDto result = new CityAreaChartDto();

            result.list = new List <AreaChartDto>();

            AreaChartDto actual = new AreaChartDto();

            actual.GroupName = "落实面积";
            actual.AreaName  = "广元市";
            actual.Area      = await _growerRepository.GetAll().SumAsync(v => v.ActualArea ?? 0);

            AreaChartDto expected = new AreaChartDto();

            expected.GroupName = "约定面积";
            expected.AreaName  = "广元市";
            expected.Area      = await _growerRepository.GetAll().SumAsync(v => v.PlantingArea ?? 0);

            result.list.Add(expected);
            result.list.Add(actual);
            result.Expected = expected.Area;
            result.Actual   = actual.Area;
            return(result);
        }
        public async Task <DistrictAreaChartDto> GetDistrictDDChartDataAsync()
        {
            //var actual = await (_growerRepository.GetAll().GroupBy(v => v.AreaCode)
            //    .Select(v => new AreaChartDto()
            //    {
            //        GroupName = "落实面积",
            //        Area = v.Sum(a => a.ActualArea ?? 0),
            //        AreaName = v.Key.ToString()
            //    })).AsNoTracking().ToListAsync();

            //var expected = await (_growerRepository.GetAll().GroupBy(v => v.AreaCode)
            //   .Select(v => new AreaChartDto()
            //   {
            //       GroupName = "约定面积",
            //       Area = v.Sum(a => a.PlantingArea??0),
            //       AreaName = v.Key.ToString()
            //   })).AsNoTracking().ToListAsync();

            //List<AreaChartDto> list = new List<AreaChartDto>();
            //list.AddRange(expected);
            //list.AddRange(actual);
            //return list;
            DistrictAreaChartDto result = new DistrictAreaChartDto();

            result.list = new List <AreaChartDto>();

            //昭化
            AreaChartDto zhExpected = new AreaChartDto();

            zhExpected.GroupName = "约定面积";
            zhExpected.AreaName  = "昭化区";
            zhExpected.Area      = await _growerRepository.GetAll().Where(v => v.AreaCode == GYEnums.AreaCodeEnum.昭化区).SumAsync(v => v.PlantingArea ?? 0);

            AreaChartDto zhActual = new AreaChartDto();

            zhActual.GroupName = "落实面积";
            zhActual.AreaName  = "昭化区";
            zhActual.Area      = await _growerRepository.GetAll().Where(v => v.AreaCode == GYEnums.AreaCodeEnum.昭化区).SumAsync(v => v.ActualArea ?? 0);

            //剑阁
            AreaChartDto jgExpected = new AreaChartDto();

            jgExpected.GroupName = "约定面积";
            jgExpected.AreaName  = "剑阁县";
            jgExpected.Area      = await _growerRepository.GetAll().Where(v => v.AreaCode == GYEnums.AreaCodeEnum.剑阁县).SumAsync(v => v.PlantingArea ?? 0);

            AreaChartDto jgActual = new AreaChartDto();

            jgActual.GroupName = "落实面积";
            jgActual.AreaName  = "剑阁县";
            jgActual.Area      = await _growerRepository.GetAll().Where(v => v.AreaCode == GYEnums.AreaCodeEnum.剑阁县).SumAsync(v => v.ActualArea ?? 0);

            //旺苍
            AreaChartDto wcExpected = new AreaChartDto();

            wcExpected.GroupName = "约定面积";
            wcExpected.AreaName  = "旺苍县";
            wcExpected.Area      = await _growerRepository.GetAll().Where(v => v.AreaCode == GYEnums.AreaCodeEnum.旺苍县).SumAsync(v => v.PlantingArea ?? 0);

            AreaChartDto wcActual = new AreaChartDto();

            wcActual.GroupName = "落实面积";
            wcActual.AreaName  = "旺苍县";
            wcActual.Area      = await _growerRepository.GetAll().Where(v => v.AreaCode == GYEnums.AreaCodeEnum.旺苍县).SumAsync(v => v.ActualArea ?? 0);

            result.list.Add(zhExpected);
            result.list.Add(zhActual);
            result.list.Add(jgExpected);
            result.list.Add(jgActual);
            result.list.Add(wcExpected);
            result.list.Add(wcActual);

            result.ZhExpected = zhExpected.Area;
            result.ZhActual   = zhActual.Area;
            result.JgExpected = jgExpected.Area;
            result.JgActual   = jgActual.Area;
            result.WcExpected = wcExpected.Area;
            result.WcActual   = wcActual.Area;
            return(result);
        }