コード例 #1
0
        public async Task <bool> AddMeal(MealModelView model, string subGroupId, string userName, DateTime date)
        {
            var user = await userManager.FindByNameAsync(userName);

            var subGroup = context.subGroups.Where(x => x.Id.ToString() == subGroupId).FirstOrDefault();

            if (user == null || subGroup == null)
            {
                return(false);
            }
            if (!checkTimeAndDate(subGroup, DateTime.Now, date))
            {
                return(false);
            }

            MealDetails mealDetails = new MealDetails
            {
                UserId       = user.Id,
                SubGroupId   = subGroup.Id,
                IdentityUser = user,
                SubGroups    = subGroup,
                Dinnar       = model.Dinnar,
                Lunch        = model.Lunch,
                Morning      = model.Morning,
                OrderDate    = date
            };

            context.mealDetails.Add(mealDetails);
            return(await Save());
        }
コード例 #2
0
 private void AdjustTime(MealDetails meal)
 {
     if (meal.DefinitionId.HasValue)
     {
         var definition = nutritionRepository.GetMealDefinitions(CurrentUserId).FirstOrDefault(d => d.Id == meal.DefinitionId.Value);
         if (definition != null)
         {
             var time     = definition.Time;
             var datetime = new DateTime(meal.Time.Year, meal.Time.Month, meal.Time.Day, time.Hours, time.Minutes, time.Seconds);
             meal.Time = DateTimeUtils.CreateLocal(meal.Time, definition.Time);
         }
     }
 }
コード例 #3
0
        public mPosition AddMealsDetails(List <MealDetails> objMealsProperties, List <RoutingInfo> lstRoutingInfo, QuoteGetReq request, List <AccomodationInfo> lstAcc, string status)
        {
            foreach (var item in lstRoutingInfo)
            {
                int day = item.Days;
                for (int i = 1; i <= day; i++)
                {
                    objMealsProperties.Add(new MealDetails {
                        CityID = item.ToCityID, CityName = item.ToCityName, VenueTypes = new List <VenueTypes>(), DayID = "Day " + (objMealsProperties.Count + 1)
                    });
                }
            }
            QRFCounterRequest qrfCounterRequest = new QRFCounterRequest();

            qrfCounterRequest.CounterType = _configuration["CounterType:Meals"].ToString();
            TimeSpan timeoutprev;

            if (status == "i")
            {
                foreach (var item in objMealsProperties)
                {
                    item.CreateUser = request.UserName;
                    item.CreateDate = DateTime.Now; item.EditDate = null; item.EditUser = "";
                    item.MealID     = item.MealID == 0 ? _genericRepository.GetNextReferenceNumber(qrfCounterRequest).LastReferenceNumber : item.MealID;
                    item.SequenceNo = lstRoutingInfo.Where(r => r.ToCityID == item.CityID).Select(t => t.RouteSequence).FirstOrDefault();
                    item.VenueTypes.ForEach(a => { a.VenueDetails.CreateDate = DateTime.Now; a.VenueDetails.EditDate = null; a.VenueDetails.EditUser = ""; });
                    AccomodationInfo objAccomodationInfo = lstAcc.Where(a => a.StartingFrom == item.DayID && a.IsDeleted == false).FirstOrDefault();
                    if (objAccomodationInfo != null)
                    {
                        MealDetails md = CheckDefaultMealPlan(item, timeoutprev, objAccomodationInfo, out TimeSpan newtimeout);
                        item.Breakfast   = md.Breakfast;
                        item.DefaultPlan = md.DefaultPlan;
                        item.Dinner      = md.Dinner;
                        item.Lunch       = md.Lunch;
                        timeoutprev      = newtimeout;
                    }
                }
            }

            mPosition objPosition = new mPosition();

            objPosition.Meals = objMealsProperties.OrderBy(m => m.SequenceNo).ToList();
            objPosition.QRFID = request.QRFID;

            return(objPosition);
        }
コード例 #4
0
        private MealDetails MergeBySameDefinition(MealDetails meal)
        {
            if (!meal.DefinitionId.HasValue)
            {
                return(meal);
            }

            var sw = Stopwatch.StartNew();

            var existing = nutritionRepository.SearchMeals(CurrentUserId, meal.Time.Date, meal.Time.Date.AddDays(1).AddSeconds(-1)).FirstOrDefault(m => m.DefinitionId == meal.DefinitionId);

            sw.Stop();
            Logger.LogDuration("MergeBySameDefinition", sw.Elapsed);

            if (existing == null || existing.Id == meal.Id)
            {
                return(meal);
            }

            existing.Rows = existing.Rows.Union(meal.Rows).ToArray();
            return(existing);
        }
コード例 #5
0
        private void CalculateNutrients(MealDetails meal)
        {
            var foodIds = meal.Rows.Where(r => r.Nutrients == null || r.Nutrients.Count == 0).Select(r => r.FoodId);
            var foods   = nutritionRepository.GetFoods(foodIds);

            foreach (var row in meal.Rows.Where(r => r.Nutrients == null || r.Nutrients.Count == 0))
            {
                var food = foods.Single(f => f.Id == row.FoodId);
                row.FoodName = food.Name;
                if (row.PortionId.HasValue)
                {
                    var portion = food.Portions.SingleOrDefault(p => p.Id == row.PortionId);
                    if (portion != null)
                    {
                        row.Weight      = row.Quantity * portion.Weight;
                        row.PortionName = portion.Name;
                    }
                    else
                    {
                        // user has selected portion, but it's not related to selected food
                        row.Weight = row.Quantity;
                    }
                }
                else
                {
                    row.Weight = row.Quantity;
                }
                row.Nutrients = AppendComputedNutrients(food.Nutrients
                                                        .Where(n => !Constants.Nutrition.ComputedNutrientIds.Contains(n.NutrientId))
                                                        .ToDictionary(n => n.NutrientId, n => row.Weight * n.Amount / 100m));
            }


            meal.Nutrients = AppendComputedNutrients(meal.Rows
                                                     .SelectMany(r => r.Nutrients.Where(n => !Constants.Nutrition.ComputedNutrientIds.Contains(n.Key)))
                                                     .GroupBy(n => n.Key, n => n.Value)
                                                     .ToDictionary(g => g.Key, g => g.Sum()));
        }
コード例 #6
0
ファイル: ExportClass.cs プロジェクト: bhosalepatil7/Diet
        public string ClientReport(DietMaster objDietMaster, string PatientID)
        {
            double ProteinTotal = 0, CalorieTotal = 0;

            System.Text.StringBuilder strBody  = new System.Text.StringBuilder("");
            System.Text.StringBuilder strBody1 = new System.Text.StringBuilder("");
            strBody.Append("<html<head><title></title>");
            // The setting specifies document's view after it is downloaded as Print
            // instead of the default Web Layout
            strBody.Append("<style>");
            strBody.Append("table{ margin-left:2%; width:88%; }");
            strBody.Append("td{padding:5px; font-family:verdana; font-size:10pt;}");
            strBody.Append(".first{width:250px;font-weight:700; }");
            strBody.Append(".second{}");
            strBody.Append(".mcomplaint{line-height:22px;}");
            strBody.Append(".thead{background-color:darkred;color:floralwhite;}");
            strBody.Append(".rowcontent{text-align: left;}");
            strBody.Append(".firstu{width:350px; text-align:start; font-weight:700; }");
            strBody.Append(".secondu{}");
            strBody.Append(".middleu{}");
            // strBody.Append("<link rel='stylesheet' type='text/css' href ='mystyle.css'>");
            strBody.Append("@media print {.page-break  { display: block; page-break-before: always; }} table {font-family: Calibri; font-size: 18px; font-size: x-medium } @media print {thead {display: table-header-group;}}</style>");

            strBody.Append("</head>");
            //strBody.Append("<h3 align='center' color='black'>PH_CLINIC</h3>");
            strBody.Append("<h4 align='center' color='black'><u>PH_REPORT</u></h4>");

            //Client Info
            strBody.Append("<table cellspacing='0px' border='1'><tr><td colspan='2' align='right'>Date : " + DateTime.UtcNow.AddHours(5.5).ToString("dd-MMM-yyyy") + "</td></tr>");
            strBody.Append("<tr><td class='first'  align='left'>Name  </td>");
            strBody.Append("<td class='second'>" + objDietMaster.CustomerName + " " + objDietMaster.MiddleName + " " + objDietMaster.LastName + "</td></tr>");
            strBody.Append("<tr><td class='first' align='left'>ID  </td>");
            strBody.Append("<td class='second'>" + objDietMaster.CustomerID + "</td></tr>");

            if (!string.IsNullOrEmpty(objDietMaster.CustomerAge.ToString()))
            {
                strBody.Append("<tr><td class='first' align='left'>Age  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.CustomerAge + "</td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.MeasuredWeight.ToString()) && !objDietMaster.MeasuredWeight.ToString().Equals("0"))
            {
                strBody.Append("<tr><td  class='first' align='left'>Wt.  </td>");
                strBody.Append("<td class='second' >" + objDietMaster.MeasuredWeight + " kg</td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.MeasuredHeight.ToString()) && !objDietMaster.MeasuredHeight.ToString().Equals("0"))
            {
                strBody.Append("<tr><td class='first' align='left'>Ht.  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.MeasuredHeight * 100 + " Cm</td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.CalculatedBMI.ToString()) && !objDietMaster.CalculatedBMI.ToString().Equals("0"))
            {
                strBody.Append("<tr><td class='first' align='left'>BMI  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.CalculatedBMI + " kg/m<sup>2</sup></td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.FatPer.ToString()) && !objDietMaster.FatPer.ToString().Equals("0"))
            {
                strBody.Append("<tr><td class='first' align='left'>Fat %  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.FatPer + " %</td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.MussleMass.ToString()) && !objDietMaster.MussleMass.ToString().Equals("0"))
            {
                strBody.Append("<tr><td class='first' align='left'>Mussle Mass  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.MussleMass + " Kg</td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.IdealBodyWeight.ToString()) && !objDietMaster.IdealBodyWeight.ToString().Equals("0"))
            {
                strBody.Append("<tr><td class='first' align='left'>Ideal Body Weight.  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.IdealBodyWeight + " kg</td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.MeasuredWaist.ToString()) && !objDietMaster.MeasuredWaist.ToString().Equals("0"))
            {
                strBody.Append("<tr><td class='first' align='left'>Waist Circumference  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.MeasuredWaist * 100 + " Cm (Normal Range:Male-94 Cm ,Female-80 Cm)</td></tr>");
            }

            if (!string.IsNullOrEmpty(objDietMaster.VisceralFat.ToString()) && !objDietMaster.VisceralFat.ToString().Equals("0"))
            {
                strBody.Append("<tr><td  class='first' align='left'>Visceral Fat </td>");
                strBody.Append("<td class='second'>" + objDietMaster.VisceralFat + " </td></tr>");
            }
            if (!string.IsNullOrEmpty(objDietMaster.AnthrpometricsNotes.ToString()))
            {
                strBody.Append("<tr><td class='first' align='left'>Remark  </td>");
                strBody.Append("<td class='second'>" + objDietMaster.AnthrpometricsNotes.Replace("\n", "<br/>") + " </td></tr>");
            }

            strBody.Append("</table><br/>");

            strBody.Append("<table id='mcomplaint' border='1' cellspacing='0px'><tr><td class='thead'><b>Medical complaints:</b></td></tr><tr><td class='rowcontent'><ol><li>BMI : " + objDietMaster.BMICategory + "</li>");
            string weighlossgain = objDietMaster.WeightGainLossMonth >= 0 ? (objDietMaster.WeightGainLossMonth == 0 ? "No weight gain and loss" : "Recent weight gain") : "Recent Weight loss";

            strBody.Append("<li>" + weighlossgain + "</li>");
            if (objDietMaster.Thyroid.ToString().ToUpper() == "YES")
            {
                strBody.Append("<li>" + objDietMaster.ThyroidType.ToString() + "</li>");
            }

            //BioChemical Complaints
            if (!objDietMaster.FastingGlucose.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Fasting Glucose :" + (objDietMaster.FastingGlucose.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.FastingGlucose)) + "mg/dL");
            }
            if (!objDietMaster.PP.ToString().Equals("-1"))
            {
                strBody1.Append("<li>PP :" + (objDietMaster.PP.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.PP)) + "mg/dL");
            }
            if (!objDietMaster.HB.ToString().Equals("-1"))
            {
                strBody1.Append("<li>HB :" + (objDietMaster.HB.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.HB)) + "g/dL");
            }
            if (!objDietMaster.Creatinine.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Creatinine :" + (objDietMaster.Creatinine.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.Creatinine)) + " g/dL");
            }
            if (!objDietMaster.Albumin.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Albumin :" + (objDietMaster.Albumin.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.Albumin)) + " g/dL");
            }
            if (!objDietMaster.HbA1C.ToString().Equals("-1"))
            {
                strBody1.Append("<li>HbA1C :" + (objDietMaster.HbA1C.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.HbA1C)) + " %");
            }
            if (!objDietMaster.AltSGPT.ToString().Equals("-1"))
            {
                strBody1.Append("<li>ALT (SGPT) :" + (objDietMaster.AltSGPT.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.AltSGPT)) + " IU/L");
            }
            if (!objDietMaster.AltSGOT.ToString().Equals("-1"))
            {
                strBody1.Append("<li>ALT (SGOT) :" + (objDietMaster.AltSGOT.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.AltSGOT)) + " IU/L");
            }
            if (!objDietMaster.Hematocrit.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Hematocrit :" + (objDietMaster.Hematocrit.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.Hematocrit)) + " %");
            }
            if (!objDietMaster.Triglycerides.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Triglycerides :" + (objDietMaster.Triglycerides.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.Triglycerides)) + " mg/dL");
            }
            if (!objDietMaster.TSH.ToString().Equals("-1"))
            {
                strBody1.Append("<li>TSH :" + (objDietMaster.TSH.ToString().ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.TSH)) + " U/ml");
            }
            if (!objDietMaster.HDL.ToString().Equals("-1"))
            {
                strBody1.Append("<li>HDL :" + (objDietMaster.HDL.ToString().ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.HDL)) + " mg/dL");
            }
            if (!objDietMaster.LDL.ToString().Equals("-1"))
            {
                strBody1.Append("<li>LDL :" + (objDietMaster.LDL.ToString().ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.LDL)) + " mg/dL");
            }
            if (!objDietMaster.UricAcid.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Uric Acid :" + (objDietMaster.UricAcid.ToString().ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.UricAcid)) + " mg/dL");
            }
            if (!objDietMaster.TotalCholesterol.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Total Cholesterol :" + (objDietMaster.TotalCholesterol.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.TotalCholesterol)) + " mg/dL");
            }
            if (!objDietMaster.AlkalinePhosphatase.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Alkaline Phosphatase :" + (objDietMaster.AlkalinePhosphatase.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.AlkalinePhosphatase)) + " IU/L");
            }
            if (!objDietMaster.VitaminD3.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Vitamin D3 :" + (objDietMaster.VitaminD3.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.VitaminD3)) + "ng/L");
            }
            if (!objDietMaster.VitaminB12.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Vitamin B12 :" + (objDietMaster.VitaminB12.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.VitaminB12)) + "ng/L");
            }
            if (!objDietMaster.BSL.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Random BSL :" + (objDietMaster.BSL.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.BSL)) + "mg/dl");
            }
            if (!objDietMaster.Platelet.ToString().Equals("-1"))
            {
                strBody1.Append("<li>Platelet :" + (objDietMaster.Platelet.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.Platelet)));
            }
            if (!objDietMaster.RBC.ToString().Equals("-1"))
            {
                strBody1.Append("<li>RBC :" + (objDietMaster.RBC.ToString().Equals("-1") ? "Normal" : Convert.ToString(objDietMaster.RBC)));
            }
            if (!string.IsNullOrEmpty(objDietMaster.BioChemicalLabNotes.ToString()))
            {
                strBody1.Append("<li>Remark :" + objDietMaster.BioChemicalLabNotes.Replace("\n", "<br/>"));
            }
            if (!string.IsNullOrEmpty(objDietMaster.OthersBioChemicalLabs.ToString()))
            {
                strBody1.Append("<li>Others :" + objDietMaster.OthersBioChemicalLabs.Replace("\n", "<br/>"));
            }

            if (!string.IsNullOrEmpty(strBody1.ToString()))
            {
                strBody.Append("<li>BioChemical Findings");
                strBody.Append("<ul type='square'>" + strBody1 + "</ul>");
            }
            //Comorbidity
            strBody.Append("<li>Comorbidity");
            strBody.Append("<ul type='square'>");
            if (!string.IsNullOrEmpty(objDietMaster.CHF) && !objDietMaster.CHF.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>CHF :" + objDietMaster.CHF);
            }
            if (!string.IsNullOrEmpty(objDietMaster.Asthma) && !objDietMaster.Asthma.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Asthma :" + objDietMaster.Asthma);
            }
            if (!string.IsNullOrEmpty(objDietMaster.SleepApnea) && !objDietMaster.SleepApnea.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Sleep Apnea :" + objDietMaster.SleepApnea);
            }
            if (!string.IsNullOrEmpty(objDietMaster.IHD) && !objDietMaster.IHD.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>IHD :" + objDietMaster.IHD);
            }
            //if (!string.IsNullOrEmpty(objDietMaster.FunctionalStatus))
            //    strBody.Append("<li>Functional Status :" + objDietMaster.FunctionalStatus);
            if (!string.IsNullOrEmpty(objDietMaster.Diabetes) && !objDietMaster.Diabetes.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Diabetes :" + objDietMaster.Diabetes);
            }
            if (!string.IsNullOrEmpty(objDietMaster.LeverDisorders) && !objDietMaster.LeverDisorders.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Liver Disorders :" + objDietMaster.LeverDisorders);
            }
            if (!string.IsNullOrEmpty(objDietMaster.Hypertension) && !objDietMaster.Hypertension.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Hypertension :" + objDietMaster.Hypertension);
            }
            if (!string.IsNullOrEmpty(objDietMaster.CardiacDisorders) && !objDietMaster.Hypertension.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Cardiac Disorders :" + objDietMaster.CardiacDisorders);
            }
            if (!string.IsNullOrEmpty(objDietMaster.KidneyDisorders) && !objDietMaster.KidneyDisorders.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Kidney Disorders :" + objDietMaster.KidneyDisorders);
            }
            if (!string.IsNullOrEmpty(objDietMaster.ComorbidityNotes))
            {
                strBody.Append("<li>Remark :" + objDietMaster.ComorbidityNotes);
            }
            if (!string.IsNullOrEmpty(objDietMaster.ComorbidityOthers))
            {
                strBody.Append("<li>Others :" + objDietMaster.ComorbidityOthers.Replace("\n", "<br/>"));
            }
            strBody.Append("</ul></li>");


            //Clinical Complaints
            strBody.Append("<li>Clinical Complaints</li>");
            strBody.Append("<ul type='square'>");
            if (!string.IsNullOrEmpty(objDietMaster.Heartburn) && !objDietMaster.Heartburn.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Heartburn :" + objDietMaster.Heartburn);
            }
            if (!string.IsNullOrEmpty(objDietMaster.Vomiting) && !objDietMaster.Vomiting.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Vomiting" + objDietMaster.Vomiting);
            }
            if (!string.IsNullOrEmpty(objDietMaster.Bloating) && !objDietMaster.Bloating.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Bloating :" + objDietMaster.Bloating);
            }
            if (!string.IsNullOrEmpty(objDietMaster.LaxativeAntacide) && !objDietMaster.LaxativeAntacide.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Use Any Luxative/Antacid :" + objDietMaster.LaxativeAntacide);
            }
            if (!string.IsNullOrEmpty(objDietMaster.Gas) && !objDietMaster.Gas.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Gas :" + objDietMaster.Gas);
            }
            if (!string.IsNullOrEmpty(objDietMaster.Constipation) && !objDietMaster.Constipation.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Constipation :" + objDietMaster.Constipation);
            }
            if (!string.IsNullOrEmpty(objDietMaster.Diarrhoea) && !objDietMaster.Diarrhoea.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Diarrhoea :" + objDietMaster.Diarrhoea);
            }
            if (!string.IsNullOrEmpty(objDietMaster.HomeRemedy) && !objDietMaster.HomeRemedy.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Follow Home Remedy :" + objDietMaster.HomeRemedy);
            }
            if (!string.IsNullOrEmpty(objDietMaster.TakeVitaminSup) && !objDietMaster.TakeVitaminSup.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Vitamin Suplement :" + objDietMaster.TakeVitaminSup);
                if (!string.IsNullOrEmpty(objDietMaster.VitaminSupDet))
                {
                    strBody.Append("<li>Vitamin Suplement Details :" + objDietMaster.VitaminSupDet);
                }
            }
            if (!string.IsNullOrEmpty(objDietMaster.TakeMineralSup) && !objDietMaster.TakeMineralSup.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Mineral Suplement :" + objDietMaster.TakeMineralSup);
                if (!string.IsNullOrEmpty(objDietMaster.MineralSupDet))
                {
                    strBody.Append("<li>Mineral Suplement Details :" + objDietMaster.MineralSupDet);
                }
            }
            if (!string.IsNullOrEmpty(objDietMaster.OralDrugDType) && !objDietMaster.OralDrugDType.ToUpper().Equals("NO"))
            {
                strBody.Append("<li>Oral Drug Type :" + objDietMaster.OralDrugDType);
                if (!string.IsNullOrEmpty(objDietMaster.OralDrugDet))
                {
                    strBody.Append("<li>Oral Drug  Details :" + objDietMaster.OralDrugDet);
                }
            }
            if (!string.IsNullOrEmpty(objDietMaster.ClinicComplaintsNotes))
            {
                strBody.Append("<li>Remark :" + objDietMaster.ClinicComplaintsNotes.Replace("\n", "<br/>"));
            }
            strBody.Append("</ul>");
            strBody.Append("</ol></td></tr></table><br/>");

            strBody.Append("<table width=100% border='1' cellspacing='0px'><tr class='thead'><td>Diet Type:" + objDietMaster.DietType + "</td></tr>");
            if (!string.IsNullOrEmpty(objDietMaster.ExcersizeDetail))
            {
                strBody.Append("<tr><td>Exercise Details:</td></tr><tr><td>" + objDietMaster.ExcersizeDetail + "</td></tr>");
            }
            strBody.Append("<tr><td class='thead'><b>Medical Nutrition Therapy</b></td></tr><tr><td class='rowcontent'><ol contenteditable='true'><li>Calorie Management:&nbsp;CALORIE_TOTAL</li><li>Protein Management:&nbsp;PROTEIN_TOTAL</li>");
            if (objDietMaster.WeightGainLossMonth != 0)
            {
                strBody.Append("<li>Prevent further " + (objDietMaster.WeightGainLossMonth > 0 ? "weight gain" : "Weight loss") + "</li>");
            }
            if (objDietMaster.Thyroid.ToString().ToUpper() == "YES")
            {
                strBody.Append("<li>control " + objDietMaster.ThyroidType.ToString() + " through Medical management and MNT</li>");
            }
            strBody.Append("</td></tr></table>");
            strBody.Append("<table width=100%><tr><td class='thead'><b> &nbsp;Other Nutrients :</b></td></tr><tr><td class='rowcontent'>Balanced Nutrients as per Recommended Dietary Allowances </td></tr></table><br/><br/>");
            //strBody.Append("<table width=100%><tr><td><b>Diet Recall </b></td></tr></table>");

            DataTable dtFoodListWithID = new DataTable();

            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
            {
                SqlDataAdapter da = new SqlDataAdapter("SELECT  FMnFoodID FoodID,FMsFoodname FoodName,(select FGsGroupName from FoodGroupMaster where FGnGroupId=FMsFoodType) 'FoodType' FROM FoodMaster", con);
                da.Fill(dtFoodListWithID);
            }


            DataTable dtFoodGroupImages = new DataTable();

            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
            {
                SqlDataAdapter da = new SqlDataAdapter("SELECT  * FROM FoodGroupMaster", con);
                da.Fill(dtFoodGroupImages);
            }
            ////Get Customer Recall Diet Details
            int custID = Convert.ToInt32(PatientID);
            int i      = 0;

            //strBody.Append("<div style='page-break-before: always;'>");
            if (!string.IsNullOrEmpty(objDietMaster.GrainsServings) || !string.IsNullOrEmpty(objDietMaster.DalsServings) || !string.IsNullOrEmpty(objDietMaster.MilkServings) || !string.IsNullOrEmpty(objDietMaster.NonvegServings) || !string.IsNullOrEmpty(objDietMaster.VegetablesServings) ||
                !string.IsNullOrEmpty(objDietMaster.FruitsServings) || !string.IsNullOrEmpty(objDietMaster.SugarServings) || !string.IsNullOrEmpty(objDietMaster.WaterServings) || !string.IsNullOrEmpty(objDietMaster.BiscuitServings))
            {
                strBody.Append("<p style='page-break-before: always;'>&nbsp;</p><table width='90%'><tbody><tr><td><b>Dietary allowance recommended / day:</b></td></tr></tbody></table>");
                strBody.Append("<table border='1' width='90%' style='border-collapse: collapse;margin-top: 20px;' bordercolor='black'><thead><tr><th style='text-align: center' width='30%'>Food Group</th><th style='text-align: center' width='70%'>Servings</th></tr></thead>");
                //<th style='text-align: center'>Images</th></tr>");
                strBody.Append("<tr><td class='firstu'>Grains and Cereals</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.GrainsServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("GRAINS AND CEREALS")).First().Field <string>("FGsDefaultText") : objDietMaster.GrainsServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("GRAINS AND CEREALS") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("GRAINS AND CEREALS")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Dals Pulses and Legumes</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.DalsServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("DALS PULSES AND LEGUMES")).First().Field <string>("FGsDefaultText") : objDietMaster.DalsServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("DALS PULSES AND LEGUMES") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("DALS PULSES AND LEGUMES")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Milk and Milk Products</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.MilkServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("MILK AND MILK PRODUCTS")).First().Field <string>("FGsDefaultText") : objDietMaster.MilkServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("MILK AND MILK PRODUCTS") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("MILK AND MILK PRODUCTS")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Non-vegetarian foods</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.NonvegServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("NON-VEGETARIAN FOODS")).First().Field <string>("FGsDefaultText") : objDietMaster.NonvegServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("NON-VEGETARIAN FOODS") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("NON-VEGETARIAN FOODS")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Vegetables</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.VegetablesServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("VEGETABLES")).First().Field <string>("FGsDefaultText") : objDietMaster.VegetablesServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("VEGETABLES") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("VEGETABLES")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Fruits</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.FruitsServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("FRUITS")).First().Field <string>("FGsDefaultText") : objDietMaster.FruitsServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("FRUITS") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("FRUITS")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Sugar</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.SugarServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("SUGAR")).First().Field <string>("FGsDefaultText") : objDietMaster.SugarServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("SUGAR") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("SUGAR")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Fat</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.FatServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("FAT")).First().Field <string>("FGsDefaultText") : objDietMaster.FatServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("FAT") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("FAT")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Water</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + (string.IsNullOrEmpty(objDietMaster.WaterServings) ? dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("WATER")).First().Field <string>("FGsDefaultText") : objDietMaster.WaterServings).Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("WATER") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("WATER")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("<tr><td class='firstu'>Miscellaneous</td>");
                strBody.Append("<td class='secondu'><p contenteditable='true'>" + objDietMaster.BiscuitServings.Replace("\n", "<br/>") + "</p></td>");
                //if (dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("BISCUIT") && !string.IsNullOrEmpty(Convert.ToString(x["FGsImage"]))).Count() > 0)
                //    strBody.Append("<td><img src='../Upload/FoodGroup/" + dtFoodGroupImages.AsEnumerable().Where(x => Convert.ToString(x["FGsGroupName"]).ToUpper().Equals("BISCUIT")).First().Field<string>("FGsImage") + "' height=50px width=50px></td></tr>");
                //else
                //    strBody.Append("<td></td></tr>");
                strBody.Append("</tr>");
                strBody.Append("</table><br/>");
            }
            //strBody.Append("</div>");

            strBody.Append("<table width=90% border='1' cellspacing='0px'><tr><td class='thead'><b>Meal Plan</b></td></tr></table><br/>");
            //strBody.Append("<table width=90%><tr><td>You are recommended to follow a <b>CALORIE_TOTAL</b> Calorie diet plan to reach the desired weight.");
            //strBody.Append("Here is sample menu options to help you understand your diet.</td></tr></table><br/><br/><br/>");
            strBody.Append("<table border='1' width='90%' style='border-collapse: collapse;margin-top: 20px;' bordercolor='black'><thead><tr><th align=center width='10%' bgcolor='darksalmon' ><b>Time</b></th><th align=center width='30%' bgcolor='darksalmon'><b>Exchange</b></th><th align=center width='60%' bgcolor='darksalmon'><b>Diet Chart</b></th></tr></thead>");
            DataTable dtRecommendedDietDetail = new DataTable();

            dtRecommendedDietDetail = new RecommendedDietManager().GetRecommendedDietDetails(custID);

            List <RecommendedDietDetails> lstRecommendedDietDetails = new List <RecommendedDietDetails>();

            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><h4>" + "Meal " + mealID + " - " + Convert.ToDateTime(objMealDetails.Time).ToShortTimeString() + "</h4></b></td>");
                        strBody.Append("<tr><td align=center class='firstu' width='20%'><b><h4>" + Convert.ToDateTime(objMealDetails.Time).ToShortTimeString() + "</h4></b></td>");
                    }
                    else
                    {
                        continue;
                    }

                    i = 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"]);


                        DataTable dtFoodNutrients = new DataTable();
                        dtFoodNutrients = new FoodMasterManager().GetFoodMajorNutrients(strFoodName, Convert.ToDouble(strFoodItemDetail[1]), Convert.ToString(strFoodItemDetail[2]));
                        CalorieTotal   += Convert.ToDouble(dtFoodNutrients.Rows[0]["Energy"]);
                        ProteinTotal   += Convert.ToDouble(dtFoodNutrients.Rows[0]["Protein"]);

                        if (i == 0)
                        {
                            strBody.Append("<td class='middleu' width='40%'>" + strFoodName + " " + strFoodItemDetail[1] + " " + strFoodItemDetail[2] + "<br/>");
                        }
                        else
                        {
                            strBody.Append(strFoodName + " " + strFoodItemDetail[1] + " " + strFoodItemDetail[2] + "<br/>");
                        }
                        i++;
                        remark = remark + (Convert.ToString(strFoodItemDetail[3]) + "<br/>");
                    }
                    strBody.Append("</td><td class='secondu' width='40%'>" + remark + "</td></tr>");
                }
            }
            strBody.Append("</table><br/><br/>");
            //}

            strBody.Append("<p style='page-break-before: always;'>&nbsp;</p><table><tbody><tr><td><b>Things to Remember :</b></td></tr></tbody></table>");
            strBody.Append("<div id='ThingsRemember'><table width=90% border='1' cellspacing='0px'><tr><td class='rowcontent'><ol contenteditable='true'><li>Suspected food allergens are dairy, soy, gluten.(you need to be cautious with these foods.) eat small meals if it doesn't  bother you can increase the intake</li>");
            strBody.Append("<li>Take adequate rest</li><li>Drink water</li><li>If you feel muscle spasms  include calcium supplement's/ and monitor vitamin D and B12</li><li>Exercise:  walk/swim 45 minutes /daily</li></td></tr></table></div>");
            strBody.Append("<table width=90% border='1' cellspacing='0px'><tr><td class='thead'><b>Supplements Advised:</b></td></tr><tr><td class='firstu'> <p id='pgSupplements' onblur='return ManageEditableContents();' contenteditable='true'>Nil{SUPPLEMENTS}</p><br/></td></tr></table>");
            strBody.Append("<table width=90% border='1' cellspacing='0px'><tr><td class='thead'><b>Investigation Advised:</b></td></tr></table><p id='pgInvestigations' onblur='return ManageEditableContents();' contenteditable='true'>{INVESTIGATION}</p><br/>");
            strBody.Append("<table width=90% border='1' cellspacing='0px'><tr><td class='thead'><b>Follow up date :</b></td></tr><tr><td class='firstu'><p contenteditable='true'>After 15 days with weight and improvement symptoms.</p></td></tr></table><br/><br/>");
            strBody.Append("<table width=90% border='1' cellspacing='0px'><tr><td>PH_USER</td></tr><tr><td>Consultant Nutritionist & Registered Dietician</td></tr><tr><td class='firstu'>PH_CLINIC</td></tr><tr><td class='firstu'><p contenteditable='true'>Mob No:&nbsp;PH_MOB</p><br/><br/></td></tr></table>");
            strBody.Append("</div>");
            strBody.Append("</div>");
            //</body></html>");
            //strBody.Replace("CALORIE_TOTAL", Convert.ToString(CalorieTotal) + " (g)");
            //strBody.Replace("PROTEIN_TOTAL", Convert.ToString(ProteinTotal) + " (kcal)");
            return(strBody.ToString());
        }
コード例 #7
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());
        }
コード例 #8
0
        protected static string bindRecommended(int i, string date)
        {
            System.Text.StringBuilder strBody = new System.Text.StringBuilder("");

            DataTable dtFoodListWithID = new FoodMasterManager().GetFoodListWithID();
            //Get Customer Recall Diet Details
            int custID = Convert.ToInt32(HttpContext.Current.Session["PatientID"]);
            int k      = 0;

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

            dtRecommendedDietDetail = new RecommendedDietManager().GetRecommendedDietDetailsHistory(custID, date);
            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><tr><td align=center><b>Meals</b></td><td align=center><b>Meal Details</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;
                        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++;
                        }
                        if (strMealFoodDetails.Count() > 0)
                        {
                            strBody.Append("</ul></td></tr>");
                        }
                    }
                    strBody.Append("</table>");
                }
            }

            return(strBody.ToString());
        }
コード例 #9
0
        public IActionResult AddRow([FromBody] AddMealRowRequest request)
        {
            var dayStart = DateTimeUtils.ToLocal(request.Date).Date;
            var dayEnd   = dayStart.AddDays(1).AddMilliseconds(-1);
            var mealRow  = new MealRow
            {
                FoodId    = request.FoodId,
                Quantity  = request.Quantity,
                PortionId = request.PortionId
            };
            MealDetails meal;

            if (request.MealId.HasValue)
            {
                meal = nutritionRepository.GetMeal(request.MealId.Value);
            }
            else if (request.MealDefinitionId.HasValue)
            {
                meal = nutritionRepository.SearchMeals(CurrentUserId, dayStart, dayEnd).FirstOrDefault(m => m.DefinitionId == request.MealDefinitionId);
            }
            else
            {
                return(BadRequest());
            }
            if (meal == null)
            {
                if (request.MealId.HasValue)
                {
                    return(NotFound());
                }
                else if (request.MealDefinitionId.HasValue)
                {
                    var def = nutritionRepository.GetMealDefinitions(CurrentUserId).Single(d => d.Id == request.MealDefinitionId.Value);
                    if (def == null)
                    {
                        return(BadRequest());
                    }

                    meal = new MealDetails
                    {
                        UserId       = CurrentUserId,
                        DefinitionId = def.Id,
                        Created      = DateTimeOffset.Now,
                        Time         = DateTimeUtils.CreateLocal(dayStart, def.Time),
                        Rows         = new MealRow[] { }
                    };
                }
            }
            if (meal.UserId != CurrentUserId)
            {
                return(Unauthorized());
            }
            mealRow.MealId = meal.Id;
            meal.Rows      = meal.Rows.Union(new[] { mealRow }).ToArray();
            CalculateNutrients(meal);
            if (meal.Id == Guid.Empty)
            {
                nutritionRepository.CreateMeal(meal);
            }
            else
            {
                nutritionRepository.CreateMealRow(mealRow, meal.Rows.Length - 1);
            }

            var result = AutoMapper.Mapper.Map <MealRowModel>(mealRow);

            return(Ok(result));
        }
コード例 #10
0
        private void BindData()
        {
            //Get Food Names with FoodID

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


            dtFoodListWithID = new FoodMasterManager().GetFoodListWithID();

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

            DataTable dtRecommendedDietDetail = new DataTable();

            //BusinessHelper<IRecommendedDiet>.Use(RecommendedDietManager =>
            //{
            //    dtRecommendedDietDetail = RecommendedDietManager.GetRecommendedDietDetails(custID);
            //});

            dtRecommendedDietDetail = new RecommendedDietManager().GetRecommendedDietDetails(custID);

            List <RecommendedDietDetails> lstRecommendedDietDetails = new List <RecommendedDietDetails>();

            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);

                    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);
                }
                objRecommendedDietDetails.MealDetails = lstMealDetails;
                lstRecommendedDietDetails.Add(objRecommendedDietDetails);
            }

            /// Generate HTML for saved Meals Data

            StringBuilder sbSingleRecommendedDietDetailsTemplate = new StringBuilder();



            sbSingleRecommendedDietDetailsTemplate.Append("<div class='form-group' {{ RecallDiet48Hour }}>");
            sbSingleRecommendedDietDetailsTemplate.Append("  <div class='days-block pull-left'>");
            sbSingleRecommendedDietDetailsTemplate.Append("      <table id='diet-table-{{ MealName }}' class='table table-striped'>");
            sbSingleRecommendedDietDetailsTemplate.Append("          <tbody>");
            sbSingleRecommendedDietDetailsTemplate.Append("              <tr>");
            sbSingleRecommendedDietDetailsTemplate.Append("                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                      <label class='label-block control-label text-left' for='txtTimePicker{{ MealName }}'>{{ MealName }}</label>");
            sbSingleRecommendedDietDetailsTemplate.Append("                          <div class='time-block'>");
            sbSingleRecommendedDietDetailsTemplate.Append("                              <div class='input-group bootstrap-timepicker'>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                  <input id='txtTimePicker{{ MealName }}' type='text' class='form-control' value='{{ MealTime }}' data-meal-name ='{{ MealName }}' data-meal-time ='{{ MealTime }}' />");
            sbSingleRecommendedDietDetailsTemplate.Append("                                      <span class='input-group-addon'>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                          <i class='fa fa-clock-o bigger-110'></i>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                      </span>");
            sbSingleRecommendedDietDetailsTemplate.Append("                              </div>");
            sbSingleRecommendedDietDetailsTemplate.Append("                          </div>");
            sbSingleRecommendedDietDetailsTemplate.Append("                  </td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                      {{ MealDays }}");
            sbSingleRecommendedDietDetailsTemplate.Append("                      <div style='margin-top: 10px;'>");
            sbSingleRecommendedDietDetailsTemplate.Append("                          <table class='table table-bordered table-striped dataTable'>");
            sbSingleRecommendedDietDetailsTemplate.Append("                              <tr>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                      <input type='text' class='FoodItem scrollable typeahead' id='txtFoodItem{{ MealName }}' placeholder='Food' style='min-width: 175px; font-size: 16px;'></td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                      <input type='text' class='FoodQuantity scrollable' id='txtFoodQuantity{{ MealName }}' placeholder='Quantity'></td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                      <input type='text' class='FoodMeasure scrollable typeahead' id='txtFoodMeasure{{ MealName }}' placeholder='Measure' style='min-width: 175px; font-size: 16px;'></td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                      <input type='text' class='FoodRemark scrollable' id='txtFoodRemark{{ MealName }}' placeholder='Remark'></td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                                      <input name='add_button' type='button' id='add_button' value='Add' onclick='addRecommendedFoodRow(&quot;{{ MealName }}&quot;)' class='btn btn-primary btn-sm' /></td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                              </tr>");
            sbSingleRecommendedDietDetailsTemplate.Append("                          </table>");
            sbSingleRecommendedDietDetailsTemplate.Append("                      </div>");
            sbSingleRecommendedDietDetailsTemplate.Append("                      {{ FoodTable }}");
            sbSingleRecommendedDietDetailsTemplate.Append("                  </td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                  <td>");
            sbSingleRecommendedDietDetailsTemplate.Append("                      <input type='button' id='btnSave{{ MealName }}' class='btn btn-primary btn-sm hidden' value='Save' onclick='saveRecommendedDietMeal(&quot;{{ MealName }}&quot;)'/>");
            sbSingleRecommendedDietDetailsTemplate.Append("                  </td>");
            sbSingleRecommendedDietDetailsTemplate.Append("              </tr>");
            sbSingleRecommendedDietDetailsTemplate.Append("          </tbody>");
            sbSingleRecommendedDietDetailsTemplate.Append("      </table>");
            sbSingleRecommendedDietDetailsTemplate.Append("  </div>");
            sbSingleRecommendedDietDetailsTemplate.Append("</div>");

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

            foreach (RecommendedDietDetails itemRecommendedDietDetails in lstRecommendedDietDetails)
            {
                StringBuilder sbRecommendedDietDetails = new StringBuilder();
                string        mealName = "", mealTime = "", mealDays = "", foodTable = "";

                txtRecommendedDietNotes.Text = itemRecommendedDietDetails.Notes ?? string.Empty; //Bind Notes Data to textbox


                foreach (MealDetails itemMealDetails in itemRecommendedDietDetails.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();
                    sbRecommendedDietDetails.Append(sbSingleRecommendedDietDetailsTemplate).Replace("{{ MealName }}", mealName).Replace("{{ MealTime }}", mealTime).Replace("{{ MealDays }}", mealDays).Replace("{{ FoodTable }}", foodTable).Replace("{{ RecallDiet48Hour }}", roleRecallDiet48Hour);
                }

                divRecommendedDietMeals.InnerHtml = sbRecommendedDietDetails.ToString();
                break; // Since for single visit
            }
        }
コード例 #11
0
        public async Task <MealVenueSetRes> SetMealVenueDetailsByID(MealVenueSetReq request)
        {
            MealVenueSetRes  mealVenueSetRes  = new MealVenueSetRes();
            mProductSupplier mProductSupplier = new mProductSupplier();

            mealVenueSetRes.MealID = request.MealID;
            mealVenueSetRes.QRFID  = request.QRFID;
            var    result         = _MongoContext.mQuote.AsQueryable().Where(a => a.QRFID == request.QRFID).ToList();
            string msg            = "";
            long   venuedetailsid = request.VenueTypes.VenueDetails.VenueDetailsId;

            mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = venuedetailsid;
            if (result != null && result.Count > 0)
            {
                var resultmeal = _MongoContext.mPosition.AsQueryable().Where(a => a.QRFID == request.QRFID).FirstOrDefault();

                if (resultmeal != null)
                {
                    MealDetails       objMealDetails = resultmeal.Meals.Find(m => m.MealID == request.MealID);
                    List <VenueTypes> lstVenueTypes  = new List <VenueTypes>();

                    if (!(string.IsNullOrEmpty(request.VenueTypes.VenueDetails.MealTypeID)))
                    {
                        mProductSupplier = _MongoContext.mProductSupplier.AsQueryable().Where(p => p.Product_Id == request.VenueTypes.VenueDetails.MealTypeID && p.DafaultSupplier == true).FirstOrDefault();
                        request.VenueTypes.VenueDetails.SupplementID = mProductSupplier != null ? mProductSupplier.VoyagerProductSupplier_Id : "";
                    }

                    if (objMealDetails != null)
                    {
                        lstVenueTypes = objMealDetails.VenueTypes;
                        if (lstVenueTypes != null && lstVenueTypes.Count > 0)
                        {
                            if (lstVenueTypes.Where(v => v.VenueDetails.VenueDetailsId == venuedetailsid).FirstOrDefault() != null)
                            {
                                request.VenueTypes.VenueDetails.EditDate = DateTime.Now;
                                lstVenueTypes.Where(v => v.VenueDetails.VenueDetailsId == venuedetailsid).FirstOrDefault().VenueDetails  = request.VenueTypes.VenueDetails;
                                lstVenueTypes.Where(v => v.VenueDetails.VenueDetailsId == venuedetailsid).FirstOrDefault().VenueTypeName = request.VenueTypes.VenueTypeName;
                                mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = venuedetailsid;
                                msg = "Details Saved Successfully.";
                            }
                            else
                            {
                                QRFCounterRequest qrfCounterRequest = new QRFCounterRequest();
                                qrfCounterRequest.CounterType = _configuration["CounterType:MealsVenue"].ToString();
                                request.VenueTypes.VenueDetails.VenueDetailsId         = _genericRepository.GetNextReferenceNumber(qrfCounterRequest).LastReferenceNumber;
                                mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = request.VenueTypes.VenueDetails.VenueDetailsId;

                                request.VenueTypes.VenueDetails.CreateDate = DateTime.Now;
                                request.VenueTypes.VenueDetails.EditDate   = null;
                                request.VenueTypes.VenueDetails.EditUser   = "";

                                if (!(string.IsNullOrEmpty(request.VenueTypes.VenueDetails.MealTypeID)))
                                {
                                    mProductSupplier = _MongoContext.mProductSupplier.AsQueryable().Where(p => p.Product_Id == request.VenueTypes.VenueDetails.MealTypeID && p.DafaultSupplier == true).FirstOrDefault();
                                }
                                lstVenueTypes.Add(new VenueTypes {
                                    VenueDetails = request.VenueTypes.VenueDetails, VenueTypeName = request.VenueTypes.VenueTypeName
                                });
                                msg = "Details Updated Successfully.";
                            }
                        }
                        else
                        {
                            QRFCounterRequest qrfCounterRequest = new QRFCounterRequest();

                            qrfCounterRequest.CounterType = _configuration["CounterType:MealsVenue"].ToString();
                            request.VenueTypes.VenueDetails.VenueDetailsId         = _genericRepository.GetNextReferenceNumber(qrfCounterRequest).LastReferenceNumber;
                            mealVenueSetRes.VenueTypes.VenueDetails.VenueDetailsId = request.VenueTypes.VenueDetails.VenueDetailsId;

                            request.VenueTypes.VenueDetails.CreateDate = DateTime.Now;
                            request.VenueTypes.VenueDetails.EditDate   = null;
                            request.VenueTypes.VenueDetails.EditUser   = "";

                            lstVenueTypes.Add(new VenueTypes {
                                VenueDetails = request.VenueTypes.VenueDetails, VenueTypeName = request.VenueTypes.VenueTypeName,
                            });

                            msg = "Details Saved Successfully.";
                        }
                        await _MongoContext.mPosition.FindOneAndUpdateAsync(m => m.QRFID == request.QRFID && m.Meals.Any(md => md.MealID == request.MealID),
                                                                            Builders <mPosition> .Update.Set(m => m.Meals[-1].VenueTypes, lstVenueTypes));
                    }
                    else
                    {
                        msg = "Meal ID not exist.";
                    }
                }
                else
                {
                    msg = "QRF ID not exist in Meals.";
                }
            }
            else
            {
                msg = "QRF ID not exist.";
            }
            mealVenueSetRes.ResponseStatus.Status       = "Success";
            mealVenueSetRes.ResponseStatus.ErrorMessage = msg;
            return(mealVenueSetRes);
        }
コード例 #12
0
        public async Task <MealsGetRes> GetMealsDetailsByQRFID(QuoteGetReq request)
        {
            var response = new MealsGetRes();
            List <MealDetails> objMealsProperties = new List <MealDetails>();

            RoutingGetReq req = new RoutingGetReq();

            req.QRFId = request.QRFID;

            var resultQuote = _MongoContext.mQuote.AsQueryable().Where(q => q.QRFID == request.QRFID);

            if (resultQuote != null && resultQuote.Count() > 0)
            {
                var resultPosition = _MongoContext.mPosition.AsQueryable().Where(q => q.QRFID == request.QRFID).FirstOrDefault();
                List <RoutingInfo> lstRoutingInfo = await _quoteRepository.GetQRFRouteDetailsByQRFID(req);

                if (resultPosition != null)
                {
                    var result = resultPosition.Meals;
                    if (result != null && result.Count > 0)
                    {
                        var CityCount = result.GroupBy(m => new { m.CityID }).Select(m => new { m.Key.CityID, DayCount = m.Count() });

                        if ((lstRoutingInfo != null && lstRoutingInfo.Count > 0) && (CityCount != null && CityCount.Count() > 0))
                        {
                            result.ToList().FindAll(f => !lstRoutingInfo.Exists(r => r.ToCityID == f.CityID)).ForEach(c => c.IsDeleted = true);

                            foreach (var item in lstRoutingInfo)
                            {
                                int daycount = CityCount.Where(c => c.CityID == item.ToCityID).Select(c => c.DayCount).FirstOrDefault();
                                if (item.Days > daycount)
                                {
                                    // int i = item.Days - daycount; //5-3=2
                                    for (int j = daycount; j < item.Days; j++)
                                    {
                                        result.Add(new MealDetails {
                                            CityID = item.ToCityID, CityName = item.ToCityName, VenueTypes = new List <VenueTypes>()
                                        });
                                    }
                                }
                                else if (item.Days < daycount)
                                {
                                    int i = daycount - item.Days; //5-3=2
                                    result.Where(r => r.CityID == item.ToCityID).TakeLast(i).ToList().ForEach(m => { m.IsDeleted = true; });
                                }
                            }
                            TimeSpan timeoutprev;
                            foreach (var m in result)
                            {
                                m.SequenceNo = lstRoutingInfo.Where(r => r.ToCityID == m.CityID).Select(t => t.RouteSequence).FirstOrDefault();
                                AccomodationInfo objAccomodationInfo = resultPosition.AccomodationInfo.Where(a => a.StartingFrom == m.DayID && a.IsDeleted == false).FirstOrDefault();
                                if (objAccomodationInfo != null)
                                {
                                    MealDetails md = CheckDefaultMealPlan(m, timeoutprev, objAccomodationInfo, out TimeSpan newtimeout);
                                    m.Breakfast   = md.Breakfast;
                                    m.DefaultPlan = md.DefaultPlan;
                                    m.Dinner      = md.Dinner;
                                    m.Lunch       = md.Lunch;
                                    timeoutprev   = newtimeout;
                                }
                            }
                            result = result.Where(m => m.IsDeleted == false).OrderBy(m => m.SequenceNo).ToList();

                            int k = 1;
                            result.ForEach(m => m.DayID    = "Day " + (k++));
                            response.MealDetails           = result;
                            response.ResponseStatus.Status = "Success";
                        }
                        else if ((lstRoutingInfo != null && lstRoutingInfo.Count > 0) && CityCount.Count() == 0)
                        {
                            mPosition objPosition = AddMealsDetails(objMealsProperties, lstRoutingInfo, request, resultPosition.AccomodationInfo, "i");
                            result = objPosition.Meals;

                            var resultFlag = await _MongoContext.mPosition.UpdateOneAsync(Builders <mPosition> .Filter.Eq("QRFID", request.QRFID),
                                                                                          Builders <mPosition> .Update.Set("Meals", result));

                            response.ResponseStatus.Status       = resultFlag.MatchedCount > 0 ? "Success" : "Failure";
                            response.ResponseStatus.ErrorMessage = resultFlag.MatchedCount > 0 ? "Saved Successfully." : "Meals Details not updated.";
                        }
                        else
                        {
                            TimeSpan timeoutprev;
                            var      agentroute = resultQuote.FirstOrDefault().RoutingInfo.FirstOrDefault();
                            result.ForEach(m =>
                            {
                                m.IsDeleted  = true; m.EditDate = agentroute.EditDate; m.EditUser = request.UserName;
                                m.SequenceNo = lstRoutingInfo.Where(r => r.ToCityID == m.CityID).Select(t => t.RouteSequence).FirstOrDefault();
                                AccomodationInfo objAccomodationInfo = resultPosition.AccomodationInfo.Where(a => a.StartingFrom == m.DayID && a.IsDeleted == false).FirstOrDefault();
                                if (objAccomodationInfo != null)
                                {
                                    MealDetails md = CheckDefaultMealPlan(m, timeoutprev, objAccomodationInfo, out TimeSpan newtimeout);
                                    m.Breakfast    = md.Breakfast;
                                    m.DefaultPlan  = md.DefaultPlan;
                                    m.Dinner       = md.Dinner;
                                    m.Lunch        = md.Lunch;
                                    timeoutprev    = newtimeout;
                                }
                            });

                            UpdateResult resultFlag = await _MongoContext.mPosition.UpdateOneAsync(Builders <mPosition> .Filter.Eq("QRFID", request.QRFID),
                                                                                                   Builders <mPosition> .Update.Set("Meals", result));

                            response.ResponseStatus.Status       = resultFlag.MatchedCount > 0 ? "Success" : "Failure";
                            response.ResponseStatus.ErrorMessage = resultFlag.MatchedCount > 0 ? "Saved Successfully." : "Meals Details not updated.";
                        }
                    }
                    else
                    {
                        UpdateResult resultFlag = null;
                        if (lstRoutingInfo != null && lstRoutingInfo.Count > 0)
                        {
                            mPosition objPosition = AddMealsDetails(objMealsProperties, lstRoutingInfo, request, resultPosition.AccomodationInfo, "i");

                            resultFlag = await _MongoContext.mPosition.UpdateOneAsync(Builders <mPosition> .Filter.Eq("QRFID", request.QRFID),
                                                                                      Builders <mPosition> .Update.Set("Meals", objPosition.Meals));

                            response.MealDetails                 = objPosition.Meals;
                            response.ResponseStatus.Status       = resultFlag.MatchedCount > 0 ? "Success" : "Failure";
                            response.ResponseStatus.ErrorMessage = resultFlag.MatchedCount > 0 ? "Saved Successfully." : "Meals Details not updated.";
                        }
                        else
                        {
                            response.ResponseStatus.ErrorMessage = "No Routing Details found.";
                            response.ResponseStatus.Status       = "Failure";
                        }
                    }
                }
                else
                {
                    if (lstRoutingInfo != null && lstRoutingInfo.Count > 0)
                    {
                        mPosition objPosition = AddMealsDetails(objMealsProperties, lstRoutingInfo, request, resultPosition.AccomodationInfo, "i");

                        await _MongoContext.mPosition.InsertOneAsync(objPosition);

                        response.ResponseStatus.Status = "Success";
                        response.MealDetails           = objPosition.Meals;
                    }
                    else
                    {
                        response.ResponseStatus.ErrorMessage = "No Routing Details found.";
                        response.ResponseStatus.Status       = "Failure";
                    }
                }
            }
            else
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "QRFID is not exists.";
            }
            return(response);
        }
コード例 #13
0
        public MealDetails CheckDefaultMealPlan(MealDetails m, TimeSpan timeoutprev, AccomodationInfo objAccomodationInfo, out TimeSpan newtimeout)
        {
            m.DefaultPlan = objAccomodationInfo.MealPlan;
            if (m.DefaultPlan != null && m.DefaultPlan.ToLower() != "nb")
            {
                var hotelid = objAccomodationInfo.HotelID;
                List <ProductAttributes> lstProdAttr = _MongoContext.mProducts.AsQueryable().Where(p => p.VoyagerProduct_Id == hotelid).Select(p => p.ProductAttributes).FirstOrDefault();
                if (lstProdAttr != null && lstProdAttr.Count > 0)
                {
                    List <ProdAttributeValues> lstprodval = lstProdAttr.Where(p => p.AttributeGroupName == "Times").Select(p => p.AttributeValues).FirstOrDefault();
                    if (lstprodval != null && lstprodval.Count > 0)
                    {
                        TimeSpan timein, timeout;

                        string strchkin  = lstprodval.Where(a => a.AttributeName == "Check In").Select(a => a.AttributeValue).FirstOrDefault();
                        string strchkout = lstprodval.Where(a => a.AttributeName == "Check Out").Select(a => a.AttributeValue).FirstOrDefault();
                        TimeSpan.TryParse(strchkin, out timein);
                        TimeSpan.TryParse(strchkout, out timeout);
                        newtimeout = timeout;

                        if (timein != null && timeout != null)
                        {
                            if (m.DefaultPlan.ToLower() == "bb")
                            {
                                bool flag = false;
                                if ((timein >= new TimeSpan(07, 00, 00) && timein <= new TimeSpan(07, 30, 00)) ||
                                    (timeoutprev != null && timeoutprev >= new TimeSpan(07, 30, 00)))
                                {
                                    m.Breakfast = "Included in Hotel";
                                    flag        = true;
                                }
                                if (!flag)
                                {
                                    m.DefaultPlan = "";
                                }
                            }
                            else if (m.DefaultPlan.ToLower() == "hb")
                            {
                                bool flag = false;

                                if ((timein >= new TimeSpan(07, 00, 00) && timein <= new TimeSpan(07, 30, 00)) ||
                                    (timeoutprev != null && timeoutprev >= new TimeSpan(07, 30, 00)))
                                {
                                    m.Breakfast = "Included in Hotel";
                                    flag        = true;
                                }

                                if ((timein >= new TimeSpan(07, 00, 00) && timein <= new TimeSpan(21, 00, 00)) ||
                                    (timeoutprev != null && timeoutprev >= new TimeSpan(21, 00, 00)))
                                {
                                    m.Dinner = "Included in Hotel"; flag = true;
                                }

                                if (!flag)
                                {
                                    m.DefaultPlan = "";
                                }
                            }
                            else if (m.DefaultPlan.ToLower() == "fb")
                            {
                                bool flag = false;

                                if ((timein >= new TimeSpan(07, 00, 00) && timein <= new TimeSpan(07, 30, 00)) ||
                                    (timeoutprev != null && timeoutprev >= new TimeSpan(07, 30, 00)))
                                {
                                    m.Breakfast = "Included in Hotel";
                                    flag        = true;
                                }
                                if ((timein >= new TimeSpan(07, 00, 00) && timein <= new TimeSpan(13, 30, 00)) ||
                                    (timeoutprev != null && timeoutprev >= new TimeSpan(13, 30, 00)))
                                {
                                    m.Lunch = "Included in Hotel"; flag = true;
                                }

                                if ((timein >= new TimeSpan(07, 00, 00) && timein <= new TimeSpan(21, 00, 00)) ||
                                    (timeoutprev != null && timeoutprev >= new TimeSpan(21, 00, 00)))
                                {
                                    m.Dinner = "Included in Hotel"; flag = true;
                                }

                                if (!flag)
                                {
                                    m.DefaultPlan = "";
                                }
                            }

                            newtimeout = timeout;
                        }
                    }
                }
            }
            return(m);
        }