public List <PetitionStatistics> getStatistics(out int total_Qi, out int total_Ren, PetitionCondition condition) { List <PetitionStatistics> result = new List <PetitionStatistics>(); var list = database.County.Where(t => t.Level == (int)Level.County).ToList(); if (list.Count == 0) { throw new ApplicationException("县区为空"); } foreach (var item in list) { PetitionStatistics model = new PetitionStatistics(); condition.ProblemAddress = item.Id; model.City_Qi = getPetitionNumber((int)Visit.City, condition); model.City_Ren = getPeopleCount((int)Visit.City, condition); model.Province_Qi = getPetitionNumber((int)Visit.Province, condition); model.Province_Ren = getPeopleCount((int)Visit.Province, condition); model.Capital_Qi = getPetitionNumber((int)Visit.Capital, condition); model.Capital_Ren = getPeopleCount((int)Visit.Capital, condition); model.NoVisit_Qi = getPetitionNumber((int)Visit.NoVisit, condition); model.NoVisit_Ren = getPeopleCount((int)Visit.NoVisit, condition); model.CountyId = item.Id; model.CountyName = item.Name; result.Add(model); } result.Add(getSum(result, out total_Qi, out total_Ren)); return(result); }
private PetitionStatistics getSum(List <PetitionStatistics> list, out int total_Qi, out int total_Ren) { PetitionStatistics model = new PetitionStatistics(); total_Qi = 0; total_Ren = 0; if (list == null || list.Count == 0) { return(model); } model.City_Qi = list.Sum(t => t.City_Qi); model.City_Ren = list.Sum(t => t.City_Ren); model.Province_Qi = list.Sum(t => t.Province_Qi); model.Province_Ren = list.Sum(t => t.Province_Ren); model.Capital_Qi = list.Sum(t => t.Capital_Qi); model.Capital_Ren = list.Sum(t => t.Capital_Ren); model.NoVisit_Qi = list.Sum(t => t.NoVisit_Qi); model.NoVisit_Ren = list.Sum(t => t.NoVisit_Ren); model.CountyName = "合计"; total_Qi = model.City_Qi + model.Province_Qi + model.Capital_Qi + model.NoVisit_Qi; total_Ren = model.City_Ren + model.Province_Ren + model.Capital_Ren + model.NoVisit_Ren; return(model); }