private void ThongKe(Define.LoaiThongKeEnum thongKe) { if (!_isLoaded) { ReloadData(); } // Reset all group HideReportColumn(); gridViewHangHoa.Columns[thongKe.ToString()].Visible = true; gridViewHangHoa.Columns[thongKe.ToString()].Group(); if (!_cacheThongKe.ContainsKey(thongKe)) { var result = new List <object>(); var groupBy = _lstThongKe.GroupBy(s => s.Ngay.ToString()); if (thongKe == Define.LoaiThongKeEnum.Thang) { groupBy = _lstThongKe.GroupBy(s => s.Thang.ToString()); } if (thongKe == Define.LoaiThongKeEnum.Nam) { groupBy = _lstThongKe.GroupBy(s => s.Nam.ToString()); } if (thongKe == Define.LoaiThongKeEnum.Quy) { groupBy = _lstThongKe.GroupBy(s => s.Quy); } foreach (var thoigian in groupBy) { var groupByNoiDung = thoigian.GroupBy(s => s.NoiDung).ToList(); var groupByTime = thoigian.FirstOrDefault(); foreach (var noiDung in groupByNoiDung) { var grouped = noiDung.First().Clone(); grouped.SoLuongNhap = noiDung.Sum(s => s.SoLuongNhap); grouped.SoLuongXuat = noiDung.Sum(s => s.SoLuongXuat); grouped.Thu = noiDung.Sum(s => (long)s.Thu); grouped.Chi = noiDung.Sum(s => (long)s.Chi); grouped.NgaySort = groupByTime.NgaySort; result.Add(grouped); } } _cacheThongKe.Add(thongKe, result); } gridControlHangHoa.DataSource = _cacheThongKe[thongKe]; }
private void tileItemNam_ItemClick(object sender, DevExpress.XtraEditors.TileItemEventArgs e) { _loaiThongKe = Define.LoaiThongKeEnum.Nam; ThongKe(_loaiThongKe); }