public ThongKeVanBanBO ThongKeByMonth(int?year = 0) { if (year <= 0) { year = DateTime.Now.Year; } var result = new ThongKeVanBanBO(); var sourceMonth = new List <int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; var sourceVanBan = this.repository.All().Where(x => x.NGAYBANHANH.HasValue && x.NGAYBANHANH.Value.Year == year).Select(x => x.NGAYBANHANH); var listVanBan = new List <string>(); foreach (var item in sourceMonth) { listVanBan.Add(sourceVanBan.Where(x => x.Value.Month == item).Count().ToString()); } JavaScriptSerializer javascript = new JavaScriptSerializer(); result.VanBan = javascript.Serialize(listVanBan); result.YearText = "Năm " + year; return(result); }
public ThongKeVanBanBO GetThongKeByYear() { var result = new ThongKeVanBanBO(); var sourceHoSo = this.repository.All().Select(x => new { x.HOSO_NAM, x.ID }).ToList(); var sourceVanBan = new QuanLyVanBanBusiness(new UnitOfWork()).repository.All().Select(x => x.HOSO_ID).ToList(); var listHoSo = new List <string>(); var listVanBan = new List <string>(); var sourceYear = sourceHoSo.Where(x => x.HOSO_NAM.HasValue).Select(x => x.HOSO_NAM).Distinct().OrderBy(x => x.Value).ToList(); var listYear = new List <string>(); foreach (var item in sourceYear) { var listID = sourceHoSo.Where(x => x.HOSO_NAM == item).Select(x => x.ID); listHoSo.Add(listID.Count().ToString()); listVanBan.Add(sourceVanBan.Where(x => listID.Contains(x.Value)).Count().ToString()); listYear.Add("Năm " + item); } JavaScriptSerializer javascript = new JavaScriptSerializer(); result.HoSo = javascript.Serialize(listHoSo); result.VanBan = javascript.Serialize(listVanBan); result.Nam = javascript.Serialize(listYear); return(result); }