private List <SureMedRdlcReportInsideInfo> buildPillInside() { var listPillGroup = listPill.GroupBy(p => new { p.PillId }, (key, group) => new { pillId = key.PillId, pillInfo = group }); var listPillInside = new List <SureMedRdlcReportInsideInfo>(); listImagePill = new List <Image>(); foreach (var item in listPillGroup.OrderBy(p => p.pillId)) { if (item.pillId != null) { var pillGroup = listPillGroup.FirstOrDefault(o => o.pillId == item.pillId); var medicine = Helper.GetMedicineData(tray, item.pillId); var pillInside = new SureMedRdlcReportInsideInfo(); pillInside.NationalDrugCode = Linguist.Phrase("NDCPrefix") + item.pillId.ToUpper(); var listDispense = GetChargeAndExpireDate(); var dispenseInfo = listDispense.FirstOrDefault(x => x.PillId.Contains(item.pillId)); var LotTemp = dispenseInfo != null ? dispenseInfo.ChargeNumberList : ""; var col1Name = Helper.CalculateIntakeTime(tray, 1); var col2Name = Helper.CalculateIntakeTime(tray, 2); var col3Name = Helper.CalculateIntakeTime(tray, 3); var col4Name = Helper.CalculateIntakeTime(tray, 0); pillInside.Col1Name = col1Name.Length > 5 ? col1Name.Substring(0, 5) : col1Name; pillInside.Col2Name = col2Name.Length > 5 ? col2Name.Substring(0, 5) : col2Name; pillInside.Col3Name = col3Name.Length > 5 ? col3Name.Substring(0, 5) : col3Name; pillInside.Col4Name = col4Name.Length > 5 ? col4Name.Substring(0, 5) : col4Name; if (medicine.PillInfo != null) { pillInside.Manufacturer = (Linguist.Phrase("MgfWithColonTitle") + " " + medicine.PillInfo.ManufactureName).Length > 30? (Linguist.Phrase("MgfWithColonTitle") + " " + medicine.PillInfo.ManufactureName).Substring(0, 30): (Linguist.Phrase("MgfWithColonTitle") + " " + medicine.PillInfo.ManufactureName); pillInside.BrandName = Linguist.Phrase("BrandWithColonTitle") + " " + medicine.PillInfo.BrandNameShort; pillInside.DrugName = medicine.PillInfo.ItemShortName; pillInside.Description = medicine.PillInfo.Description; pillInside.Shape = medicine.PillInfo.Shape; pillInside.Color = medicine.PillInfo.Color; pillInside.Imprint = medicine.PillInfo.Imprint; pillInside.LotNumber = Linguist.Phrase("LotWithColonTitle") + "" + LotTemp; pillInside.RxNumber = Linguist.Phrase("RxWithColonTitle") + " " + medicine.PrescriptionNumber; pillInside.RxOrigBarCode = Utils.imageToByteArray(GenCode128.Code128Rendering.MakeBarcodeImage(medicine.PrescriptionNumberOriginal, 2, true)); pillInside.DrName = Linguist.Phrase("DrNameWithColonTitle") + " " + medicine.PrescribingPhysician; pillInside.Instructions = medicine.MedicationsInstruction; pillInside.Model1 = medicine.PillInfo.Model1 != null?Utils.imageToByteArray(medicine.PillInfo.Model1) : new byte[0]; pillInside.Model2 = (medicine.PillInfo.Model2 != null) ? Utils.imageToByteArray(medicine.PillInfo.Model2) : new byte[0]; //if (medicine.PillInfo.Model1 != null) //{ //listImagePill.Add(medicine.PillInfo.Model1); //pillInside.ImgModel1 = medicine.PillInfo.Model1; //} //if (medicine.PillInfo.Model2 != null) //{ //listImagePill.Add(medicine.PillInfo.Model2); //pillInside.ImgModel2 = medicine.PillInfo.Model2; //} //if (medicine.PillInfo.Model3 != null) //{ //listImagePill.Add(medicine.PillInfo.Model3); //pillInside.ImgModel3 = medicine.PillInfo.Model3; //} //if (medicine.PillInfo.Model4 != null) //{ //listImagePill.Add(medicine.PillInfo.Model4); //pillInside.ImgModel4 = medicine.PillInfo.Model4; //} } if (pillGroup != null && pillGroup.pillInfo != null) { foreach (var pill in pillGroup.pillInfo) { if (pill != null) { switch ((pill.cupNumber + 3) % 4) { case 0: pillInside.NumMorn += pill.Amount; break; case 1: pillInside.NumNoon += pill.Amount; break; case 2: pillInside.NumEve += pill.Amount; break; case 3: pillInside.NumNight += pill.Amount; break; default: break; } } } } listPillInside.Add(pillInside); } } //var size = ProcessImageModelPill.SetNewImageSize(listImagePill); //foreach (var item in listPillInside) //{ //item.Model1 = ProcessImageModelPill.ResizePillModels(item.ImgModel1, size); //item.Model2 = ProcessImageModelPill.ResizePillModels(item.ImgModel2, size); //} return(listPillInside); }
private List <SureMedRdlcReportInsideInfo> buildPillInside() { var listPillGroup = listPill.GroupBy(p => new { p.PillId }, (key, group) => new { pillId = key.PillId, pillInfo = group }); var listPillInside = new List <SureMedRdlcReportInsideInfo>(); listImagePill = new List <Image>(); foreach (var item in listPillGroup.OrderBy(p => p.pillId)) { if (item.pillId != null) { var pillGroup = listPillGroup.FirstOrDefault(o => o.pillId == item.pillId); var medicine = Helper.GetMedicineData(tray, item.pillId); var pillInside = new SureMedRdlcReportInsideInfo(); pillInside.NationalDrugCode = Linguist.Phrase("NDCPrefix") + item.pillId.ToUpper(); var col1Name = Helper.CalculateIntakeTime(tray, 1); var col2Name = Helper.CalculateIntakeTime(tray, 2); var col3Name = Helper.CalculateIntakeTime(tray, 3); var col4Name = Helper.CalculateIntakeTime(tray, 0); pillInside.Col1Name = col1Name.Length > 5 ? col1Name.Substring(0, 5) : col1Name; pillInside.Col2Name = col2Name.Length > 5 ? col2Name.Substring(0, 5) : col2Name; pillInside.Col3Name = col3Name.Length > 5 ? col3Name.Substring(0, 5) : col3Name; pillInside.Col4Name = col4Name.Length > 5 ? col4Name.Substring(0, 5) : col4Name; if (medicine.PillInfo != null) { pillInside.Manufacturer = (Linguist.Phrase("MgfWithColonTitle") + " " + medicine.PillInfo.ManufactureName).Length > 30? (Linguist.Phrase("MgfWithColonTitle") + " " + medicine.PillInfo.ManufactureName).Substring(0, 30): (Linguist.Phrase("MgfWithColonTitle") + " " + medicine.PillInfo.ManufactureName); pillInside.BrandName = Linguist.Phrase("BrandWithColonTitle") + " " + medicine.PillInfo.BrandNameShort; pillInside.DrugName = medicine.PillInfo.ItemShortName; pillInside.Description = medicine.PillInfo.Description; pillInside.RxNumber = Linguist.Phrase("RxWithColonTitle") + " " + medicine.PrescriptionNumber; pillInside.DrName = Linguist.Phrase("DrNameWithColonTitle") + " " + medicine.PrescribingPhysician; if (medicine.MedicationsInstruction.Contains("*")) { pillInside.Instructions = medicine.MedicationsInstruction.Substring(0, medicine.MedicationsInstruction.IndexOf("*") - 1); pillInside.Notes = medicine.MedicationsInstruction.Substring(medicine.MedicationsInstruction.IndexOf("*") + 1); } else { pillInside.Instructions = medicine.MedicationsInstruction; pillInside.Notes = null; } //pillInside.Model1 = medicine.PillInfo.Model1 != null ? Utils.imageToByteArray(medicine.PillInfo.Model1) : new byte[0]; //pillInside.Model2 = (medicine.PillInfo.Model2 != null) ? Utils.imageToByteArray(medicine.PillInfo.Model2) : new byte[0]; pillInside.DrugName = medicine.PillInfo.Description; if (medicine.PillInfo.Model1 != null) { listImagePill.Add(medicine.PillInfo.Model1); pillInside.ImgModel1 = medicine.PillInfo.Model1; } if (medicine.PillInfo.Model2 != null) { listImagePill.Add(medicine.PillInfo.Model2); pillInside.ImgModel2 = medicine.PillInfo.Model2; } if (medicine.PillInfo.Model3 != null) { listImagePill.Add(medicine.PillInfo.Model3); pillInside.ImgModel3 = medicine.PillInfo.Model3; } if (medicine.PillInfo.Model4 != null) { listImagePill.Add(medicine.PillInfo.Model4); pillInside.ImgModel4 = medicine.PillInfo.Model4; } } if (pillGroup != null && pillGroup.pillInfo != null) { foreach (var pill in pillGroup.pillInfo) { if (pill != null) { switch ((pill.cupNumber + 3) % 4) { case 0: pillInside.NumMorn = pill.Amount; break; case 1: pillInside.NumNoon = pill.Amount; break; case 2: pillInside.NumEve = pill.Amount; break; case 3: pillInside.NumNight = pill.Amount; break; default: break; } } } } listPillInside.Add(pillInside); } } var size = ProcessImageModelPill.SetNewImageSize(listImagePill); foreach (var item in listPillInside) { item.Model1 = ProcessImageModelPill.ResizePillModels(item.ImgModel1, size); item.Model2 = ProcessImageModelPill.ResizePillModels(item.ImgModel2, size); } return(listPillInside); }