Thursday, July 26

Join More Than Three Tables using Linq Query


//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Table1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
UHRMS_LeaveRequestApprovalObject objleave = new UHRMS_LeaveRequestApprovalObject();
List<UHRMS_LeaveRequestApprovalObject> LeaveDetails = new List<UHRMS_LeaveRequestApprovalObject>();
            if(Request.QueryString["LRID"]!=null)
            {
            objleave.Leave_Request_ID=Convert.ToInt32(Request.QueryString["LRID"].ToString());
            }
           
            LeaveDetails = UERPManagement.GetInstance.ShowLeaveApproveDetailsByID(objleave);
            int Employee_ID = 0;
            if (LeaveDetails.Count() != 0)
            {
            Employee_ID = Convert.ToInt32(LeaveDetails.ToList()[0].Employee_ID.ToString());
            }
  //@@@@@@@@@@@@@@@@@@@@@@@@ Table2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         

        List<UHRMS_EmployeePromotion> CurrentDetails = new List<UHRMS_EmployeePromotion>();
      CurrentDetails = UERPManagement.GetInstance.SelectEmploeePromotionDetails(Employee_ID);

           
            
  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Table3 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

            List<UHRMS_LeaveAllocation> Leave = new List<UHRMS_LeaveAllocation>();
            Leave = UERPManagement.GetInstance.FillLeave();
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Table4 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 List<UHRMS_EmpContractRenewalDetails> EmpList = new List<UHRMS_EmpContractRenewalDetails>();
            EmpList = UERPManagement.GetInstance.GetEmployeeName(1);

//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Joining 3 Tables@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


 var LeaveRecordsDetails = from mc in CurrentDetails
                               join y in LeaveDetails on mc.Employee_ID equals y.Employee_ID
                                   into grouping
                               from y in LeaveDetails
                               join o in Leave on y.Leave_Type_ID equals o.Leave_Type_ID
                               where y.Leave_Request_ID == Convert.ToInt32(Request.QueryString["LRID"].ToString())
                               select new { mc.Department_Name,y.Leave_Request_ID, mc.Designation_Name, y.Employee_ID, o.Leave_Type_Name, y.From_Date, y.To_Date, y.No_Of_Days, y.Leave_Status, y.Cause_Of_Leave };


//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Joining above 3 Tables with 4th one @@@@@@@@@@@@@@@@@@

  var LeaveRecords = from a in LeaveRecordsDetails
                               join e in EmpList on a.Employee_ID equals e.EmployeeID
                               where a.Leave_Request_ID == Convert.ToInt32(Request.QueryString["LRID"].ToString())
                               select new { a.Department_Name, a.Designation_Name, a.Employee_ID,e.EmployeeName, a.Leave_Type_Name, a.From_Date, a.To_Date, a.No_Of_Days, a.Leave_Status, a.Cause_Of_Leave };
 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Binding Data to fields @@@@@@@@@@@@@@@@@@
            if (LeaveRecords.Count() != 0)
            {
                txtDepartment.Text = LeaveRecords.ToList()[0].Department_Name;
                txtDesignation.Text = LeaveRecords.ToList()[0].Designation_Name;
                txtEmpName.Text = LeaveRecords.ToList()[0].EmployeeName;
                txtLeaveType.Text = LeaveRecords.ToList()[0].Leave_Type_Name;
                txtFromDate.Text = LeaveRecords.ToList()[0].From_Date.ToString("dd/MM/yyyy");
                txtToDate.Text = LeaveRecords.ToList()[0].To_Date.ToString("dd/MM/yyyy");
                txtNoOfDays.Text = LeaveRecords.ToList()[0].No_Of_Days.ToString();
                txtStatus.Text = LeaveRecords.ToList()[0].Leave_Status;
                txtCauseofLeave.Text = LeaveRecords.ToList()[0].Cause_Of_Leave;
            }


Thanks shibashish mohanty

No comments:

Post a Comment

Please don't spam, spam comments is not allowed here.

.

ShibashishMnty
shibashish mohanty