KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết quả đạt được:
- Tác giả đã tìm hiểu hệ thống khẩu phần dinh dưỡng của trẻ em, xác định nguy cơ và cách phòng chống béo phì ở trẻ, từ đó mô hình hóa được bài toán, thiết kế được chương trình hỗ trợ cho việc lên thực đơn dinh dưỡng.
- Hoàn thành các chức năng cơ bản của hệ thống hỗ trợ xác định khẩu phần dinh dưỡng.
- Thiết kế giao diện chương trình thân thiện với người sử dụng, dễ dàng nâng cấp và bảo trì.
- Dữ liệu ứng dụng luôn được bảo toàn, không mất mát.
Hạn chế:
- Ứng dụng chỉ có thể chạy trên nền tảng Windows có cài đặt phần mềm Hệ quản trị Cơ sở dữ liệu SQL Server.
- Chưa thực nghiệm được trên nhiều đối tượng khác nhau.
Hướng phát triển:
- Khắc phục được những hạn chế của ứng dụng.
- Từ mô hình này có thể phát triển xây dựng chế độ khẩu phần dinh dưỡng không những cho trẻ em mà cho cả người lớn, người bệnh, người ăn chay, …
TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt
[1] Bảng nhu cầu dinh dưỡng khuyến nghị cho người Việt Nam (2014), Bộ Y tế,
http://asiacert.vn/pic/filelibrary/43-2014-p_635685927854191144.pdf [2] Bảng thành phần thực phẩm Việt Nam (2007), Bộ Y tế,
http://www.fao.org/fileadmin/templates/food_composition/documents/ pdf/VTN_FCT_2007.pdf
[3] Hướng dẫn xây dựng khẩu phần ăn,
http://www.cdsonla.edu.vn/spthmn/
attachments/article/97/Cach%20tinh%20khau%20phan%20an.doc [4] http://timthuocnhanh.com/cong-cu-suc-khoe/cong-thuc-tinh-chi-so-
bmi.html, Truy xuất 15/04/2018.
[5] Lê Thị Mai Hoa (2015), Giáo trình dinh dưỡng trẻ em tuổi nhà trẻ và
mẫu giáo, Nxb Đại học Sư phạm, Hà Nội.
[6] Nguyễn Thị Bạch Kim (2008), Các Phương pháp Tối ưu Lý thuyết và
Thuật toán, Nxb Bách Khoa, Hà Nội.
[7] Phạm Thị Xuân Viên, Đặng Trần Vũ, Bùi Thanh Xuân (2006), Xây dựng chế độ dinh dưỡng tại trường mầm non bằng logic mờ kết hợp mạng Neural và máy học, Đại học Khoa học Tự nhiên - Đại học Quốc
gia TP. Hồ Chí Minh.
[8] Phương Trang (2017), Trẻ em Việt Nam ngày càng béo phì, VnExpress, https://suckhoe.vnexpress.net/tin-tuc/suc-khoe/tre-em-viet-nam-ngay- cang-beo-phi-3657777.html, 19/10/2017
[9] PGS. Bùi Thế Tâm, GS. Trần Vũ Thiệu (1998), Các phương pháp tối ưu hóa, Nxb Giao thông vận tải, Hà Nội.
[10] PGS. TS. Nguyễn Hải Thanh (2006), Tối ưu hóa, Nxb Bách Khoa, Hà Nội.
[11] Trần Thị Xuân Ngọc (2012), Thực trạng và hiệu quả can thiệp thừa cân, béo phì của mô hình truyền thông giáo dục dinh dưỡng ở trẻ em từ 6 đến 14 tuổi tại Hà Nội, Viện Dinh dưỡng, Hà Nội.
[12] Trẻ em béo phì - Một vấn đề đang gia tăng, Potatoes Goodness, http://www.potatoesusa-vietnam.com/sites/default/files/resources/pdf/ Childhood-Obesity_2_adapted.pdf
[13] Thi Ngoan (2015), Chế độ ăn giảm cân phù hợp chỉ số BMI, VnExpress, https://suckhoe.vnexpress.net/tin-tuc/dinh-duong/thuc-don/ che-do-an- giam-can-phu-hop-chi-so-bmi-3268100.html,25/8/2015
[14] Phạm Thế Bảo, Xây dựng chế độ dinh dưỡng tại trường mầm non bằng Logic mờ kết hợp mạng Neurol và máy học, Luận văn thạc sỹ, Khoa toán tin, trường Đại học Quốc gia TP. Hồ Chí Minh, 07/2006.
Tài liệu tiếng Anh
[15] Birch et al. (2007), “Influences on the Development of Children's Eating Behaviours: From Infancy to Adolescence”, National Institutes
of Health, 68(1), s1–s56.
[16] Dehghan et al. (2005), “Childhood obesity, prevalence and prevention”,
Nutrition Journal, doi:10.1186/1475-2891-4-24.
[17] Dana Wilkinson, MSc, Linda McCargar, PhD (2008), “Prevention of Overweight and Obesity in Young Canadian Children”, Canadian Council of Food and Nutrition.
[18] Julie Lanigan, Sally Barber and Atul Singhal (2010), “Prevention of obesity in preschool children”, Nutrition Society, 69, 204–210.
Recommendations”, American Academy of Pediatrics, VOLUME 102 / ISSUE 3.
PHỤ LỤC
Mã nguồn của một số Module quan trọng 1. Form Thực đơn using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using Foods.BussinessLogicLayer; using DevExpress.XtraTreeList.Nodes; using Foods.Entity; using Foods.Utilities; using DevExpress.XtraEditors.Controls; namespace Foods {
public partial class FrmThucDon : DevExpress.XtraEditors.XtraForm {
private readonly KhoiLopBUS _khoiBUS; private readonly LopHocBUS _lopBUS; private readonly NamHocBUS _namHocBUS; private readonly HocSinhBUS _hocSinhBUS;
private readonly DinhDuongCanThietBUS _dinhDuongBUS; private readonly ThucPhamBUS _thucPhamBUS;
private readonly ThucDonBUS _thucDonBUS; private readonly ChiSoBMIBUS _chiSoBUS; decimal Protein, Gluxit, Lipit, KcalNgay; Random rd;
DataTable dt;
public FrmThucDon() {
InitializeComponent();
_khoiBUS = new KhoiLopBUS(); _lopBUS = new LopHocBUS(); _namHocBUS = new NamHocBUS(); _hocSinhBUS = new HocSinhBUS();
_dinhDuongBUS = new DinhDuongCanThietBUS(); _thucPhamBUS = new ThucPhamBUS();
_thucDonBUS = new ThucDonBUS(); _chiSoBUS = new ChiSoBMIBUS(); rd = new Random();
}
{
GridUtil.SetDataSource(gridLookUpNamHoc, _namHocBUS.LayDTNamHoc(), "MaNamHoc", "TenNamHoc", 0); treeListLopHoc.ParentFieldName = "MaKhoi"; treeListLopHoc.PreviewFieldName = "TenKhoi"; treeListLopHoc.DataSource = _khoiBUS.Lay_DT_Khoi(); CapNhatListLop(); repositoryItemGridLookUpEdit1.DataSource = _thucPhamBUS.LayDT_DanhSach(); repositoryItemGridLookUpEdit2.DataSource = _thucPhamBUS.LayDT_DanhSach(); repositoryItemGridLookUpEdit3.DataSource = _thucPhamBUS.LayDT_DanhSach(); repositoryItemGridLookUpEdit4.DataSource = _thucPhamBUS.LayDT_DanhSach(); repositoryItemGridLookUpEdit5.DataSource = _thucPhamBUS.LayDT_DanhSach(); }
private void CapNhatListLop() {
// Duyệt từng khối
foreach (TreeListNode item in treeListLopHoc.Nodes) {
item.Nodes.Clear();
IEnumerable<Lop> listLopNode = _lopBUS.LayListLop_MaNam_MaKhoi( GridUtil.GetValueItem(gridLookUpNamHoc),
item.GetValue("MaKhoi").ToString() );
// add các lớp vào khối item
foreach (Lop lopNode in listLopNode) {
treeListLopHoc.AppendNode(new object[] { lopNode.MaLop, lopNode.TenLop }, item); }
}
treeListLopHoc.ExpandAll(); // Expand all nodes }
private void HienThi_Lai_BangHocSinh() { // Chắc chắn chọn được node if (treeListLopHoc.FocusedNode == null || GridUtil.CheckSelectedNull(gridLookUpNamHoc)) { gridControlHocSinh.DataSource = null; return; }
string maLop = treeListLopHoc.FocusedNode.GetValue("MaKhoi").ToString(); gridControlHocSinh.DataSource = _hocSinhBUS.LayDT_HocSinh(maLop); }
private void simpleTinhToan_Click(object sender, EventArgs e) {
for (int i = 0; i < gridViewThucDon.RowCount; i++) {
if (gridViewThucDon.GetRowCellValue(i, "MaHocSinh") == null) {
HienThiLai(); return; }
if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, thu)) {
ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, thu); int dau = Convert.ToInt32(_thucPhamBUS.Lay_MaDauTien());
int cuoi = Convert.ToInt32(_thucPhamBUS.Lay_MaCuoiCung());
thucDon.MonAn1.ID = rd.Next(dau, cuoi); thucDon.MonAn2.ID = rd.Next(dau, cuoi); thucDon.MonAn3.ID = rd.Next(dau, cuoi); thucDon.MonAn4.ID = rd.Next(dau, cuoi); thucDon.MonAn5.ID = rd.Next(dau, cuoi);
HocSinh hs = _hocSinhBUS.LayHoSo_HocSinh(thucDon.hocSinh.MaHocSinh); DinhDuongCanThiet obj = _dinhDuongBUS.LayDT_ByTuoi(hs.Tuoi);
KcalNgay = hs.KcalNgay;
Lipit = KcalNgay * obj.Lipit / 100; Gluxit = KcalNgay * obj.Gluxit / 100; Protein = KcalNgay * obj.Protein / 100; int tongMon = 5;
if (tongMon == 0) return;
decimal DinhDuongTungMon = KcalNgay / tongMon; decimal LipitTungMon = Lipit / tongMon;
decimal GluxitTungMon = Gluxit / tongMon; decimal ProteinTungMon = Protein / tongMon; if (thucDon.MonAn1.ID > 0)
{
ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn1.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong1 = Math.Round(max, 0); } if (thucDon.MonAn2.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn2.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
if (max < klg1) max = klg1; }
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong2 = Math.Round(max, 0); } if (thucDon.MonAn3.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn3.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong3 = Math.Round(max, 0); } if (thucDon.MonAn4.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn4.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
if (tp.Gluxit != 0) {
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong4 = Math.Round(max, 0); } if (thucDon.MonAn5.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn5.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong5 = Math.Round(max, 0); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(thucDon.hocSinh.MaHocSinh, thucDon.Thu)) { _thucDonBUS.CapNhat(thucDon); } else { _thucDonBUS.Them(thucDon); } } else {
//Neu chua co thuc don
ThucDon thucDon = new ThucDon(); thucDon.hocSinh.MaHocSinh = maHocSinh; thucDon.Thu = thu;
int dau = Convert.ToInt32(_thucPhamBUS.Lay_MaDauTien()); int cuoi = Convert.ToInt32(_thucPhamBUS.Lay_MaCuoiCung()); Random rd = new Random();
thucDon.MonAn1.ID = rd.Next(dau, cuoi); thucDon.MonAn2.ID = rd.Next(dau, cuoi); thucDon.MonAn3.ID = rd.Next(dau, cuoi);
thucDon.MonAn5.ID = rd.Next(dau, cuoi);
HocSinh hs = _hocSinhBUS.LayHoSo_HocSinh(thucDon.hocSinh.MaHocSinh); DinhDuongCanThiet obj = _dinhDuongBUS.LayDT_ByTuoi(hs.Tuoi);
KcalNgay = hs.KcalNgay;
Lipit = KcalNgay * obj.Lipit / 100; Gluxit = KcalNgay * obj.Gluxit / 100; Protein = KcalNgay * obj.Protein / 100; int tongMon = 5;
if (tongMon == 0) return;
decimal DinhDuongTungMon = KcalNgay / tongMon; decimal LipitTungMon = Lipit / tongMon;
decimal GluxitTungMon = Gluxit / tongMon; decimal ProteinTungMon = Protein / tongMon; if (thucDon.MonAn1.ID > 0)
{
ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn1.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong1 = Math.Round(max, 0); } if (thucDon.MonAn2.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn2.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong2 = Math.Round(max, 0); } if (thucDon.MonAn3.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn3.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong3 = Math.Round(max, 0); } if (thucDon.MonAn4.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn4.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong4 = Math.Round(max, 0); } if (thucDon.MonAn5.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn5.ID);
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong5 = Math.Round(max, 0); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(thucDon.hocSinh.MaHocSinh, thucDon.Thu)) { _thucDonBUS.CapNhat(thucDon); } else { _thucDonBUS.Them(thucDon); } } } HienThiLai(); }
private void gridViewThucDon_InvalidRowException(object sender, DevExpress.XtraGrid.Views.Base.InvalidRowExceptionEventArgs e) {
e.ExceptionMode = ExceptionMode.NoAction; }
private void gridViewThucDon_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e) {
}
private void gridViewThucDon_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e) {
DataRow dr = gridViewThucDon.GetDataRow(e.RowHandle); var thucDon = new ThucDon();
thucDon.hocSinh.MaHocSinh = dr["MaHocSinh"].ToString(); thucDon.Thu = dr["Thu"].ToString();
thucDon.KhoiLuong2 = dr["KhoiLuong2"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong2"]); thucDon.MonAn3.ID = dr["MonAn3"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn3"]);
thucDon.KhoiLuong3 = dr["KhoiLuong3"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong3"]); thucDon.MonAn4.ID = dr["MonAn4"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn4"]);
thucDon.KhoiLuong4 = dr["KhoiLuong4"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong4"]); thucDon.MonAn5.ID = dr["MonAn5"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn5"]);
thucDon.KhoiLuong5 = dr["KhoiLuong5"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong5"]); //{ // hocSinh = // { // MaHocSinh = dr["TenHocSinh"].ToString(), // //TenHocSinh = dr["TenHocSinh"].ToString() // }, // Thu = (dr[1]).ToString(), // MonAn1 = // {
// //ID = dr[2] is DBNull ? -1 : Convert.ToInt32(dr[2])
// ID = dr["MonAn1"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn1"]) // },
// KhoiLuong1 = dr["KhoiLuong1"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong1"]), // MonAn2 =
// {
// ID = dr["MonAn2"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn2"]) // },
// KhoiLuong2 = dr["KhoiLuong2"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong2"]), // MonAn3 =
// {
// ID = dr["MonAn3"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn3"]) // },
// KhoiLuong3 = dr["KhoiLuong3"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong3"]), // MonAn4 =
// {
// ID = dr["MonAn4"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn4"]) // },
// KhoiLuong4 = dr["KhoiLuong4"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong4"]), // MonAn5 =
// {
// ID = dr["MonAn5"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn5"]) // },
// KhoiLuong5 = dr["KhoiLuong5"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong5"]) //};
HocSinh hs = _hocSinhBUS.LayHoSo_HocSinh(thucDon.hocSinh.MaHocSinh); DinhDuongCanThiet obj = _dinhDuongBUS.LayDT_ByTuoi(hs.Tuoi);
KcalNgay = hs.KcalNgay;
Lipit = KcalNgay * obj.Lipit / 100; Gluxit = KcalNgay * obj.Gluxit / 100; Protein = KcalNgay * obj.Protein / 100; int tongMon = 0; if(thucDon.MonAn1.ID > 0) { tongMon++; } if(thucDon.MonAn2.ID > 0) { tongMon++; }
{ tongMon++; } if (thucDon.MonAn4.ID > 0) { tongMon++; } if (thucDon.MonAn5.ID > 0) { tongMon++; } if (tongMon == 0) return;
decimal DinhDuongTungMon = KcalNgay / tongMon; decimal LipitTungMon = Lipit / tongMon;
decimal GluxitTungMon = Gluxit / tongMon; decimal ProteinTungMon = Protein / tongMon; if (thucDon.MonAn1.ID > 0)
{
ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn1.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong1 = Math.Round(max, 0); } if (thucDon.MonAn2.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn2.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if(tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if(tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
if(tp.Gluxit != 0) {
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong2 = Math.Round(max, 0); } if (thucDon.MonAn3.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn3.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong3 = Math.Round(max, 0); } if (thucDon.MonAn4.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn4.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3;
}
thucDon.KhoiLuong4 = Math.Round(max, 0); }
ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn5.ID); decimal max = 0;
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0)
{
decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1;
}
decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0)
{
decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2;
}
decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0)
{
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong5 = Math.Round(max, 0); } if(_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(thucDon.hocSinh.MaHocSinh, thucDon.Thu)) { _thucDonBUS.CapNhat(thucDon); } else { _thucDonBUS.Them(thucDon); }
// int dau = Convert.ToInt32(_thucPhamBUS.Lay_MaDauTien()); // int cuoi = Convert.ToInt32(_thucPhamBUS.Lay_MaCuoiCung()); // Random rd = new Random();
// ThucPham thucPham = _thucPhamBUS.LayThucPham_ByID(rd.Next(dau, cuoi)); HienThiLai();
}
public void HienThiLai() { dt = new DataTable(); dt.Columns.Add("MaHocSinh"); dt.Columns.Add("TenHocSinh"); dt.Columns.Add("Thu"); dt.Columns.Add("MonAn1"); dt.Columns.Add("KhoiLuong1"); dt.Columns.Add("MonAn2"); dt.Columns.Add("KhoiLuong2"); dt.Columns.Add("MonAn3"); dt.Columns.Add("KhoiLuong3"); dt.Columns.Add("MonAn4"); dt.Columns.Add("KhoiLuong4"); dt.Columns.Add("MonAn5"); dt.Columns.Add("KhoiLuong5");
//Int32 selectedRowCount =
gridViewHocSinh.Rows.GetRowCount(DataGridViewElementStates.Selected); if (gridViewHocSinh.IsRowSelected(i))
{
string maHocSinh = gridViewHocSinh.GetRowCellValue(i, "MaHocSinh").ToString(); if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ hai") == false) {
DataRow dr = dt.NewRow(); dr[0] = maHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ hai"; dt.Rows.Add(dr); } else {
ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ hai"); DataRow dr = dt.NewRow();
dr[0] = thucDon.hocSinh.MaHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ hai"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); }
if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ ba") == false) {
DataRow dr = dt.NewRow(); dr[0] = maHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ ba"; dt.Rows.Add(dr); } else {
ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ ba"); DataRow dr = dt.NewRow();
dr[0] = thucDon.hocSinh.MaHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ ba"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID;
dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); }
if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ tư") == false) {
DataRow dr = dt.NewRow(); dr[0] = maHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ tư"; dt.Rows.Add(dr); } else {
ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ tư"); DataRow dr = dt.NewRow();
dr[0] = thucDon.hocSinh.MaHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ tư"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); }
if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ năm") == false) {
DataRow dr = dt.NewRow(); dr[0] = maHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ năm"; dt.Rows.Add(dr); } else {
ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ năm"); DataRow dr = dt.NewRow();
dr[0] = thucDon.hocSinh.MaHocSinh;
HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh);