示例#1
0
        //smart method
        public string AdviceForMama()
        {
            bool checkWeek = true;
            PMamaCheck _check = new PMamaCheck();
            ObservableCollection<MamaCheck> _mList = _check.GetListObject();
            for (int i = 0; i < _mList.Count; ++i)
            {
                if (mama.Week == _mList[i].Week)
                {
                    checkWeek = false;
                }
            }
            if (checkWeek)
            {
                _check.InsertObject(mama);
            }
            else
            {
                _check.UpdateObject(mama);
            }
            if (_mList.Count == 0) // lan dau nhap so lieu
            {   
                return "Đây là lần nhập số liệu đầu tiên của bạn, chúng tôi lấy nó làm số liệu gốc để so sánh.";
            }
            else if (mama.Week == 0 || mama.Week == 1) // tuan dau mang thai
            {
                double j = BMIIndex();
                if (j < 18.5)
                {
                    return "Bạn có thể trạng gầy, nguy cơ sảy thai sẽ cao hơn bình thường 17%. Bạn cần tăng thêm ít nhất " + 
                        (18.5 * mama.Height * mama.Height - mama.Weight).ToString(".0") +
                        " Kg để chuẩn bị mang thai bé yêu của bạn. Chúng tôi khuyến cáo nên tăng thêm " +
                        (22 * mama.Height * mama.Height - mama.Weight).ToString(".0") + 
                        " Kg là hợp lý cho bà mẹ chuẩn bị mang thai.";
                }
                else if (j >= 18.5 && j < 35)
                {
                    return "Bạn có thể trạng bình thường. Chúc bạn khởi đầu thuận lợi.";
                }
                else
                {
                    return "Có vẻ bạn cần giảm cân, bà mẹ dư thừa cân nặng làm tăng nguy cơ xảy thai, chết lưu hoặc sinh" +
                        " nên hãy điều chỉnh về mức cân hợp lý nhé. Chúng tôi khuyến cáo nên giảm khoảng " + 
                        (mama.Weight - 22 * mama.Height * mama.Height) + " Kg để về mức hợp lý.";
                }
            }
            else // da co so lieu va k phai tuan dau tien
            {
                //lay du lieu cua tuan truoc gan do
                //so sanh can nang can tang
                if (mama.Week == _mList[0].Week)
                {
                    return "Trong thời gian quá ngắn, sự tư vấn của chúng tôi sẽ là không chính xác. Bạn hãy nhập lại vào tuần sau.";
                }
                else
                {
                    PMamaCheckWeight _checkW = new PMamaCheckWeight();
                    WeightForMama _weightPre = new WeightForMama();
                    WeightForMama _weightNow = new WeightForMama();
                    _weightPre = _checkW.GetObject(_mList[0].Week);
                    _weightNow = _checkW.GetObject(mama.Week);


                    double valueWeight = mama.Weight - _mList[0].Weight;//chenh lech muc can giua 2 tuan x va y
                    if (valueWeight <= 0)
                    {
                        //tut can
                        return "Bạn cần bổ sung thêm dinh dưỡng hằng ngày, tình trạng tụt cân khi mang thai gây"+
                            " nhiều biến chứng nguy hiểm cho bạn và bé. Số cân bạn cần tăng thêm trong tuần sau là " + 
                            (_checkW.GetObject(mama.Week + 1).OverWeight - _weightPre.UnderWeight - valueWeight) + " kg.";
                    }
                    else if (valueWeight < _weightNow.UnderWeight - _weightPre.UnderWeight)
                    {
                        return "Bạn cần tăng cân nhanh hơn nữa, số cân tăng thiếu so với khuyến cáo là " + 
                            (_weightNow.UnderWeight - _weightPre.UnderWeight - valueWeight) + 
                            " kg. Số cân tuần sau bạn cần bù là " +(_checkW.GetObject(mama.Week+1).OverWeight - _weightPre.UnderWeight - valueWeight)
                            + " kg.";
                    }
                    else if (valueWeight >= _weightNow.UnderWeight - _weightPre.UnderWeight && valueWeight <= _weightNow.OverWeight - _weightPre.OverWeight)
                    {
                        return "Bạn có một sự tăng cân hợp lý. Hãy duy trì điều đó để bạn và bé đều khỏe, tuần sau bạn nên tăng thêm " + 
                            (_checkW.GetObject(mama.Week + 1).OverWeight - _weightNow.OverWeight);
                    }
                    else
                    {
                        if (valueWeight > _checkW.GetObject(mama.Week + 1).OverWeight - _weightPre.OverWeight)
                        {
                            return "Có vẻ bạn tăng cân quá nhanh rồi, đừng lo lắng, chỉ cần kìm hãm lại tốc độ tăng cân là được."+
                                " Tuần sau bạn nên tăng khoảng " + (_checkW.GetObject(mama.Week + 1).OverWeight - _weightNow.OverWeight) / 2 + " kg.";
                        }
                        else
                        {
                            return "Có vẻ bạn tăng cân quá nhanh rồi, đừng lo lắng, chỉ cần kìm hãm lại tốc độ tăng cân là được."+
                                " Tuần sau bạn nên tăng khoảng " + (_checkW.GetObject(mama.Week + 1).OverWeight - _weightNow.OverWeight - valueWeight)
                                + " kg.";
                        }
                    }
                }
            }
        }
示例#2
0
 //method nay danh cho tu van thuc pham
 public double BMRIndex(int week)
 {
     MamaCheck _mamacheck = new MamaCheck();
     PMamaCheck _check = new PMamaCheck();
     if(week >= 1)
     {
         _mamacheck = _check.GetObject(week);
     }
     else
     {
         return 0;
     }
     return 0.00;
 }