#c# #asp.net-mvc
Вопрос:
Я использую следующий код в представлении и перепробовал множество решений , но все равно получаю эту последовательность ошибок, не содержащую элементов, это код представления :
@model AljawdahNewSite.Models.Orders_Tables @{ ViewBag.Title = "Result Details"; //Layout = "~/Views/Shared/_LayoutPatients.cshtml"; var hema = new Listlt;intgt;() { 1 }; var bio = new Listlt;intgt;() { 2 }; var ser = new Listlt;intgt;() { 3 }; var hor = new Listlt;intgt;() { 4 }; var histo = new Listlt;intgt;() { 5 }; var culture = new Listlt;intgt;() { 8 }; var para = new Listlt;intgt;() { 6 }; var covid = new Listlt;intgt;() { 9 }; var labPara = Model.LabParaResult.FirstOrDefault(); var labCult = Model.LabCultureResults.FirstOrDefault(); var labMicro = Model.LabMicroResults.FirstOrDefault(); var labHisto = Model.LabHistoResult.FirstOrDefault(); var LabResults = Model.LabResults; var labhema = LabResults.FirstOrDefault(x =gt; x.deptid == 1); var labBio = LabResults.FirstOrDefault(x =gt; x.deptid == 2); var labSer = LabResults.FirstOrDefault(x =gt; x.deptid == 3); var labHor = LabResults.FirstOrDefault(x =gt; x.deptid == 4); var labcovid = LabResults.FirstOrDefault(x =gt; x.deptid == 9); var LABCLINICVIEW = Model.labClinicsViewResult; var LABCASHVIEW = Model.labCashView; var labPara1 = Model.LabParasitologyView.FirstOrDefault(); var labCult1 = Model.LabCulturesView.FirstOrDefault(); var labMicro1 = Model.LabMicroView.FirstOrDefault(); var labHisto1 = Model.LabHistopathologyView.FirstOrDefault(); var labhema1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 1); var labBio1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 2); var labSer1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 3); var labHor1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 4); var labcovid1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 9); } lt;div id="coviddiv"gt; @if (labcovid1 != null amp;amp; labcovid1.Report_Date.HasValue) { lt;table class="table table-bordered"gt; lt;trgt; lt;td style="text-align:center"gt; lt;input type="submit" value="Covid-19 Result " @*onclick="PrintElemser('#serdiv')"*@ class="btn btn-primary" /gt; lt;a href="/RPT/WebForm1.aspx/?order_number=@Model.labClinicsViewResult.First().order_numberamp;deptid=9amp;testid=@Model.labClinicsViewResult.First().Test_Idamp;Culture=@Model.labClinicsViewResult.First().Culture" class="btn btn-danger"gt;Download Covid Resultlt;/agt; lt;/tdgt; lt;/trgt; lt;/tablegt; lt;divgt; lt;dl class="horizontal" style="border:solid;padding:10px"gt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Patient_Name)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Patient_Name)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;color:blue;margin-left:-20px"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Customer_Name)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Customer_Name)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Patient_No)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Patient_No)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;margin-left:0px;color:blue;margin-left:-20px"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Collection_Date)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Collection_Date)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().SEX)lt;/dtgt; lt;dd style="width: 20%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().SEX)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;margin-left:60px;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Receiving_Date)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Receiving_Date)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().AGE)lt;/dtgt; lt;dd style="width: 20%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().AGE)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;margin-left:60px;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Report_Date)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().Report_Date)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.labClinicsViewResult.FirstOrDefault().order_number)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.labClinicsViewResult.FirstOrDefault().order_number)lt;/ddgt; lt;/dlgt; lt;/divgt; lt;div class="tab-pane container active" id="home"gt; lt;h5 class="text-uppercase p-2 text-center"gt;Molecular Unitlt;/h5gt; lt;table class="table table-bordered" cellpadding="5" cellspacing="5" border="1"gt; lt;theadgt; lt;trgt; @*lt;thgt;@Html.DisplayNameFor(m =gt; m.labCashView.FirstOrDefault().Patient_No)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.labCashView.FirstOrDefault().Patient_Name)lt;/thgt;*@ lt;thgt;@Html.DisplayNameFor(m =gt; m.labClinicsViewResult.FirstOrDefault().Test_Name)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.labClinicsViewResult.FirstOrDefault().Result)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.labClinicsViewResult.FirstOrDefault().Low_Range)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.labClinicsViewResult.FirstOrDefault().High_Range)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.labClinicsViewResult.FirstOrDefault().Text_Range)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.labClinicsViewResult.FirstOrDefault().Report_Date)lt;/thgt; lt;/trgt; lt;/theadgt; @foreach (var employee in Model.labClinicsViewResult.Where(x =gt; covid.Contains(x.DEPTID.GetValueOrDefault()))) { lt;trgt; @*lt;tdgt;@employee.Patient_Nolt;/tdgt; lt;tdgt;@employee.Patient_Namelt;/tdgt;*@ lt;tdgt;@employee.Test_Namelt;/tdgt; lt;tdgt;@employee.Resultlt;/tdgt; lt;tdgt;@employee.Low_Rangelt;/tdgt; lt;tdgt;@employee.High_Rangelt;/tdgt; lt;tdgt;@employee.Text_Rangelt;/tdgt; lt;tdgt;@employee.Report_Datelt;/tdgt; lt;/trgt; } lt;/tablegt; lt;/divgt; } lt;/divgt; lt;div id="paradiv"gt; @if (labPara1 != null amp;amp; labPara1.Report_Date.HasValue) { lt;table class="table table-bordered"gt; lt;trgt; lt;td style="text-align:center"gt; lt;h3gt; lt;input type="submit" style="text-align:center" value="Parasitology Result " onclick="PrintElempar('#paradiv')" class="btn btn-primary" /gt;lt;/h3gt; lt;a href="/RPT/WebForm1.aspx/?order_number=@Model.LabParaResult.First().ORDER_IDamp;deptid=@Model.LabParaResult.First().deptidamp;testid=@Model.LabParaResult.First().TESTIDamp;Culture=2" class="btn btn-danger"gt;Print Parasitology Resultlt;/agt; lt;/tdgt; lt;/trgt; lt;/tablegt; lt;divgt; lt;dl class="horizontal" style="border:solid;padding:10px"gt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().Patient_Name)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Patient_Name)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().Customer_Name)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Customer_Name)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().Patient_No)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Patient_No)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;margin-left:0px;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().Collection_Date)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Collection_Date)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().SEX)lt;/dtgt; lt;dd style="width: 20%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().SEX)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;margin-left:60px;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().Receiving_Date)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Receiving_Date)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().AGE)lt;/dtgt; lt;dd style="width: 20%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().AGE)lt;/ddgt; lt;dt style="width: 22%;display: inline-block;margin-left:60px;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().Report_Date)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Report_Date)lt;/ddgt; lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().order_number)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:-50px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().order_number)lt;/ddgt; @*lt;dt style="width: 20%;display: inline-block;color:blue;"gt;@Html.DisplayNameFor(model =gt; model.LabParasitologyView.FirstOrDefault().Test_Name)lt;/dtgt; lt;dd style="width: 25%;display: inline-block;margin: 0px;margin-left:25px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Test_Name)lt;/ddgt;*@ lt;/dlgt; lt;/divgt; lt;div class="tab-pane container active" id="home"gt; @*lt;h5 class="text-uppercase p-2 text-center"gt;Parasitology Departmentlt;/h5gt;*@ lt;divgt; @*lt;dl class="horizontal" style="border:solid"gt; lt;dd style="width: 40%;display: inline-block;margin: 0px;margin-left:0px"gt;@Html.DisplayFor(model =gt; model.LabParasitologyView.FirstOrDefault().Test_Name)lt;/ddgt; lt;/dlgt;*@ lt;table class="table table-bordered" cellpadding="5" cellspacing="5" border="1"gt; lt;theadgt; lt;trgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.labtests.FirstOrDefault().TestName)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.LabParasitologyView.FirstOrDefault().SERIAL)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.LabParasitologyView.FirstOrDefault().TEXT)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.LabParasitologyView.FirstOrDefault().RESULT)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.LabParasitologyView.FirstOrDefault().UNIT)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.LabParasitologyView.FirstOrDefault().Reference_Range)lt;/thgt; lt;thgt;@Html.DisplayNameFor(m =gt; m.LabParasitologyView.FirstOrDefault().Report_Date)lt;/thgt; lt;/trgt; lt;/theadgt; @foreach (var employee in Model.LabParaResult.Where(x =gt; para.Contains(x.deptid.GetValueOrDefault()))) { lt;trgt; lt;tdgt;@employee.LabTests.TestNamelt;/tdgt; lt;tdgt;@employee.SERIALlt;/tdgt; lt;tdgt;@employee.TEXTlt;/tdgt; lt;tdgt;@employee.VALUElt;/tdgt; lt;tdgt;@employee.unitlt;/tdgt; lt;tdgt;@employee.reference_rangelt;/tdgt; lt;tdgt;@employee.APPROVED_DATElt;/tdgt; lt;/trgt; } lt;/tablegt; lt;/divgt; lt;/divgt; } lt;/divgt;
это часть кода контроллера :
public ActionResult MasterDetails(int id) { var tables = new Orders_Tables { testsRanges = db.TestsRanges.ToList(), LabResults = db.LAB_RESULTS.Where(o =gt; o.ORDER_ID == id) .Include(p =gt; p.LabTests) .Include(t =gt; t.Patients).ToList(), LabParaResult = db.LAB_PARA_RESULTS.Where(o =gt; o.ORDER_ID == id).Include(t =gt; t.Patients).Include(t =gt; t.LabTests).Include(c =gt; c.Customers).ToList(), LabCultureResults = db.LAB_CULTURE_RESULT.Where(o =gt; o.ORDER_ID == id).Include(t =gt; t.Patients).Include(t =gt; t.LabTests).Include(c =gt; c.Customers).ToList(), LabMicroResults = db.LAB_MICRO_NEGATIVE_RESULT.Where(o =gt; o.ORDER_ID == id).ToList(), labCashView = db.LAB_RESULT_CASH_VIEW.Where(o =gt; o.order_number == id).ToList(), labClinicsViewResult = db.LAB_RESULTS_CLINIC_VIEW.Where(o =gt; o.order_number == id).ToList(), LabParasitologyView = db.LAB_PARASITOLOGY_VIEW.Where(o =gt; o.order_number == id).ToList(), }; return View(tables); }
ошибка отображается при попытке запустить результат для
var labPara1 = Model.LabParasitologyView.FirstOrDefault();
but the error appear in this line
var labcovid1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 9);
I need your help please :
How I will handle the controller code
If labClinicsViewResult
is empty and returned no value skip and go to the next ?
THIS IS THE CLASS :
public class Orders_Tables { // internal IQueryablelt;objectgt; result { get; set; } public Lab_Orders LabOrders { get; set; } public Lab_orders_Cash LabOrdersCash { get; set; } public Lab_Sample_status LabOrderStatus { get; set; } public IEnumerablelt;LAB_RESULTSgt; LabResults { get; set; } public IEnumerablelt;TestsRangesgt; testsRanges { get; set; } public IEnumerablelt;TestsUnitsgt; testUnits { get; set; } public IEnumerablelt;LAB_CULTURE_RESULTgt; LabCultureResults { get; set; } public IEnumerablelt;LAB_MICRO_NEGATIVE_RESULTgt; LabMicroResults { get; set; } public IEnumerablelt;LabTestsgt; labtests { get; set; } public IEnumerablelt;LAB_RESULTS_CLINIC_VIEWgt; labClinicsViewResult { get; set; } public IEnumerablelt;LAB_RESULT_CASH_VIEWgt; labCashView { get; set; } public IEnumerablelt;LAB_PARASITOLOGY_VIEWgt; LabParasitologyView { get; set; } public IEnumerablelt;LAB_CULTURES_VIEWgt; LabCulturesView { get; set; } public IEnumerablelt;LAB_MICRO_VIEWgt; LabMicroView { get; set; } public IEnumerablelt;LAB_HISTOPATHOLOGY_VIEWgt; LabHistopathologyView { get; set; } public IEnumerablelt;LAB_HISTO_RESULTgt; LabHistoResult { get; set; } public IEnumerablelt;LAB_PARA_RESULTSgt; LabParaResult { get; set; } public Lab_Hematology_Samples LabSamples { get; set; } public Patients patients { get; set; } public IEnumerablelt;Customersgt; customers { get; set; } }
THIS IS THE CLASS DEFINITIONS:
public partial class LAB_RESULTS_CLINIC_VIEW { public int order_number { get; set; } public int Test_Id { get; set; } public string Test_Name { get; set; } public Nullablelt;intgt; Result_Duration { get; set; } public Nullablelt;intgt; Culture { get; set; } public string Normal { get; set; } public Nullablelt;System.DateTimegt; Report_Date { get; set; } public string Result { get; set; } public string Notes { get; set; } public string Low_Range { get; set; } public string High_Range { get; set; } public string Panic { get; set; } public string Text_Range { get; set; } public string machine_name { get; set; } public Nullablelt;intgt; Customer_No { get; set; } public string Customer_Name { get; set; } public Nullablelt;intgt; Patient_No { get; set; } public string Patient_Name { get; set; } public string Clinic_File_No { get; set; } public string Category { get; set; } public Nullablelt;intgt; AGE { get; set; } public string SEX { get; set; } public string Test_Note { get; set; } public string UNIT { get; set; } public Nullablelt;intgt; DEPTID { get; set; } public Nullablelt;System.DateTimegt; Collection_Date { get; set; } public Nullablelt;System.DateTimegt; Receiving_Date { get; set; } public string Group_Name { get; set; } public Nullablelt;intgt; SERIAL { get; set; } public int GROUPID { get; set; } public Nullablelt;intgt; packageid { get; set; } public string EXAMINED_BY { get; set; } public string APPROVED_BY { get; set; } public string UPDATED_BY { get; set; } public Nullablelt;System.DateTimegt; UPDATED_DATE { get; set; } public string Comments { get; set; } public string department_name { get; set; } }
THIS IS THE VIEW SCRIPT IN THE DATABASE :
CREATE VIEW [dbo].[LAB_RESULTS_CLINIC_VIEW] AS SELECT DISTINCT [LAB_RESULTS].ORDER_ID as 'order number' ,labtests.TestId as 'Test Id' ,labtests.TestName as 'Test Name' ,labtests.test_duration as 'Result Duration' ,labtests.culture as 'Culture' ,NORMAL_RESULT as 'Normal' ,cast(LAB_RESULTS.APPROVED_DATE as datetime) as 'Report Date' ,CASE WHEN coalesce([RESULT_NUMBER],'') lt;gt; '' THEN RESULT_NUMBER WHEN coalesce(RESULT_REPORT, '') lt;gt; '' THEN RESULT_REPORT END AS Result ,[RESULT_NOTE] as 'Notes' ,TestsRanges.LowerLimit as 'Low Range' ,TestsRanges.UpperLimit as 'High Range' ,TestsRanges.panic_value as 'Panic' ,TestsRanges.text_range as 'Text Range' ,machines.machine_name ,LAB_RESULTS.CUSTID as 'Customer No' ,Customers.CustName as 'Customer Name' ,LAB_RESULTS.patient_no as 'Patient No' ,Patients.PATIENT_NAME as 'Patient Name' ,Patients.PCfileNo as 'Clinic File No' ,patientcat.CatName as 'Category' ,Patients.Age AS 'AGE' ,gender.gendername as 'SEX' ,labtests.TestNotes as 'Test Note' ,TestsUnits.UnitName as 'UNIT' ,LAB_RESULTS.deptid AS 'DEPTID' ,cast(Lab_Hematology_Samples.COLLECTION_DATE as datetime) as 'Collection Date' ,cast(Lab_Hematology_Samples.RECEIVING_DATE as datetime) as 'Receiving Date' ,Groups.groupdesc as 'Group Name' ,LAB_RESULTS.SERIAL ,LAB_RESULTS.GROUPID ,LAB_RESULTS.packageid ,LAB_RESULTS.EXAMINED_BY ,LAB_RESULTS.APPROVED_BY ,UPDATED_BY ,UPDATED_DATE ,Lab_Result_Comments.comments as 'Comments' ,Departments.Dept_name as 'department name' ,[LAB_RESULTS].branch_id as 'branchid' FROM [dbo].[LAB_RESULTS] inner join LabTests on LabTests.testid=LAB_RESULTS.TESTID inner join TestsRanges on LAB_RESULTS.TESTID=TestsRanges.TestId inner join Departments on LAB_RESULTS.deptid=Departments.Dept_id inner join PatientCat on patientcat.CatId = TestsRanges.CatId inner join Customers on Customers.CustId=LAB_RESULTS.CUSTID inner join patients on Patients.Patient_No = LAB_RESULTS.patient_no inner join machines on lab_results.machine_id = machines.machine_id inner join gender on gender.genderid = Patients.Gender inner join TestsUnits on TestsUnits.UnitId = LabTests.UnitId inner join Lab_Orders on Lab_Orders.ORDER_ID = LAB_RESULTS.ORDER_ID left join Lab_Result_Comments on LAB_RESULTS.ORDER_ID = Lab_Result_Comments.ORDER_ID inner join Lab_Hematology_Samples on Lab_Hematology_Samples.SAMPLE_ID = LAB_RESULTS.SAMPLE_ID inner join Groups on (Groups.groupid = LAB_RESULTS.GROUPID and Groups.Testid = LAB_RESULTS.TESTID ) where (Lab_Orders.catid = TestsRanges.CatId or PatientCat.CatId =5) and LAB_RESULTS.EXAMINED_DATE is not null and LAB_RESULTS.APPROVED_DATE is not null and LAB_RESULTS.SAMPLE_STATUS=6 and (Patients.Gender = TestsRanges.PatientSex or TestsRanges.PatientSex = 1 ) AND TestsRanges.machine_id = LAB_RESULTS.machine_id -- and LAB_RESULTS.update_count in (select max(update_count) from LAB_RESULTS where SAMPLE_STATUS = 6 and deptid = @deptid and ORDER_ID = @ORDER_ID) AND LAB_RESULTS.DEPTID IN (1,2,3,4,9) UNION ALL SELECT DISTINCT [LAB_RESULTS].ORDER_ID as 'order number' ,labtests.TestId as 'Test Id' ,labtests.TestName as 'Test Name' ,labtests.test_duration as 'Result Duration' ,labtests.culture as 'Culture' ,NORMAL_RESULT as 'Normal' ,cast(APPROVED_DATE as datetime) as 'Report Date' ,CASE WHEN coalesce([RESULT_NUMBER],'') lt;gt; '' THEN RESULT_NUMBER WHEN coalesce(RESULT_REPORT, '') lt;gt; '' THEN RESULT_REPORT END AS Result ,[RESULT_NOTE] as 'Notes' ,TestsRanges.LowerLimit as 'Low Range' ,TestsRanges.UpperLimit as 'High Range' ,TestsRanges.panic_value as 'Panic' ,TestsRanges.text_range as 'Text Range' ,machines.machine_name ,LAB_RESULTS.CUSTID as 'Customer No' ,Customers.CustName as 'Customer Name' ,LAB_RESULTS.patient_no as 'Patient No' ,Patients.PATIENT_NAME as 'Patient Name' ,Patients.PCfileNo as 'Clinic File No' ,patientcat.CatName as 'Category' ,Patients.Age AS 'AGE' ,gender.gendername as 'SEX' ,labtests.TestNotes as 'Test Note' ,TestsUnits.UnitName as 'UNIT' ,LAB_RESULTS.deptid AS 'DEPTID' ,cast(Lab_Hematology_Samples.COLLECTION_DATE as datetime) as 'Collection Date' ,cast(Lab_Hematology_Samples.RECEIVING_DATE as datetime)as 'Receiving Date' ,NULL AS 'Group Name' ,LAB_RESULTS.SERIAL ,LAB_RESULTS.GROUPID ,LAB_RESULTS.packageid ,LAB_RESULTS.EXAMINED_BY ,LAB_RESULTS.APPROVED_BY ,UPDATED_BY ,UPDATED_DATE ,Lab_Result_Comments.comments as 'Comments' ,Departments.Dept_name as 'department name' ,[LAB_RESULTS].branch_id as 'branchid' FROM [dbo].[LAB_RESULTS] inner join LabTests on LabTests.testid=LAB_RESULTS.TESTID inner join TestsRanges on TestsRanges.TestId = LAB_RESULTS.TESTID inner join Departments on LAB_RESULTS.deptid=Departments.Dept_id inner join PatientCat on patientcat.CatId = TestsRanges.CatId inner join Customers on Customers.CustId=LAB_RESULTS.CUSTID inner join machines on lab_results.machine_id = machines.machine_id inner join patients on Patients.Patient_No = LAB_RESULTS.patient_no inner join gender on gender.genderid = Patients.Gender inner join TestsUnits on TestsUnits.UnitId = LabTests.UnitId left join Lab_Result_Comments on LAB_RESULTS.ORDER_ID = Lab_Result_Comments.ORDER_ID inner join Lab_Orders on Lab_Orders.ORDER_ID = LAB_RESULTS.ORDER_ID inner join Lab_Hematology_Samples on Lab_Hematology_Samples.SAMPLE_ID = LAB_RESULTS.SAMPLE_ID where (Lab_Orders.catid = TestsRanges.CatId or PatientCat.CatId =5) and LAB_RESULTS.EXAMINED_DATE is not null and LAB_RESULTS.APPROVED_DATE is not null and LAB_RESULTS.SAMPLE_STATUS=6 and (Patients.Gender = TestsRanges.PatientSex or TestsRanges.PatientSex = 1 ) and LAB_RESULTS.GROUPID = 0 -- and LAB_RESULTS.update_count in (select max(update_count) from LAB_RESULTS where SAMPLE_STATUS = 6 and deptid = @deptid and ORDER_ID = @ORDER_ID) -- and LAB_RESULTS.deptid = @deptid AND TestsRanges.machine_id = LAB_RESULTS.machine_id AND LAB_RESULTS.DEPTID IN (1,2,3,4,9)
Объясните более подробно об этой проблеме :
Врач заходит на сайт и открывает результат, нажав кнопку результат ,
если результат в отделах (1,2,3,4,5,9), основные данные контроллера отобразят результат на следующей странице
но если результат в отделе (6,8), который принадлежит таблице (LAB_PARA_RESULTS или LAB_CULTURE_RESULT )
его не открывают и показывают ошибку, это изображение перед ошибкой :
Ответ №1:
Похоже, что последовательность, которая не содержит элементов, такова LABCLINICVIEW
. Который присваивается из переменной вашей модели Orders_Tables.labClinicsViewResult
. Вы назначаете эту переменную с помощью вызова базы db.LAB_RESULTS_CLINIC_VIEW.Where(o =gt; o.order_number == id).ToList()
данных , поэтому мне кажется, что этот вызов базы данных возвращает пустой набор. Попробуйте выполнить отладку, пройдите и остановитесь в строке return View(tables);
, а затем проверьте свою переменную tables
, чтобы убедиться, что в переменной-члене tables.labClinicsViewResult
действительно что-то есть. Если он пуст, то это ваша проблема. Если он не пуст, то ваша проблема, скорее всего, связана с вызовом var labcovid1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 9);
, и у него может не быть значения, DEPTID
равного 9
.
Комментарии:
1. Я запускаю представление labClinicsViewResult в этом порядке , и вывода нет, как я могу справиться с этим, если из представления labClinicsViewResult не возвращается значение, а в представлении LAB_PARASITOLOGY_VIEW есть результат ?
2. Является ли значение
labClinicsViewResult
нулевым или просто пустым массивом? Если он равен нулю, то вам следует проверить, равен ли он нулю, прежде чем пытаться получить доступ к любому из его содержимого. Например:if (LABCLINICVIEW != null) {labcovid1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 9); }
3. Я добавил больше кода после строки ошибки, прежде чем я не смогу добавить, но теперь я могу добавить, проверьте это, пожалуйста : @if (labcovid1 != null amp;amp; labcovid1.Report_Date.HasValue)
4. Вы проверяете, является ли
labcovid1
значение null, но переменная, из которой вы его назначаете, может быть нулевой, проверьте мой последний комментарий, чтобы получить представление о том, как проверить, является лиLABCLINICVIEW
значение null перед назначениемlabcovid1
5. Я попробовал код if (LABCLINICVIEW != null) {labcovid1 = LABCLINICVIEW.FirstOrDefault(x =gt; x.DEPTID == 9);}, но теперь появилась другая ошибка : Ошибка компиляции в этой строке @if (labcovid1 != null amp;amp; labcovid1.Report_Date.HasValue)