public ActionResult TopLoaiMot() { List <DataPointLoaiMot> dataPoints = new List <DataPointLoaiMot>(); using (BachHoaPTTdb_CNPMEntities2 db = new BachHoaPTTdb_CNPMEntities2()) { string maLoai = "RC"; List <SanPhamMuaNhieu> listSP = new List <SanPhamMuaNhieu>(); foreach (var s in db.SanPhams) { if (s.MaLoai == maLoai) { SanPhamMuaNhieu sp = new SanPhamMuaNhieu(); sp.MaSP = s.Id; sp.TenSP = s.TenSanPham; sp.SoLuong = 0; listSP.Add(sp); } } foreach (var s in db.DonHangs) { foreach (SanPhamMuaNhieu sp in listSP) { if (sp.MaSP == s.MaSanPham) { sp.SoLuong += s.SoLuong.GetValueOrDefault(); } } } listSP.Sort(delegate(SanPhamMuaNhieu x, SanPhamMuaNhieu y) { return(x.SoLuong.CompareTo(y.SoLuong) * (-1)); }); for (int i = 0; i < 3; i++) { dataPoints.Add(new DataPointLoaiMot(listSP[i].TenSP, listSP[i].SoLuong)); } } ViewBag.DataPointLoaiMots = JsonConvert.SerializeObject(dataPoints); return(View()); }
// GET: Admin/AdminHome public ActionResult AdminIndex() { InfoBasic info = new InfoBasic(); List <DataPointLoaiMot> dataPointMots = new List <DataPointLoaiMot>(); List <DataPointLoaiHai> dataPointHais = new List <DataPointLoaiHai>(); List <DataPointLoaiBa> dataPointBas = new List <DataPointLoaiBa>(); List <DataPointLoaiBon> dataPointBons = new List <DataPointLoaiBon>(); double[] doanhThu = { 0, 0, 0, 0 }; List <DataPointDoanhThu> dataPointDoanhThu = new List <DataPointDoanhThu>(); using (BachHoaPTTdb_CNPMEntities2 db = new BachHoaPTTdb_CNPMEntities2()) { foreach (var gd in db.GiaoDiches) { switch (gd.ThoiGian.Value.Year) { case 2016: doanhThu[0] += (double)gd.TongTien.GetValueOrDefault(); break; case 2017: doanhThu[1] += (double)gd.TongTien.GetValueOrDefault(); break; case 2018: doanhThu[2] += (double)gd.TongTien.GetValueOrDefault(); break; default: doanhThu[3] += (double)gd.TongTien.GetValueOrDefault(); break; } } info.SumKH = db.TaiKhoans.Count(); info.EmailSubcribe = db.EmailSubcribeds.Count(); foreach (var dh in db.GiaoDiches) { if (dh.TrangThai == "CHƯA GIAO HÀNG") { info.DonHangChuaGiao++; } else { info.TongDoanhThu += (float)dh.TongTien.GetValueOrDefault(); } } List <SanPhamMuaNhieu> listSPLoaiMot = new List <SanPhamMuaNhieu>(); List <SanPhamMuaNhieu> listSPLoaiHai = new List <SanPhamMuaNhieu>(); List <SanPhamMuaNhieu> listSPLoaiBa = new List <SanPhamMuaNhieu>(); List <SanPhamMuaNhieu> listSPLoaiBon = new List <SanPhamMuaNhieu>(); foreach (var s in db.SanPhams) { SanPhamMuaNhieu sp = new SanPhamMuaNhieu(); sp.MaSP = s.Id; sp.TenSP = s.TenSanPham; sp.SoLuong = 0; switch (s.MaLoai) { case "RC": listSPLoaiMot.Add(sp); break; case "TC": listSPLoaiHai.Add(sp); break; case "TU": listSPLoaiBa.Add(sp); break; default: listSPLoaiBon.Add(sp); break; } } foreach (var s in db.DonHangs) { foreach (SanPhamMuaNhieu sp in listSPLoaiMot) { if (sp.MaSP == s.MaSanPham) { sp.SoLuong += s.SoLuong.GetValueOrDefault(); } } foreach (SanPhamMuaNhieu sp in listSPLoaiHai) { if (sp.MaSP == s.MaSanPham) { sp.SoLuong += s.SoLuong.GetValueOrDefault(); } } foreach (SanPhamMuaNhieu sp in listSPLoaiBa) { if (sp.MaSP == s.MaSanPham) { sp.SoLuong += s.SoLuong.GetValueOrDefault(); } } foreach (SanPhamMuaNhieu sp in listSPLoaiBon) { if (sp.MaSP == s.MaSanPham) { sp.SoLuong += s.SoLuong.GetValueOrDefault(); } } } listSPLoaiMot.Sort(delegate(SanPhamMuaNhieu x, SanPhamMuaNhieu y) { return(x.SoLuong.CompareTo(y.SoLuong) * (-1)); }); listSPLoaiHai.Sort(delegate(SanPhamMuaNhieu x, SanPhamMuaNhieu y) { return(x.SoLuong.CompareTo(y.SoLuong) * (-1)); }); listSPLoaiBa.Sort(delegate(SanPhamMuaNhieu x, SanPhamMuaNhieu y) { return(x.SoLuong.CompareTo(y.SoLuong) * (-1)); }); listSPLoaiBon.Sort(delegate(SanPhamMuaNhieu x, SanPhamMuaNhieu y) { return(x.SoLuong.CompareTo(y.SoLuong) * (-1)); }); int t = listSPLoaiMot.Count(); for (int i = 0; i < 3; i++) { dataPointMots.Add(new DataPointLoaiMot(listSPLoaiMot[i].TenSP, listSPLoaiMot[i].SoLuong)); dataPointHais.Add(new DataPointLoaiHai(listSPLoaiHai[i].TenSP, listSPLoaiHai[i].SoLuong)); dataPointBas.Add(new DataPointLoaiBa(listSPLoaiBa[i].TenSP, listSPLoaiBa[i].SoLuong)); dataPointBons.Add(new DataPointLoaiBon(listSPLoaiBon[i].TenSP, listSPLoaiBon[i].SoLuong)); } } dataPointDoanhThu.Add(new DataPointDoanhThu("2016", doanhThu[0] / 1000000)); dataPointDoanhThu.Add(new DataPointDoanhThu("2017", doanhThu[1] / 1000000)); dataPointDoanhThu.Add(new DataPointDoanhThu("2018", doanhThu[2] / 1000000)); dataPointDoanhThu.Add(new DataPointDoanhThu("2019", doanhThu[3] / 1000000)); ViewBag.DataPointDoanhThu = JsonConvert.SerializeObject(dataPointDoanhThu); info.TongDoanhThu /= 1000000; ViewBag.DataPointLoaiMots = JsonConvert.SerializeObject(dataPointMots); ViewBag.DataPointLoaiHais = JsonConvert.SerializeObject(dataPointHais); ViewBag.DataPointLoaiBas = JsonConvert.SerializeObject(dataPointBas); ViewBag.DataPointLoaiBons = JsonConvert.SerializeObject(dataPointBons); return(View(info)); }