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()); }
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); } } }
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); }
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); }
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())); }
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: CALORIE_TOTAL</li><li>Protein Management: 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> 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;'> </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;'> </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: 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()); }
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 + (" " + 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 + (" " + Convert.ToString(strFoodItemDetail[3]) + "<br/>"); } if (strMealFoodDetails.Count() > 0) { strBody.Append("</ul></td><td>" + remark + "</td></tr>"); } } strBody.Append("</table>"); } } return(strBody.ToString()); }
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()); }
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)); }
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("{{ MealName }}")' 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("{{ MealName }}")'/>"); 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> </td>"); sbFoodTableTemplate.Append(" <td> </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> </td>"); sbFoodTableTemplate.Append(" <td> </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> </td>"); sbFoodTableTemplate.Append(" <td> </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 } }
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); }
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); }
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); }