private Object GetData_SoTheoDoiTaiSanCoDinhTaiNoiSuDung(Guid DonViId) { ResetDbContext(); int Year = DateTime.Today.Year; DonVi DonViSelected = MyNewDbContext.DONVIS.Find(DonViId); if (Object.Equals(DonViSelected, null)) { return(null); } var IQueryable = DonViSelected.getAllCTTaiSanRecursive_All(); IQueryable = IQueryable.Where(item => Object.Equals(item.ngay, null) == false); IQueryable = IQueryable.Where(item => ((DateTime)item.ngay).Year <= Year); var DataFiltered_Groups = IQueryable.OrderByDescending(item => item.date_create).GroupBy(item => item.taisan_id).ToList(); List <TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter> Data = new List <TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter>(); foreach (var _Group in DataFiltered_Groups) { int intCount = _Group.Count(); TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter item = new TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter(); if (intCount == 1) { //CTTS nay la tang tai san, neu la giam thi ... -_- item.sohieu_ct = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.sohieu : ""; item.ngay_ct = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.ngay : null; item.ten = _Group.ElementAt(0).taisan.ten; item.donvitinh = _Group.ElementAt(0).taisan.loaitaisan.donvitinh != null?_Group.ElementAt(0).taisan.loaitaisan.donvitinh.ten : ""; if (_Group.ElementAt(0).tinhtrang.giam_taisan) { item.soluong_giam = (int?)_Group.ElementAt(0).soluong; item.dongia_giam = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_giam = (long?)_Group.ElementAt(0).soluong *_Group.ElementAt(0).taisan.dongia; item.ghichu = _Group.ElementAt(0).mota; } item.soluong_tang = (int?)_Group.ElementAt(0).soluong; item.dongia_tang = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_tang = (long?)_Group.ElementAt(0).soluong *_Group.ElementAt(0).taisan.dongia; Data.Add(item); } else if (intCount > 1) { int intSoLuongGiam = 0, intSoLuongTang = 0; foreach (var CTTS in _Group) { if (CTTS.tinhtrang.giam_taisan) { intSoLuongGiam += CTTS.soluong; } else { intSoLuongTang += CTTS.soluong; } } //Cung la 1 tai san nen lay o vi tri 0 item.sohieu_ct = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.sohieu : ""; item.ngay_ct = _Group.ElementAt(0).chungtu != null?_Group.ElementAt(0).chungtu.ngay : null; item.ten = _Group.ElementAt(0).taisan.ten; item.donvitinh = _Group.ElementAt(0).taisan.loaitaisan.donvitinh != null?_Group.ElementAt(0).taisan.loaitaisan.donvitinh.ten : ""; if (intSoLuongTang > 0) { item.soluong_tang = intSoLuongTang; item.dongia_tang = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_tang = (long?)intSoLuongTang * _Group.ElementAt(0).taisan.dongia; } if (intSoLuongGiam > 0) { item.soluong_giam = intSoLuongGiam; item.dongia_giam = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_giam = (long?)intSoLuongGiam * _Group.ElementAt(0).taisan.dongia; } item.ghichu = _Group.ElementAt(0).tinhtrang.giam_taisan ? _Group.ElementAt(0).mota : ""; Data.Add(item); } } return(Data.OrderBy(item => item.ngay_ct).ToList()); }
private Object GetData_SoTheoDoiTaiSanCoDinhTaiNoiSuDung(Guid DonViId) { ResetDbContext(); int Year = DateTime.Today.Year; DonVi DonViSelected = MyNewDbContext.DONVIS.Find(DonViId); if (Object.Equals(DonViSelected, null)) { return null; } var IQueryable = DonViSelected.getAllCTTaiSanRecursive_All(); IQueryable = IQueryable.Where(item => Object.Equals(item.ngay, null) == false); IQueryable = IQueryable.Where(item => ((DateTime)item.ngay).Year <= Year); var DataFiltered_Groups = IQueryable.OrderByDescending(item => item.date_create).GroupBy(item => item.taisan_id).ToList(); List<TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter> Data = new List<TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter>(); foreach (var _Group in DataFiltered_Groups) { int intCount = _Group.Count(); TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter item = new TSCD.DataFilter.ReportFilter.SoTheoDoiTaiSanCoDinhTaiNoiSuDung_DataFilter(); if (intCount == 1) { //CTTS nay la tang tai san, neu la giam thi ... -_- item.sohieu_ct = _Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.sohieu : ""; item.ngay_ct = _Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.ngay : null; item.ten = _Group.ElementAt(0).taisan.ten; item.donvitinh = _Group.ElementAt(0).taisan.loaitaisan.donvitinh != null ? _Group.ElementAt(0).taisan.loaitaisan.donvitinh.ten : ""; if (_Group.ElementAt(0).tinhtrang.giam_taisan) { item.soluong_giam = (int?)_Group.ElementAt(0).soluong; item.dongia_giam = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_giam = (long?)_Group.ElementAt(0).soluong * _Group.ElementAt(0).taisan.dongia; item.ghichu = _Group.ElementAt(0).mota; } item.soluong_tang = (int?)_Group.ElementAt(0).soluong; item.dongia_tang = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_tang = (long?)_Group.ElementAt(0).soluong * _Group.ElementAt(0).taisan.dongia; Data.Add(item); } else if (intCount > 1) { int intSoLuongGiam = 0, intSoLuongTang = 0; foreach (var CTTS in _Group) { if (CTTS.tinhtrang.giam_taisan) intSoLuongGiam += CTTS.soluong; else intSoLuongTang += CTTS.soluong; } //Cung la 1 tai san nen lay o vi tri 0 item.sohieu_ct = _Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.sohieu : ""; item.ngay_ct = _Group.ElementAt(0).chungtu != null ? _Group.ElementAt(0).chungtu.ngay : null; item.ten = _Group.ElementAt(0).taisan.ten; item.donvitinh = _Group.ElementAt(0).taisan.loaitaisan.donvitinh != null ? _Group.ElementAt(0).taisan.loaitaisan.donvitinh.ten : ""; if (intSoLuongTang > 0) { item.soluong_tang = intSoLuongTang; item.dongia_tang = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_tang = (long?)intSoLuongTang * _Group.ElementAt(0).taisan.dongia; } if (intSoLuongGiam > 0) { item.soluong_giam = intSoLuongGiam; item.dongia_giam = (long?)_Group.ElementAt(0).taisan.dongia; item.thanhtien_giam = (long?)intSoLuongGiam * _Group.ElementAt(0).taisan.dongia; } item.ghichu = _Group.ElementAt(0).tinhtrang.giam_taisan ? _Group.ElementAt(0).mota : ""; Data.Add(item); } } return Data.OrderBy(item => item.ngay_ct).ToList(); }