Example #1
0
        public static Object SaveSingleMealDetails(string MealID, string MealDays, string MealData, string MealTime, string Notes)
        {
            int clientID = Convert.ToInt32(HttpContext.Current.Session["PatientID"]);
            //DateTime mealTime=Convert.ToDateTime(MealTime);
            DateTime mealTime = Convert.ToDateTime(MealTime.ToString());
            int      rowsAffected;

            //BusinessHelper<IRecallDiet>.Use(RecallDietManager =>
            //{
            //    rowsAffected = RecallDietManager.SaveSingleMealDetails(clientID, MealID, MealDays, MealData, mealTime, Notes);
            //});
            rowsAffected = new RecallDietManager().SaveSingleMealDetails(clientID, MealID, MealDays, MealData, mealTime, Notes);



            return(new Object());
        }
Example #2
0
        protected static string bindhistory(int i, string date, string date2)
        {
            int j = 0;

            System.Text.StringBuilder strBody = new System.Text.StringBuilder("");
            if (dtSearchMaster.Tables[0].Rows.Count > i)
            {
                strBody.Append("<table align='center' width='100%'><tr><td colspan='4' align='center'><b>" + Convert.ToString(dtSearchMaster.Tables[0].Rows[i]["CDsCustName"]) + " " + Convert.ToString(dtSearchMaster.Tables[0].Rows[i]["CDsLastName"]) + "</b></td></tr>");
                strBody.Append("<tr><td align='left'>Patient ID :" + Convert.ToString(dtSearchMaster.Tables[0].Rows[i]["CDnCustomerIDPK"]) + "</td><td colspan='2'>DOB:" + String.Format("{0:dd-MMM-yyyy}", Convert.ToDateTime(dtSearchMaster.Tables[0].Rows[i]["CDdtDOB"])) + "</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[0].Rows[i]["CDnCustAge"]) + "Y/" + (Convert.ToString(dtSearchMaster.Tables[0].Rows[i]["CDnGender"]) == "0" ? "M" : "F") + "</td></tr></table>");
                strBody.Append("<hr size='1' width='100%'>");
            }
            //Anthropometics
            for (j = 0; j < dtSearchMaster.Tables[1].Rows.Count; j++)
            {
                if (String.Format("{0:dd-MMM-yyyy(HH:mm)}", Convert.ToDateTime(dtSearchMaster.Tables[1].Rows[j]["AMdtUpdated"])).Equals(date))
                {
                    strBody.Append(" <table  align='center' width='100%'><tr><td colspan='3' align='center'><b>Anthropometics</b></td></tr><tr><td align='left'>Measured Wt. " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnMeasWt"]) + " kg</td><td align='right'>BMI " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnCalculatedBMI"]) + "</td><td colspan=2 align='right'>BMI Category " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnBMICat"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Measured Ht. " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnMeasHt"]) + " m</td><td align='right'>MUAC " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnMUAC"]) + "cm</td><td align='right'>Measured Waist " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnMeasWaist"]) + "cm</td></tr>");
                    strBody.Append("<tr><td align='left'>Ideal Body Wt. " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnIdealBodyWt"]) + " kg</td><td align='right'>Neck Circumference " + Convert.ToString(dtSearchMaster.Tables[1].Rows[j]["AMnNeckCircum"]) + "</td><td align='right'></td></tr>");
                    strBody.Append("</table>");
                    break;
                }
            }
            for (j = 0; j < dtSearchMaster.Tables[2].Rows.Count; j++)
            {
                //Bio Chemical Labs
                if (String.Format("{0:dd-MMM-yyyy(HH:mm)}", Convert.ToDateTime(dtSearchMaster.Tables[2].Rows[j]["BCLdtUpdated"])).Equals(date))
                {
                    strBody.Append("<hr size='1' width='100%'>");
                    strBody.Append("<table align='center' width='100%'><tr><td colspan='9' align='center'><b>Bio Chemical Labs</b></td></tr>");
                    strBody.Append("<tr><td align='left'>Fasting Glucose</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnFastingGluc"]) + "</td><td align='left'>mg/dL</td>");
                    strBody.Append("<td align='left'>Creatinine</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnCreatinine"]) + "</td><td align='left'>g/dL</td>");
                    strBody.Append("<td align='left'>Albumin</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnAlbumin"]) + "</td><td align='left'>g/dL</td></tr>");
                    strBody.Append("<tr><td align='left'>HbA1C</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnHbA1C"]) + "</td><td align='left'>%</td>");
                    strBody.Append("<td align='left'>ALT (SGPT)</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnAltSGPT"]) + "</td><td align='left'>IU/L</td>");
                    strBody.Append("<td align='left'>ALT (SGOT)</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnAltSGOT"]) + "</td></td><td align='left'>IU/L</td></tr>");
                    strBody.Append("<tr><td align='left'>Hematocrit</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnHematocrit"]) + "</td><td align='left'>(%)</td>");
                    strBody.Append("<td align='left'>Triglycerides</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnTriglycerides"]) + "</td><td align='left'>mg/dL</td>");
                    strBody.Append("<td align='left'>HDL</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnHDL"]) + "</td><td align='left'>mg/dL</td></tr>");
                    strBody.Append("<tr><td align='left'>Total Cholesterol</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnTotCholesterol"]) + "</td><td align='left'>mg/dL</td>");
                    strBody.Append("<td align='left'>Alkaline Phosphatase</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnAlkalinePhosphatase"]) + "</td><td align='left'>IU/L</td>");
                    strBody.Append("<td align='left'>Vitamin D3</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnVitaminD3"]) + "</td><td align='left'></td></tr>");
                    strBody.Append("<tr><td align='left'>Vitamin B12</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLnVitaminB12"]) + "</td><td align='left'></td>");
                    strBody.Append("<td align='left'>Others</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[2].Rows[j]["BCLsOthers"]) + "</td><td align='left'></td></tr></table>");
                    break;
                }
            }
            for (j = 0; j < dtSearchMaster.Tables[3].Rows.Count; j++)
            {
                //COMORBIDITY
                if (String.Format("{0:dd-MMM-yyyy(HH:mm)}", Convert.ToDateTime(dtSearchMaster.Tables[3].Rows[j]["CBdtUpdated"])).Equals(date))
                {
                    strBody.Append("<hr size='1' width='100%'>");
                    strBody.Append("<table align='center' width='100%'><tr><td colspan='4' align='center' ><b>Comorbidity</b></td></tr>");
                    strBody.Append("<tr><td align='left'>CHF :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsCHF"]) + "</td><td>Asthma :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsAsthma"]) + "</td>");
                    strBody.Append("<td>Thyroid :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsThyroid"]) + "</td><td align='right'>IHD :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsIHD"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left' colspan='4'>Functional Status :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsFunctionalStatus"]) + "</td></tr>");
                    strBody.Append("<tr><td colspan='4' align='center'><b>Chronic Diseases</b></td></tr>");
                    strBody.Append("<tr><td align='left'>Diabetes :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsDiabetes"]) + "</td><td>Liver Disorders :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsLeverDis"]) + "</td>");
                    strBody.Append("<td>Hypertension :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsHypertension"]) + "</td><td align='right'>Cardiac Disorders :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsCardiacDis"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Kidney Disorders :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsKidneyDis"]) + "</td><td>Followed Perticular Diet Details :" + Convert.ToString(dtSearchMaster.Tables[3].Rows[j]["CBsParticularProbDet"]) + "</td></tr></table>");
                    break;
                }
            }
            for (j = 0; j < dtSearchMaster.Tables[4].Rows.Count; j++)
            {
                if (String.Format("{0:dd-MMM-yyyy(HH:mm)}", Convert.ToDateTime(dtSearchMaster.Tables[4].Rows[j]["DLdtUpdated"])).Equals(date))
                {
                    //Diet And Lifestyle
                    strBody.Append("<hr size='1' width='100%'>");
                    strBody.Append("<table  align='center' width='100%'><tr><td colspan='4' align='center'><b>Diet And Lifestyle</b></td></tr>");
                    strBody.Append("<tr><td align='left'>Regular Execise</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLsRegExersize"]) + "</td><td align='right'>Alcohol</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLsAlcohol"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Smoking</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLsSmoking"]) + "</td><td align='right'>Sleep Hours Per Day</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLnSleepPerDay"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Exercise Detail</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLsExcersizeDetail"]) + "</td><td></td><td></td></tr>");
                    strBody.Append("<tr><td colspan='4' align='left'><b>Diet History</b></td></tr>");
                    strBody.Append("<tr><td align='left'>Diet Type</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsDietType"]) + "</td><td align='right'>Eat When Stress</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsStressEat"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Frequency Of Outside Eat</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsFreqOutEat"]) + "</td><td align='right'>Eat When Bored</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsBoredEat"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Typical Meal in Day</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHnTypicalMealDay"]) + "</td><td align='right'>Do You Have Breakfast Everyday</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsBreakfast"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Typical Snax in Day</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHnTypicalSnaxDay"]) + "</td><td align='right'>Eat when watching TV	</td><td align='right'>"+ Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsWatchTVEat"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Caloric Beverages</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsCaloricbeverages"]) + "</td><td align='right'>Tried Wt. Loss Diet Before</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsWtLossDiet"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Wt. Loss/Gain in Sixth Month</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DHsWtLossGainSixMon"]) + "</td><td></td><td></td></tr>");
                    strBody.Append("<tr><td colspan='6' align='left'><b>Fat and Oil</b></td></tr>");
                    strBody.Append("<tr><td align='left'>Oil Detail</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLsOilUseDetail"]) + "</td><td align='right'>Oil Quantity in Month</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLnOilQuantityMonth"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>No of Family Members</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLnMembersInFamily"]) + "</td><td align='right'>Sugar Quantity in Month</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[4].Rows[j]["DLnSugarQuantity"]) + "</td></tr></table>");
                    break;
                }
            }
            for (j = 0; j < dtSearchMaster.Tables[5].Rows.Count; j++)
            {
                //Clinical Complaints
                if (String.Format("{0:dd-MMM-yyyy(HH:mm)}", Convert.ToDateTime(dtSearchMaster.Tables[5].Rows[j]["CCdtUpdated"])).Equals(date))
                {
                    strBody.Append("<hr size='1' width='100%'>");
                    strBody.Append("<table align='center' width='100%'><tr><td colspan='6' align='center'><b>Clinical Complaints</b></td></tr>");
                    strBody.Append("<tr><td colspan='6' align='left'><b>Gastrointestinal Problems</b></td></tr>");
                    strBody.Append("<tr><td align='left'>Heartburn </td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsHeartburn"]) + "</td><td align='right'>Vomiting</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsVomiting"]) + "</td>");
                    strBody.Append("<td align='right'>Bloating</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsBloating"]) + "</td><tr><tr><td align='left'>Use Any Luxative/Antacid</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsConstipation"]) + "</td>");
                    strBody.Append("<td align='right'>Gas</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsGas"]) + "</td><td align='right'>Constipation</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsLaxaAnta"]) + "</td></tr>");
                    strBody.Append("<tr><td align='left'>Diarrhoea</td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsDiarrhoea"]) + "</td><td align='right'>Follow Home Remedy</td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["GPsHomeRem"]) + "</td></tr>");
                    strBody.Append("<td colspan='4' align='left'><b>Medication</b></td></tr>");
                    strBody.Append("<tr><td align='left'>Vitamin Suplement </td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["MCsVitaminSup"]) + "</td><td align='right'>Vitamin Suplement Details</td> <td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["MCsVitaminSupDet"]) + "</td>");
                    strBody.Append("<td align='right'>Mineral Suplement </td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["MCsMineralSup"]) + "</td></tr><tr><td align='left'>Mineral Suplement Details </td><td align='left'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["MCsMineralSupDet"]) + "</td>");
                    strBody.Append("<td align='right'>Oral Drug Type </td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["MCsOralDrugType"]) + "</td><td align='right'>Oral Drug  Details </td><td align='right'>" + Convert.ToString(dtSearchMaster.Tables[5].Rows[j]["MCsOralDrugDet"]) + "</td></tr></table>");
                    break;
                }
            }
            ///Recall diet Details
            DataTable dtFoodListWithID = new FoodMasterManager().GetFoodListWithID();
            //Get Customer Recall Diet Details
            int       custID             = Convert.ToInt32(HttpContext.Current.Session["PatientID"]);
            int       k                  = 0;
            DataTable dtRecallDietDetail = new DataTable();

            dtRecallDietDetail = new RecallDietManager().GetRecallDietDetailsHistory(custID, date2);
            if (dtRecallDietDetail.Rows.Count > 0)
            {
                strBody.Append("<hr size='1' width='100%'>");
                strBody.Append("<table width=90%><tr><td><b>Recall Diet</b></td></tr></table><br/>");
                strBody.Append("<table border=1 width=90%  align=center cellpadding='2'><tr><td align=center><b>Meals</b></td><td align=center><b>Meal Details</b></td><td align=center><b>Diet Chart</b></td></tr>");

                List <RecallDietDetails> lstRecallDietDetails = new List <RecallDietDetails>();
                foreach (DataRow drRecallDiet in dtRecallDietDetail.Rows)
                {
                    RecallDietDetails objRecallDietDetails = new RecallDietDetails();
                    objRecallDietDetails.CustomerID = custID;
                    objRecallDietDetails.VisitDate  = Convert.ToDateTime(drRecallDiet["VisitDate"]);
                    objRecallDietDetails.Notes      = Convert.ToString(drRecallDiet["Notes"]);
                    List <MealDetails> lstMealDetails = new List <MealDetails>();

                    for (int mealID = 1; mealID <= 12; mealID++)
                    {
                        string   mealName = "Meal" + mealID;
                        string[] mealDetailSeperatingChars         = { "@@" };
                        char[]   mealFoodItemSeperatingChars       = { '~' };
                        char[]   mealFoodItemDetailSeperatingChars = { '|' };

                        string[]    strMealDetails = Convert.ToString(drRecallDiet[mealName]).Split(mealDetailSeperatingChars, StringSplitOptions.None);
                        MealDetails objMealDetails = new MealDetails();
                        objMealDetails.MealName = mealName;
                        objMealDetails.Time     = Convert.ToDateTime(strMealDetails[0]);
                        objMealDetails.Days     = Convert.ToString(strMealDetails[1]);

                        List <MealFoodDetails> lstMealFoodDetails = new List <MealFoodDetails>();
                        string[] strMealFoodDetails = Convert.ToString(strMealDetails[2]).Split(mealFoodItemSeperatingChars, StringSplitOptions.RemoveEmptyEntries);

                        if (strMealFoodDetails.Count() > 0)
                        {
                            strBody.Append("<tr><td align=center><b>" + "Meal " + mealID + " (" + Convert.ToDateTime(objMealDetails.Time).ToShortTimeString() + ")</b></td>");
                        }
                        k = 0;
                        string remark = string.Empty;
                        foreach (String strFoodItem in strMealFoodDetails)
                        {
                            MealFoodDetails objMealFoodDetails = new MealFoodDetails();
                            string[]        strFoodItemDetail  = strFoodItem.Split(mealFoodItemDetailSeperatingChars, StringSplitOptions.None);

                            var    foodRows    = dtFoodListWithID.Select("FoodID = " + Convert.ToInt16(strFoodItemDetail[0]));
                            string strFoodName = Convert.ToString(foodRows[0]["FoodName"]);
                            if (k == 0)
                            {
                                strBody.Append("<td><ul><li>" + strFoodName + " " + strFoodItemDetail[1] + " " + strFoodItemDetail[2] + "</li>");
                            }
                            else
                            {
                                strBody.Append("<li>" + strFoodName + " " + strFoodItemDetail[1] + " " + strFoodItemDetail[2] + "</li>");
                            }
                            ++k;
                            remark = remark + ("&nbsp;&nbsp;" + Convert.ToString(strFoodItemDetail[3]) + "<br/>");
                        }
                        //strBody.Append("</td></tr></table>");
                        if (strMealFoodDetails.Count() > 0)
                        {
                            strBody.Append("</ul></td><td>" + remark + "</td></tr>");
                        }
                    }
                    strBody.Append("</table>");
                }
            }

            //Recommended Diet
            DataTable dtRecommendedDietDetail = new DataTable();

            dtRecommendedDietDetail = new RecommendedDietManager().GetRecommendedDietDetailsHistory(custID, date2);
            List <RecommendedDietDetails> lstRecommendedDietDetails = new List <RecommendedDietDetails>();

            if (dtRecommendedDietDetail.Rows.Count > 0)
            {
                strBody.Append("<hr size='1' width='100%'>");
                strBody.Append("<table width=90%><tr><td><b>Recommended Diet</b></td></tr></table><br/>");
                strBody.Append("<table border=1 width=90% align=center cellpadding='2'><tr><td align=center><b>Meals</b></td><td align=center><b>Meal Details</b></td><td align=center><b>Diet Chart</b></td></tr>");

                foreach (DataRow drRecommendedDiet in dtRecommendedDietDetail.Rows)
                {
                    RecommendedDietDetails objRecommendedDietDetails = new RecommendedDietDetails();
                    objRecommendedDietDetails.CustomerID = custID;
                    objRecommendedDietDetails.VisitDate  = Convert.ToDateTime(drRecommendedDiet["VisitDate"]);
                    objRecommendedDietDetails.Notes      = Convert.ToString(drRecommendedDiet["Notes"]);

                    List <MealDetails> lstMealDetails = new List <MealDetails>();
                    for (int mealID = 1; mealID <= 12; mealID++)
                    {
                        string   mealName = "Meal" + mealID;
                        string[] mealDetailSeperatingChars         = { "@@" };
                        char[]   mealFoodItemSeperatingChars       = { '~' };
                        char[]   mealFoodItemDetailSeperatingChars = { '|' };

                        string[] strMealDetails = Convert.ToString(drRecommendedDiet[mealName]).Split(mealDetailSeperatingChars, StringSplitOptions.None);

                        MealDetails objMealDetails = new MealDetails();
                        objMealDetails.MealName = mealName;
                        objMealDetails.Time     = Convert.ToDateTime(strMealDetails[0]);
                        objMealDetails.Days     = Convert.ToString(strMealDetails[1]);

                        List <MealFoodDetails> lstMealFoodDetails = new List <MealFoodDetails>();
                        string[] strMealFoodDetails = Convert.ToString(strMealDetails[2]).Split(mealFoodItemSeperatingChars, StringSplitOptions.RemoveEmptyEntries);

                        if (strMealFoodDetails.Count() > 0)
                        {
                            strBody.Append("<tr><td align=center><b>" + "Meal " + mealID + " (" + Convert.ToDateTime(objMealDetails.Time).ToShortTimeString() + ")</b></td>");
                        }

                        k = 0;
                        string remark = string.Empty;
                        foreach (String strFoodItem in strMealFoodDetails)
                        {
                            MealFoodDetails objMealFoodDetails = new MealFoodDetails();
                            string[]        strFoodItemDetail  = strFoodItem.Split(mealFoodItemDetailSeperatingChars, StringSplitOptions.None);

                            var    foodRows    = dtFoodListWithID.Select("FoodID = " + Convert.ToInt16(strFoodItemDetail[0]));
                            string strFoodName = Convert.ToString(foodRows[0]["FoodName"]);

                            if (k == 0)
                            {
                                strBody.Append("<td><ul><li>" + strFoodName + " " + strFoodItemDetail[1] + " " + strFoodItemDetail[2] + "</li>");
                            }
                            else
                            {
                                strBody.Append("<li>" + strFoodName + " " + strFoodItemDetail[1] + " " + strFoodItemDetail[2] + "</li>");
                            }

                            k++;
                            remark = remark + ("&nbsp;&nbsp;" + Convert.ToString(strFoodItemDetail[3]) + "<br/>");
                        }
                        if (strMealFoodDetails.Count() > 0)
                        {
                            strBody.Append("</ul></td><td>" + remark + "</td></tr>");
                        }
                    }
                    strBody.Append("</table>");
                }
            }

            return(strBody.ToString());
        }
Example #3
0
        //private void FindAndReplace(Microsoft.Office.Interop.Word.Application WordApp,object findText,Object replaceWithText)
        //{
        //    Object matchCase = true;
        //    Object matchWholeWord = true;
        //    object matchWildCards = false;
        //    object matchSoundsLike = false;
        //    object nmatchAllWordForms = false;
        //    object forward = true;
        //    object format = false;
        //    object matchKashida = false;
        //    object matchDiacritics = false;
        //    object matchAlefHamza = false;
        //    object matchControl = false;
        //    object read_only = false;
        //    object visible = true;
        //    object replace = 1;
        //    object wrap = 1;

        //    WordApp.Selection.Find.Execute(ref findText,ref matchCase,ref matchWholeWord,ref matchWildCards,ref matchSoundsLike,ref nmatchAllWordForms,ref forward,ref format,ref replaceWithText,ref replace,ref matchKashida,ref matchDiacritics,ref matchAlefHamza,ref matchControl);
        //}

        private void BindData()
        {
            //Get Food Names with FoodID

            //BusinessHelper<IFoodMaster>.Use(FoodMasterManager =>
            //{
            //    dtFoodListWithID = FoodMasterManager.GetFoodListWithID();
            //});

            DataTable dtFoodListWithID = new DataTable();

            dtFoodListWithID = new FoodMasterManager().GetFoodListWithID();

            //Get Customer Recall Diet Details
            int custID = Convert.ToInt32(HttpContext.Current.Session["PatientID"]);

            DataTable dtRecallDietDetail = new DataTable();

            //BusinessHelper<IRecallDiet>.Use(RecallDietManager =>
            //{
            //    dtRecallDietDetail = RecallDietManager.GetRecallDietDetails(custID);
            //});
            dtRecallDietDetail = new RecallDietManager().GetRecallDietDetails(custID);

            List <RecallDietDetails> lstRecallDietDetails = new List <RecallDietDetails>();

            foreach (DataRow drRecallDiet in dtRecallDietDetail.Rows)
            {
                RecallDietDetails objRecallDietDetails = new RecallDietDetails();

                objRecallDietDetails.CustomerID = custID;
                objRecallDietDetails.VisitDate  = Convert.ToDateTime(drRecallDiet["VisitDate"]);
                objRecallDietDetails.Notes      = Convert.ToString(drRecallDiet["Notes"]);

                List <MealDetails> lstMealDetails = new List <MealDetails>();

                for (int mealID = 1; mealID <= 12; mealID++)
                {
                    string   mealName = "Meal" + mealID;
                    string[] mealDetailSeperatingChars         = { "@@" };
                    char[]   mealFoodItemSeperatingChars       = { '~' };
                    char[]   mealFoodItemDetailSeperatingChars = { '|' };


                    string[] strMealDetails = Convert.ToString(drRecallDiet[mealName]).Split(mealDetailSeperatingChars, StringSplitOptions.None);

                    MealDetails objMealDetails = new MealDetails();

                    objMealDetails.MealName = mealName;
                    objMealDetails.Time     = Convert.ToDateTime(strMealDetails[0]);
                    objMealDetails.Days     = Convert.ToString(strMealDetails[1]);


                    List <MealFoodDetails> lstMealFoodDetails = new List <MealFoodDetails>();

                    string[] strMealFoodDetails = Convert.ToString(strMealDetails[2]).Split(mealFoodItemSeperatingChars, StringSplitOptions.RemoveEmptyEntries);

                    foreach (String strFoodItem in strMealFoodDetails)
                    {
                        MealFoodDetails objMealFoodDetails = new MealFoodDetails();
                        string[]        strFoodItemDetail  = strFoodItem.Split(mealFoodItemDetailSeperatingChars, StringSplitOptions.None);

                        var    foodRows    = dtFoodListWithID.Select("FoodID = " + Convert.ToInt16(strFoodItemDetail[0]));
                        string strFoodName = Convert.ToString(foodRows[0]["FoodName"]);



                        objMealFoodDetails.ID              = Convert.ToInt16(strFoodItemDetail[0]);  //Food ID
                        objMealFoodDetails.Name            = strFoodName ?? string.Empty;
                        objMealFoodDetails.Qty             = Convert.ToDouble(strFoodItemDetail[1]); //Food Quantity
                        objMealFoodDetails.Unit            = Convert.ToString(strFoodItemDetail[2]); //Measure Unit
                        objMealFoodDetails.Remark          = Convert.ToString(strFoodItemDetail[3]); //Food Remark
                        objMealFoodDetails.Energy          = Convert.ToDouble(strFoodItemDetail[4]);
                        objMealFoodDetails.Protein         = Convert.ToDouble(strFoodItemDetail[5]);
                        objMealFoodDetails.Fat             = Convert.ToDouble(strFoodItemDetail[6]);
                        objMealFoodDetails.Fibre           = Convert.ToDouble(strFoodItemDetail[7]);
                        objMealFoodDetails.Carbs           = Convert.ToDouble(strFoodItemDetail[8]);
                        objMealFoodDetails.ConsumptionDays = Convert.ToString(strFoodItemDetail[9]); //Food Consumption Bits


                        lstMealFoodDetails.Add(objMealFoodDetails);
                    }

                    objMealDetails.MealFoodDetails = lstMealFoodDetails;
                    lstMealDetails.Add(objMealDetails);
                }
                objRecallDietDetails.MealDetails = lstMealDetails;
                lstRecallDietDetails.Add(objRecallDietDetails);
            }

            /// Generate HTML for saved Meals Data

            StringBuilder sbSingleRecallDietDetailsTemplate = new StringBuilder();



            sbSingleRecallDietDetailsTemplate.Append("<div class='form-group' {{ RecallDiet48Hour }}>");
            sbSingleRecallDietDetailsTemplate.Append("  <div class='days-block pull-left'>");
            sbSingleRecallDietDetailsTemplate.Append("      <table id='diet-table-{{ MealName }}' class='table table-striped'>");
            sbSingleRecallDietDetailsTemplate.Append("          <tbody>");
            sbSingleRecallDietDetailsTemplate.Append("              <tr>");
            sbSingleRecallDietDetailsTemplate.Append("                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                      <label class='label-block control-label text-left' for='txtTimePicker{{ MealName }}'>{{ MealName }}</label>");
            sbSingleRecallDietDetailsTemplate.Append("                          <div class='time-block'>");
            sbSingleRecallDietDetailsTemplate.Append("                              <div class='input-group bootstrap-timepicker'>");
            sbSingleRecallDietDetailsTemplate.Append("                                  <input id='txtTimePicker{{ MealName }}' type='text' class='form-control' value='{{ MealTime }}' data-meal-name ='{{ MealName }}' data-meal-time ='{{ MealTime }}' />");
            sbSingleRecallDietDetailsTemplate.Append("                                      <span class='input-group-addon'>");
            sbSingleRecallDietDetailsTemplate.Append("                                          <i class='fa fa-clock-o bigger-110'></i>");
            sbSingleRecallDietDetailsTemplate.Append("                                      </span>");
            sbSingleRecallDietDetailsTemplate.Append("                              </div>");
            sbSingleRecallDietDetailsTemplate.Append("                          </div>");
            sbSingleRecallDietDetailsTemplate.Append("                  </td>");
            sbSingleRecallDietDetailsTemplate.Append("                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                      {{ MealDays }}");
            sbSingleRecallDietDetailsTemplate.Append("                      <div style='margin-top: 10px;'>");

            sbSingleRecallDietDetailsTemplate.Append("                          <table class='table table-bordered table-striped dataTable'>");
            sbSingleRecallDietDetailsTemplate.Append("                              <tr>");
            sbSingleRecallDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                                      <input type='text' class='FoodItem scrollable typeahead' id='txtFoodItem{{ MealName }}' placeholder='Food' style='min-width: 175px; font-size: 16px;'></td>");
            sbSingleRecallDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                                      <input type='text' class='FoodQuantity scrollable' id='txtFoodQuantity{{ MealName }}' placeholder='Quantity'></td>");
            sbSingleRecallDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                                      <input type='text' class='FoodMeasure scrollable typeahead' id='txtFoodMeasure{{ MealName }}' placeholder='Measure' style='min-width: 175px; font-size: 16px;'></td>");
            sbSingleRecallDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                                      <input type='text' class='FoodRemark scrollable' id='txtFoodRemark{{ MealName }}' placeholder='Remark'></td>");
            sbSingleRecallDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                                      <input name='add_button' type='button' id='add_button' value='Add' onclick='addFoodRow(&quot;{{ MealName }}&quot;)' class='btn btn-primary btn-sm' /></td>");
            sbSingleRecallDietDetailsTemplate.Append("                              </tr>");
            sbSingleRecallDietDetailsTemplate.Append("                          </table>");
            sbSingleRecallDietDetailsTemplate.Append("                      </div>");
            sbSingleRecallDietDetailsTemplate.Append("                      {{ FoodTable }}");
            sbSingleRecallDietDetailsTemplate.Append("                  </td>");
            sbSingleRecallDietDetailsTemplate.Append("                  <td>");
            sbSingleRecallDietDetailsTemplate.Append("                      <input type='button' id='btnSave{{ MealName }}' class='btn btn-primary btn-sm hidden' value='Save' onclick='saveMeal(&quot;{{ MealName }}&quot;)'/>");
            sbSingleRecallDietDetailsTemplate.Append("                  </td>");
            sbSingleRecallDietDetailsTemplate.Append("              </tr>");
            sbSingleRecallDietDetailsTemplate.Append("          </tbody>");
            sbSingleRecallDietDetailsTemplate.Append("      </table>");
            sbSingleRecallDietDetailsTemplate.Append("  </div>");
            sbSingleRecallDietDetailsTemplate.Append("</div>");

            string[] RecallDiet48HourMeals = { "Meal7", "Meal8", "Meal9", "Meal10", "Meal11", "Meal12" };
            string   roleRecallDiet48Hour;

            foreach (RecallDietDetails itemRecallDietDetails in lstRecallDietDetails)
            {
                StringBuilder sbRecallDietDetails = new StringBuilder();
                string        mealName = "", mealTime = "", mealDays = "", foodTable = "";



                foreach (MealDetails itemMealDetails in itemRecallDietDetails.MealDetails)
                {
                    mealName = itemMealDetails.MealName;
                    mealTime = itemMealDetails.Time.ToString("HH:mm");
                    mealDays = GetDaysTemplateForMeal(mealName, itemMealDetails.Days);

                    if (RecallDiet48HourMeals.Contains(mealName))
                    {
                        roleRecallDiet48Hour = "role='RecallDiet48Hour'";
                    }
                    else
                    {
                        roleRecallDiet48Hour = string.Empty;
                    }

                    int           rowCount                  = 100;
                    StringBuilder sbFoodTableRows           = new StringBuilder();
                    double[]      foodNutrientsWeekTotal    = { 0, 0, 0, 0, 0 }; //sequence is Energy,Protein,Fat,Fibre,Carbs
                    double[]      foodNutrientsWeekdayTotal = { 0, 0, 0, 0, 0 }; //sequence is Energy,Protein,Fat,Fibre,Carbs
                    double[]      foodNutrientsWeekendTotal = { 0, 0, 0, 0, 0 }; //sequence is Energy,Protein,Fat,Fibre,Carbs

                    foreach (MealFoodDetails itemMealFoodDetails in itemMealDetails.MealFoodDetails)
                    {
                        var tmpConsumptionDays = itemMealFoodDetails.ConsumptionDays.ToCharArray();

                        //Calculating day wise total
                        for (int i = 0; i <= 6; i++)
                        {
                            //week total
                            if (tmpConsumptionDays[i] == '1')
                            {
                                foodNutrientsWeekTotal[0] += itemMealFoodDetails.Energy;
                                foodNutrientsWeekTotal[1] += itemMealFoodDetails.Protein;
                                foodNutrientsWeekTotal[2] += itemMealFoodDetails.Fat;
                                foodNutrientsWeekTotal[3] += itemMealFoodDetails.Fibre;
                                foodNutrientsWeekTotal[4] += itemMealFoodDetails.Carbs;
                            }

                            //weekday total
                            if (tmpConsumptionDays[i] == '1' && i <= 4)
                            {
                                foodNutrientsWeekdayTotal[0] += itemMealFoodDetails.Energy;
                                foodNutrientsWeekdayTotal[1] += itemMealFoodDetails.Protein;
                                foodNutrientsWeekdayTotal[2] += itemMealFoodDetails.Fat;
                                foodNutrientsWeekdayTotal[3] += itemMealFoodDetails.Fibre;
                                foodNutrientsWeekdayTotal[4] += itemMealFoodDetails.Carbs;
                            }

                            //weekend total
                            if (tmpConsumptionDays[i] == '1' && i > 4)
                            {
                                foodNutrientsWeekendTotal[0] += itemMealFoodDetails.Energy;
                                foodNutrientsWeekendTotal[1] += itemMealFoodDetails.Protein;
                                foodNutrientsWeekendTotal[2] += itemMealFoodDetails.Fat;
                                foodNutrientsWeekendTotal[3] += itemMealFoodDetails.Fibre;
                                foodNutrientsWeekendTotal[4] += itemMealFoodDetails.Carbs;
                            }
                        }


                        sbFoodTableRows.Append(GetFoodTableRowTemplate(itemMealFoodDetails, rowCount));
                        rowCount++;
                    }

                    StringBuilder sbFoodTableTemplate = new StringBuilder();

                    sbFoodTableTemplate.Append("<div style='margin-top: 10px;'>");
                    sbFoodTableTemplate.Append("	<table id='tblFoodList{{ MealName }}' class='table table-bordered table-striped dataTable' {{ RecallDiet48Hour }}>");
                    sbFoodTableTemplate.Append("        <thead>");
                    sbFoodTableTemplate.Append("            <tr class='titleRow'>");
                    sbFoodTableTemplate.Append("                <th class='hidden'>FoodID</th>");
                    sbFoodTableTemplate.Append("                <th colspan='2'>Food</th>");
                    sbFoodTableTemplate.Append("                <th>Quantity</th>");
                    sbFoodTableTemplate.Append("                <th>Unit</th>");
                    sbFoodTableTemplate.Append("                <th>Remark</th>");
                    sbFoodTableTemplate.Append("                <th>Energy (kcal)</th>");
                    sbFoodTableTemplate.Append("                <th>Protein (g)</th>");
                    sbFoodTableTemplate.Append("                <th>Fat (g)</th>");
                    sbFoodTableTemplate.Append("                <th>Fibre (mcg)</th>");
                    sbFoodTableTemplate.Append("                <th>Carbs (g)</th>");
                    sbFoodTableTemplate.Append("                <th>Consumption days</th>");
                    sbFoodTableTemplate.Append("                <th>Action</th>");
                    sbFoodTableTemplate.Append("            </tr>");
                    sbFoodTableTemplate.Append("        </thead>");
                    sbFoodTableTemplate.Append("        <tbody>");

                    sbFoodTableTemplate.Append(sbFoodTableRows.ToString());

                    sbFoodTableTemplate.Append("        </tbody>");
                    sbFoodTableTemplate.Append("        <tfoot>");

                    //week average
                    sbFoodTableTemplate.Append("            <tr class='totalRow'>");
                    sbFoodTableTemplate.Append("                <td colspan='2'></td>");
                    sbFoodTableTemplate.Append("                <td colspan='3'>Average for week</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol week'>" + Math.Round((foodNutrientsWeekTotal[0] / 7), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol week'>" + Math.Round((foodNutrientsWeekTotal[1] / 7), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol week'>" + Math.Round((foodNutrientsWeekTotal[2] / 7), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol week'>" + Math.Round((foodNutrientsWeekTotal[3] / 7), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol week'>" + Math.Round((foodNutrientsWeekTotal[4] / 7), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td>&nbsp;</td>");
                    sbFoodTableTemplate.Append("                <td>&nbsp;</td>");
                    sbFoodTableTemplate.Append("            </tr>");

                    //week day average
                    sbFoodTableTemplate.Append("            <tr class='totalRow'>");
                    sbFoodTableTemplate.Append("                <td colspan='2'></td>");
                    sbFoodTableTemplate.Append("                <td colspan='3'>Average for weekdays</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekday'>" + Math.Round((foodNutrientsWeekdayTotal[0] / 5), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekday'>" + Math.Round((foodNutrientsWeekdayTotal[1] / 5), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekday'>" + Math.Round((foodNutrientsWeekdayTotal[2] / 5), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekday'>" + Math.Round((foodNutrientsWeekdayTotal[3] / 5), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekday'>" + Math.Round((foodNutrientsWeekdayTotal[4] / 5), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td>&nbsp;</td>");
                    sbFoodTableTemplate.Append("                <td>&nbsp;</td>");
                    sbFoodTableTemplate.Append("            </tr>");

                    //weekend average
                    sbFoodTableTemplate.Append("            <tr class='totalRow'>");
                    sbFoodTableTemplate.Append("                <td colspan='2'></td>");
                    sbFoodTableTemplate.Append("                <td colspan='3'>Average for weekends</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekend'>" + Math.Round((foodNutrientsWeekendTotal[0] / 2), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekend'>" + Math.Round((foodNutrientsWeekendTotal[1] / 2), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekend'>" + Math.Round((foodNutrientsWeekendTotal[2] / 2), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekend'>" + Math.Round((foodNutrientsWeekendTotal[3] / 2), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td class='totalCol weekend'>" + Math.Round((foodNutrientsWeekendTotal[4] / 2), 2) + "</td>");
                    sbFoodTableTemplate.Append("                <td>&nbsp;</td>");
                    sbFoodTableTemplate.Append("                <td>&nbsp;</td>");
                    sbFoodTableTemplate.Append("            </tr>");

                    sbFoodTableTemplate.Append("        </tfoot>");
                    sbFoodTableTemplate.Append("    </table>");
                    sbFoodTableTemplate.Append("</div>");

                    foodTable = sbFoodTableTemplate.Replace("{{ MealName }}", mealName).ToString();
                    sbRecallDietDetails.Append(sbSingleRecallDietDetailsTemplate).Replace("{{ MealName }}", mealName).Replace("{{ MealTime }}", mealTime).Replace("{{ MealDays }}", mealDays).Replace("{{ FoodTable }}", foodTable).Replace("{{ RecallDiet48Hour }}", roleRecallDiet48Hour);
                }

                divRecallDietMeals.InnerHtml = sbRecallDietDetails.ToString();
                break; // Since for single visit
            }
        }