В моем действии у меня есть три LINQ SQL (Join), два из которых bla4,bla5
работали, пока я не добавил третий SQL, который bla6
и SQL(bla6)
будет работать или выполняться только до получения таблицы RMAHistory. data / value или имеют данные в нем, и таблица RMAHistory не получит значение / данные, пока пользователь не отправит форму до того, как все строки будут пустыми в таблице RMAHistory, а в моем LINQ SQL (bla6) у меня есть Join с RMAHistory и, потому что у меня есть интересный столбец этой таблицы.
Вот мой вопрос, как я могу проверить, является ли SQL (bla6) нулевым, чем run / execute bla4, bla5 и затем возвращаемое представление, и если SQL (bla6) не нулевое, чем run / execute (bla4, bla5, bla6) и в обратном виде.
Я пытался проверить, является ли модальный его ноль или нет как в представлении, так и в Controller, но я получаю, что ссылка на объект не установлена на экземпляр объекта, и потому что rmah.AntalRMA имеет значение null.
Может кто-нибудь помочь мне или указать мне правильное направление!
Заранее спасибо:)
Контроллер:
public ActionResult RMA(RMAHistory oodvm ,string id, string Varenummer, string OrdreNo)
{
var bla6 = (from sil in data.Sales_Invoice_Line
join rmah in data.RMA_History on sil.Document_No_ equals rmah.Fakturnummer
where sil.Document_No_ == id
select new RMAHistory.SingelRMAAntal
{
TotalRMA = rmah.AntalRMA
});
var col2 = data.Sales_Shipment_Line.Where(t => t.Order_No_ == OrdreNo).Where(t => t.No_ == Varenummer).Select
(t => new
{
No_ = data.Sales_Invoice_Header.Where(or => or.Order_No_ == OrdreNo).FirstOrDefault().No_,
Line = t,
Serial = data.Item_Ledger_Entry.Where(ledger => ledger.Document_No_ == t.Document_No_).Where(ledger => ledger.Document_Line_No_ == t.Line_No_).ToList(),
TrackAndTrace = data.Track_and_Trace.Where(track => track.Shipping_No_ == t.Document_No_).Select(tr => new { traceNR = tr.Track_and_Trace, tracePath = tr.Track_and_trace_path, Agent = tr.Shipping_agent }).FirstOrDefault()
});
var bla4 = col2.Select(t =>
new RMAHistory.OrdreRMA
{
//Select something
});
var bla5 = (from sih in data.Sales_Invoice_Header
join sil in data.Sales_Invoice_Line on sih.No_ equals sil.Document_No_
join item in data.Item on sil.No_ equals item.No_
join itemcat in data.ItemCategory on item.Item_Category_Code equals itemcat.Code
where sil.Document_No_ == id
&&
sil.No_ == Varenummer
&&
sih.Order_No_ == OrdreNo
select new RMAHistory.InvoiceOrdreLineSingel
{
//Select something
});
oodvm.OrdreRMAs = bla4.FirstOrDefault();
oodvm.InvoiceDetailsSingelLine = bla5.FirstOrDefault();
oodvm.SingelRMAAntals = bla6.FirstOrDefault();
return View(oodvm);
}
RMAHistory ViewModel:
public class RMAHistory
{
public SingelRMAAntal SingelRMAAntals { get; set; }
public class SingelRMAAntal
{
public SingelRMAAntal()
{
}
public SingelRMAAntal(string TotalRMA)
{
this.TotalRMA = TotalRMA;
}
public string TotalRMA { get; set; }
}
}
Вид:
@using NameSpace.Models
@model RMAHistory
<div class="content">
<form id="RMAForm">
<input type="text" id="Kundenavn" value="@Model.InvoiceDetailsSingelLine.Kundenavn">
<br/>
<input id="Ordrenummer" type="text" value="@Model.InvoiceDetailsSingelLine.Ordrenummer">
<br/>
if (Model.SingelRMAAntals.TotalRMA == null)
{
<div style="display:none;" class="col-md-3">
<input name="Antal_RMA" id="Antal_RMA" value="@Model.SingelRMAAntals.TotalRMA">
</div>
}
else
{
<div class="col-md-3">
<input name="Antal_RMA" id="Antal_RMA" value="@Model.SingelRMAAntals.TotalRMA">
</div>
}
</form>
</div>