// // Create a reference to a file. //FileInfo fi = new FileInfo("temp.txt"); //// Actually create the file. //FileStream fs = fi.Create(); //// Modify the file as required, and then close the file. //fs.Close(); //// Delete the file. //fi.Delete(); // Dim sRTF, sFileName As Object //'Create the file for the RTF //Dim fso, myFile As Object //fso = CreateObject("Scripting.FileSystemObject") //sFileName = "contract_" & AlignStr(obj.intContractId.ToString, 6) & ".rtf" //myFile = fso.CreateTextFile(Server.MapPath(".") & "\\Reports\\" & _ // sFileName, True) public string PrintPatientResults(objPatientResults obj) { string fileName = "contract_" + obj.SampleID.ToString() + ".rtf"; FileInfo fso = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "\\\\contracts\\\\" + fileName); FileStream myFile = fso.Create(); StreamWriter strWr = new StreamWriter(myFile, Encoding.GetEncoding("WINDOWS-1251")); string sRTF; // Начинаем формирование файла sRTF = "{\\rtf1\\ansi\\ansicpg1251\\uc1\\deff0\\stshfdbch0\\stshfloch0\\stshfhich0\\stshfbi0\\deflang1049\\deflangfe1049\\margl720\\margr720\\margt720\\margb720\\"; strWr.WriteLine(sRTF); sRTF = "{\\fonttbl {\\f0\\froman Times New Roman;}{\\f1\\fswiss Arial;}{\\f2\\fmodern Verdana;}}"; strWr.WriteLine(sRTF); sRTF = "{\\info{\\title Result " + obj.SampleID.ToString() + "}{\\author IAC Laboratory}}"; strWr.WriteLine(sRTF); sRTF = "{\\header\\pard\\qc\\b{\\fs16\\f2 \\b Смоленская государственная медицинская академия \\b0\\par\\b Научно-исследовательский институт антимикробной химиотерапии \\b0\\par\\b Клинико-диагностическая лаборатория, тел. 45-06-13 \\b0\\par\\par\\par}}"; strWr.WriteLine(sRTF); sRTF = "{\\footer\\pard\\qc\\brdrt\\brdrs\\brdrw10\\brsp100\\fs18 Страница {\\field{\\*\\fldinst PAGE}{\\fldrslt 1}} из {\\field{\\*\\fldinst NUMPAGES}{\\fldrslt 1}} \\par}"; strWr.WriteLine(sRTF); // Заполнение основного блока документа strWr.WriteLine("\\qc\\fs20\\f2 \\b МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ № " + obj.SampleID.ToString() + "\\b0 \\cf0"); strWr.WriteLine("{"); strWr.WriteLine("\\par\\par\\fs20\\f2 "); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Лечебное учреждение: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.Clinic + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Врач: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.DoctorFIO + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Пациент: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.PatientFIO + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Дата рождения: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.BirthDate + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Клинический материал: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.ClinicMaterial + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Дата получения материала: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.DateDeliverySample + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); strWr.WriteLine("}"); if (obj.listAnalysis.Count > 0) { strWr.WriteLine("\\par\\par\\qj\\fs20\\f2 \\b Анализы: \\b0 \\cf0"); foreach(var itemAnalysis in obj.listAnalysis ) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b " + itemAnalysis.itemMBAnalysis.MBAnalysisType.DescriptionRus + " \\b0 - " + itemAnalysis.itemMBAnalysis.MBAnalysisResult.DescriptionRus ); if (itemAnalysis.listROes.Count() > 0) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b Выделенные микроорганизмы: \\b0" ); foreach (var itemRO in itemAnalysis.listROes) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2 " + itemRO.itemRO.OrganismType.DescriptionEng + " - " + itemRO.itemRO.BacterialLoadValue + " " + itemRO.itemRO.BacterialLoadUnit + " (Выделен " + itemRO.itemRO.DateOfReidentify.ToString() + ") " ); if (itemRO.listROandClinicalTests.Count() > 0) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b Данные клинических тестов: \\b0" ); strWr.WriteLine("{"); strWr.WriteLine("\\par\\par\\fs18\\f2 "); // sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + //"\\cellx3500\\cellx9000" + //"\\pard\\intbl\\ql\\b\\ Лечебное учреждение: \\b0\\cell" + //"\\pard\\intbl\\ql\\ " + obj.Clinic + " \\cell" + //"\\pard\\intbl\\row"; sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx2500\\cellx5500\\cellx7500\\cellx9500" + "\\pard\\intbl\\ql\\b\\ Антибиотик \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Метод \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Значение \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ SIR \\b0\\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); foreach(var itemROClinicTest in itemRO.listROandClinicalTests ) { sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx2500\\cellx5500\\cellx7500\\cellx9500" + "\\pard\\intbl\\ql\\ "+itemROClinicTest.AntibioticType.DescriptionEng +" \\cell" + "\\pard\\intbl\\ql\\ "+itemROClinicTest.Method.DescriptionRus +" \\cell" + "\\pard\\intbl\\ql\\ "+itemROClinicTest.ResultValue +" \\cell" + "\\pard\\intbl\\ql\\ "+itemROClinicTest.ResultSIR + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); } strWr.WriteLine("}"); } } } else { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2 Микроорганизмов не обнаружено." ); } if (itemAnalysis.listBacterioscopy.Count() > 0) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b Данные тестов бактериоскопии: \\b0" ); strWr.WriteLine("{"); strWr.WriteLine("\\par\\par\\fs18\\f2 "); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx4500\\cellx6500\\cellx8500" + "\\pard\\intbl\\ql\\b\\ Показатель \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Поле зрения \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Значение \\b0\\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); foreach (var itemBac in itemAnalysis.listBacterioscopy ) { sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx4500\\cellx6500\\cellx8500" + "\\pard\\intbl\\ql\\ "+ itemBac.MBBacterioscopyOrganismType.DescriptionRus +" \\cell" + "\\pard\\intbl\\ql\\ "+ itemBac.ViewField +"\\cell" + "\\pard\\intbl\\ql\\ "+ itemBac.Value +" \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); } strWr.WriteLine("}"); } } } else { } strWr.WriteLine("{\\par\\par\\par\\par\\fs18\\f2 "); sRTF = "\\trowd\\trhdr\\trgaph30\\trleft0\\trrh262" + "\\cellx2000\\cellx4000\\cellx6500\\cellx9500" + "\\pard\\intbl\\ql\\ Зав. лабораторией: \\cell" + "\\pard\\intbl\\qc\\ ___________________ \\cell" + "\\pard\\intbl\\qc\\ Сухорукова М.В. \\cell" + "\\pard\\intbl\\ql\\ Дата: " + DateTime.Now.ToString() + " \\cell" + "\\pard\\intbl\\row}"; strWr.WriteLine(sRTF); // Завершаем формирование файла sRTF = "}"; strWr.WriteLine(sRTF); // Закрываем сесию strWr.Close(); myFile.Close(); return AppDomain.CurrentDomain.BaseDirectory + "\\\\contracts\\\\" + fileName; return ""; }
// // Create a reference to a file. //FileInfo fi = new FileInfo("temp.txt"); //// Actually create the file. //FileStream fs = fi.Create(); //// Modify the file as required, and then close the file. //fs.Close(); //// Delete the file. //fi.Delete(); // Dim sRTF, sFileName As Object //'Create the file for the RTF //Dim fso, myFile As Object //fso = CreateObject("Scripting.FileSystemObject") //sFileName = "contract_" & AlignStr(obj.intContractId.ToString, 6) & ".rtf" //myFile = fso.CreateTextFile(Server.MapPath(".") & "\\Reports\\" & _ // sFileName, True) public string PrintPatientResults(objPatientResults obj) { string fileName = "contract_" + obj.SampleID.ToString() + ".rtf"; FileInfo fso = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "\\\\contracts\\\\" + fileName); FileStream myFile = fso.Create(); StreamWriter strWr = new StreamWriter(myFile, Encoding.GetEncoding("WINDOWS-1251")); string sRTF; // Начинаем формирование файла sRTF = "{\\rtf1\\ansi\\ansicpg1251\\uc1\\deff0\\stshfdbch0\\stshfloch0\\stshfhich0\\stshfbi0\\deflang1049\\deflangfe1049\\margl720\\margr720\\margt720\\margb720\\"; strWr.WriteLine(sRTF); sRTF = "{\\fonttbl {\\f0\\froman Times New Roman;}{\\f1\\fswiss Arial;}{\\f2\\fmodern Verdana;}}"; strWr.WriteLine(sRTF); sRTF = "{\\info{\\title Result " + obj.SampleID.ToString() + "}{\\author IAC Laboratory}}"; strWr.WriteLine(sRTF); sRTF = "{\\header\\pard\\qc\\b{\\fs16\\f2 \\b Смоленская государственная медицинская академия \\b0\\par\\b Научно-исследовательский институт антимикробной химиотерапии \\b0\\par\\b Клинико-диагностическая лаборатория, тел. 45-06-13 \\b0\\par\\par\\par}}"; strWr.WriteLine(sRTF); sRTF = "{\\footer\\pard\\qc\\brdrt\\brdrs\\brdrw10\\brsp100\\fs18 Страница {\\field{\\*\\fldinst PAGE}{\\fldrslt 1}} из {\\field{\\*\\fldinst NUMPAGES}{\\fldrslt 1}} \\par}"; strWr.WriteLine(sRTF); // Заполнение основного блока документа strWr.WriteLine("\\qc\\fs20\\f2 \\b МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ № " + obj.SampleID.ToString() + "\\b0 \\cf0"); strWr.WriteLine("{"); strWr.WriteLine("\\par\\par\\fs20\\f2 "); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Лечебное учреждение: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.Clinic + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Врач: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.DoctorFIO + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Пациент: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.PatientFIO + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Дата рождения: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.BirthDate + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Клинический материал: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.ClinicMaterial + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx3500\\cellx9000" + "\\pard\\intbl\\ql\\b\\ Дата получения материала: \\b0\\cell" + "\\pard\\intbl\\ql\\ " + obj.DateDeliverySample + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); strWr.WriteLine("}"); if (obj.listAnalysis.Count > 0) { strWr.WriteLine("\\par\\par\\qj\\fs20\\f2 \\b Анализы: \\b0 \\cf0"); foreach (var itemAnalysis in obj.listAnalysis) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b " + itemAnalysis.itemMBAnalysis.MBAnalysisType.DescriptionRus + " \\b0 - " + itemAnalysis.itemMBAnalysis.MBAnalysisResult.DescriptionRus); if (itemAnalysis.listROes.Count() > 0) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b Выделенные микроорганизмы: \\b0"); foreach (var itemRO in itemAnalysis.listROes) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2 " + itemRO.itemRO.OrganismType.DescriptionEng + " - " + itemRO.itemRO.BacterialLoadValue + " " + itemRO.itemRO.BacterialLoadUnit + " (Выделен " + itemRO.itemRO.DateOfReidentify.ToString() + ") "); if (itemRO.listROandClinicalTests.Count() > 0) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b Данные клинических тестов: \\b0"); strWr.WriteLine("{"); strWr.WriteLine("\\par\\par\\fs18\\f2 "); // sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + //"\\cellx3500\\cellx9000" + //"\\pard\\intbl\\ql\\b\\ Лечебное учреждение: \\b0\\cell" + //"\\pard\\intbl\\ql\\ " + obj.Clinic + " \\cell" + //"\\pard\\intbl\\row"; sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx2500\\cellx5500\\cellx7500\\cellx9500" + "\\pard\\intbl\\ql\\b\\ Антибиотик \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Метод \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Значение \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ SIR \\b0\\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); foreach (var itemROClinicTest in itemRO.listROandClinicalTests) { sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx2500\\cellx5500\\cellx7500\\cellx9500" + "\\pard\\intbl\\ql\\ " + itemROClinicTest.AntibioticType.DescriptionEng + " \\cell" + "\\pard\\intbl\\ql\\ " + itemROClinicTest.Method.DescriptionRus + " \\cell" + "\\pard\\intbl\\ql\\ " + itemROClinicTest.ResultValue + " \\cell" + "\\pard\\intbl\\ql\\ " + itemROClinicTest.ResultSIR + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); } strWr.WriteLine("}"); } } } else { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2 Микроорганизмов не обнаружено."); } if (itemAnalysis.listBacterioscopy.Count() > 0) { strWr.WriteLine("\\par\\par\\qj\\fs18\\f2\\b Данные тестов бактериоскопии: \\b0"); strWr.WriteLine("{"); strWr.WriteLine("\\par\\par\\fs18\\f2 "); sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx4500\\cellx6500\\cellx8500" + "\\pard\\intbl\\ql\\b\\ Показатель \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Поле зрения \\b0\\cell" + "\\pard\\intbl\\ql\\b\\ Значение \\b0\\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); foreach (var itemBac in itemAnalysis.listBacterioscopy) { sRTF = "\\trowd\\trgaph30\\trleft0\\trrh262" + "\\cellx4500\\cellx6500\\cellx8500" + "\\pard\\intbl\\ql\\ " + itemBac.MBBacterioscopyOrganismType.DescriptionRus + " \\cell" + "\\pard\\intbl\\ql\\ " + itemBac.ViewField + "\\cell" + "\\pard\\intbl\\ql\\ " + itemBac.Value + " \\cell" + "\\pard\\intbl\\row"; strWr.WriteLine(sRTF); } strWr.WriteLine("}"); } } } else { } strWr.WriteLine("{\\par\\par\\par\\par\\fs18\\f2 "); sRTF = "\\trowd\\trhdr\\trgaph30\\trleft0\\trrh262" + "\\cellx2000\\cellx4000\\cellx6500\\cellx9500" + "\\pard\\intbl\\ql\\ Зав. лабораторией: \\cell" + "\\pard\\intbl\\qc\\ ___________________ \\cell" + "\\pard\\intbl\\qc\\ Сухорукова М.В. \\cell" + "\\pard\\intbl\\ql\\ Дата: " + DateTime.Now.ToString() + " \\cell" + "\\pard\\intbl\\row}"; strWr.WriteLine(sRTF); // Завершаем формирование файла sRTF = "}"; strWr.WriteLine(sRTF); // Закрываем сесию strWr.Close(); myFile.Close(); return(AppDomain.CurrentDomain.BaseDirectory + "\\\\contracts\\\\" + fileName); return(""); }
public void PrintPatientResult(int id) { try { objPatientResults obj = new objPatientResults(); var sp = dbm.Samples .Include(o => o.Patient) .Include(o => o.Clinic) .Include(o => o.Clinic.ClinicGroup) .Include(o => o.ClinicMaterial) .Include(o => o.Doctor) .SingleOrDefault(o => o.SampleID == id); obj.SampleID = sp.SampleID.ToString(); obj.Clinic = sp.Clinic.ClinicGroup.Description + " - " + sp.Clinic.Description; if (sp.SamplePaymentTypeID == 1) { obj.Clinic += " (О)"; } else { obj.Clinic += " (К)"; } obj.DoctorFIO = sp.Doctor.Lastname + " " + sp.Doctor.Initials; obj.PatientFIO = sp.Patient.Lastname + " " + sp.Patient.Initials; obj.PatientSex = sp.Patient.Sex; obj.BirthDate = DateTime.Parse(sp.Patient.Birthdate.ToString()).ToShortDateString(); obj.ClinicMaterial = sp.ClinicMaterial.Description; obj.DateDeliverySample = sp.DatetimeDelivery.ToString(); obj.DateRecieveSample = sp.DatetimeCapture.ToString(); Patient patientObj = sp.Patient; patientObj.PrintedResults = 1; dbm.SaveChanges(); // Получение собственно результатов obj.listAnalysis = new List<_itemAnalysis>(); // получаем анализы для пациента int tempsample = int.Parse(obj.SampleID); var model = dbm.MBAnalysis.Where(o => o.SampleID == tempsample).ToList(); foreach (var itemAnalysis in model) { var itemsBac = dbm.MBAnalysisBacterioscopies.Include(o => o.MBBacterioscopyOrganismType).Where(o => o.MBAnalysisID == itemAnalysis.MBAnalysisID).ToList(); var itemsRO = dbm.ROes.Include(o => o.OrganismType).Include(o => o.ROandClinicalTests).Where(o => o.MBAnalysisID == itemAnalysis.MBAnalysisID).ToList(); _itemAnalysis tempIA = new _itemAnalysis(); tempIA.itemMBAnalysis = itemAnalysis; tempIA.listBacterioscopy = itemsBac; tempIA.listROes = new List<_itemRO>(); foreach (var itemRO in itemsRO) { var itemsROClinicTest = dbm.ROandClinicalTests.Include(o => o.AntibioticType).Include(o => o.Method).Where(o => o.ROID == itemRO.ROID).ToList(); _itemRO tempRO = new _itemRO(); tempRO.itemRO = itemRO; tempRO.listROandClinicalTests = itemsROClinicTest; tempIA.listROes.Add(tempRO); } obj.listAnalysis.Add(tempIA); } // Завершение получения результатов Printing objPrinter = new Printing(); string resAddress = objPrinter.PrintPatientResults(obj); Response.ContentType = "application/text"; Response.AddHeader("Content-Disposition", @"filename=""result_" + obj.SampleID.ToString() + ".rtf"); Response.TransmitFile(@resAddress); } catch (DataException ex) { string strMessage = "Ошибка " + ex.Message + ". Попробуйте повторить действие. В случае постоянного возникновения ошибки обратитесь к администратору"; Response.Write(strMessage); } }