search result = (from e in db.ims_Rcv_Txn_Header
join lt1 in db.ims_locationType on e.LocTypeID equals lt1.LocTypeID into loctypes
from lt in loctypes.DefaultIfEmpty()
join lo in db.ims_location on e.LocID equals lo.LocID into locs
from l in locs.DefaultIfEmpty()
join v1 in db.vendors on e.Vendor equals v1.VendID into vends
from v in vends.DefaultIfEmpty()
join od in db.ordDivs on e.HeaderID equals od.OrdDivID into ods
from o in ods.DefaultIfEmpty()
join hdrs in db.ordHdrs on o.OrdID equals hdrs.OrdID into hds
from hd in hds.DefaultIfEmpty()
join po in db.ims_POHeader on e.HeaderID equals po.POHeaderID into heads
from h in heads.DefaultIfEmpty()
where (e.RcvDate >= FilterObj.FromDate && e.RcvDate <= FilterObj.ToDate)
select new custom_Model
{
RTHeaderID = e.RTHeaderID,
Descr = e.Descr,
HeaderID = e.HeaderID,
Height = e.Height ?? 0,
CreatedBy = e.CreatedBy,
CreatedDate = e.CreatedDate,
Length = e.Length ?? 0,
LocID = e.LocID,
LocTypeID = e.LocTypeID,
PieceQty = e.PieceQty ?? 0,
RcvDate = e.RcvDate,
OrdDate = e.OrderDate,
vendors = (from ims in db.ims_Rcv_Txn_Header
join os in db.ordLineSubs on ims.RTHeaderID equals os.RTHeaderID
join ol in db.ordLines on os.OrdLineID equals ol.OrdLineID
join v in db.vendors on ol.VendID equals v.VendID
where ims.RTHeaderID == e.RTHeaderID
select v.Company).ToList(),
Client = e.CmpID,
RcvNumber = e.RcvNumber,
RcvType = e.RcvType,
TotalCbm = e.TotalCbm ?? 0,
TotalKgs = e.TotalKgs ?? 0,
TotalLbs = e.TotalLbs ?? 0,
Volume = e.Volume ?? 0,
WeightKgs = e.WeightKgs ?? 0,
WeightLbs = e.WeightLbs ?? 0,
Width = e.Width ?? 0,
Status = e.Status,
FileName = e.FileName,
FileType = e.FileType,
Location = e.RcvType == "JIT" ? e.OCaddress : l.LocName,
files = db.ims_CustRcvFile.Where(f => f.RTHeaderID == e.RTHeaderID).ToList()
}).ToList();