sheikh-k
11/3/2016 - 12:41 PM

LINQ Join with Entity Framework.cs

  private List<SAL_OrderDetailsViewModel> GetAllOrderDetailsById(int orderID)
  {
      var odList = (from od in dbContext.SAL_OrderDetail
                    join munit in dbContext.MST_MeasurementUnit
                    on od.MUnit equals munit.UnitID
                    join product in dbContext.MST_Product
                    on od.ProductID equals  product.ProductID.ToString()
                    where od.OrderID == orderID
                    select new SAL_OrderDetailsViewModel()
                    {
                        OrderDetailID = od.OrderDetailID,
                        OrderID = od.OrderID,
                        ProductID = product.ProductID,
                        ProductName = product.ProductName,
                        ProductCode = product.ProductCode,
                        Qty = od.Qty,
                        MUnitID = od.MUnit,
                        MUnitName = munit.UnitName,
                        UnitPrice = od.UnitPrice,
                        Amount = od.Amount
                    }).ToList();
      return odList;
  }
        

  private List<SAL_OrderViewModel> GetAllOrders()
  {
      var list = (from order in dbContext.SAL_Order
                           join customer in dbContext.MST_Customer
                           on order.CustomerID equals customer.CustomerID
                           join branch in dbContext.MST_Branch
                           on order.BranchID equals branch.BranchID
                           join invoice in dbContext.MST_InvoiceType
                           on order.InvoiceType equals invoice.InvoiceTypeID
                           orderby order.OrderID descending
                           select new SAL_OrderViewModel()
                           {
                               OrderID = order.OrderID,
                               DocNo = order.DocNo,
                               DocDate = order.DocDate,
                               CustomerID = order.CustomerID,
                               CustomerName = customer.CustomerName,
                               BranchID = order.BranchID,
                               BranchName = branch.BranchName,
                               InvoiceType = order.InvoiceType,
                               InvoiceTypeName = invoice.InvoiceTypeName,
                               OrderNo = order.OrderNo,
                               OrderDate = order.OrderDate,
                               Remark = order.Remark,
                               SubTotal = order.SubTotal,
                               Discount = order.Discount,
                               NetAmount = order.NetAmount,
                               DBUserID = order.DBUserID,
                               UpdateDateTime = order.UpdateDateTime
                           }).ToList();
      return list;
  }