public List <EmpInsuranceItem> InsuranceListData(int cid)
        {
            var objIns = (from EmpInsurance in DbContext.EmployeeInsurances
                          join branch in DbContext.Branch_master on EmpInsurance.Branch equals branch.id into BLJ
                          from left in BLJ.DefaultIfEmpty()
                          join masterComp in DbContext.Masters_Tran on EmpInsurance.Icomp equals masterComp.Id
                          join masterType in DbContext.Masters_Tran on EmpInsurance.Ptype equals masterType.Id
                          join emp in DbContext.employee_master on EmpInsurance.EmpId equals emp.id into LJ
                          from subpet in LJ.DefaultIfEmpty()
                          join cm in DbContext.Company_master on EmpInsurance.CompID equals cm.id into comp
                          from c in comp.DefaultIfEmpty()
                          where (EmpInsurance.Ptype == 41 || EmpInsurance.Ptype == 43 || EmpInsurance.Ptype == 617 || EmpInsurance.Ptype == 619 || EmpInsurance.Ptype == 620 || EmpInsurance.Ptype == 629 || EmpInsurance.Ptype == 630) && EmpInsurance.CompID == (cid == 0 ? EmpInsurance.CompID : cid)
                          select new EmpInsuranceItem
            {
                CompDetails = new CompanyItem()
                {
                    CompName = (c == null?string.Empty:c.CompName)
                },
                MasterDetails = new clsMasterData()
                {
                    Name = masterComp.Name
                },
                MasterDetailsType = new clsMasterData()
                {
                    Name = masterType.Name
                },
                BranchDetails = new BranchItem()
                {
                    //BranchName = branch.BranchName
                    BranchName = (left == null ? String.Empty : left.BranchName)
                },
                EmpDetails = new EmployeeItem()
                {
                    //Empname=emp.Empname
                    Empname = (subpet == null ? String.Empty : subpet.Empname)
                },
                EmpId = EmpInsurance.EmpId,
                Pname = EmpInsurance.Pname,
                Icomp = EmpInsurance.Icomp,
                Ptype = EmpInsurance.Ptype,
                Pno = EmpInsurance.Pno,
                Pamt = EmpInsurance.Pamt,
                Pdate = EmpInsurance.Pdate,
                PExpDate = EmpInsurance.PExpDate,
                PremiumDate = EmpInsurance.PremiumDate,
                Branch = EmpInsurance.Branch,
                Remarks = EmpInsurance.Remarks,
                IID = EmpInsurance.IID
            }
                          ).Distinct().ToList();

            return(objIns);
        }
        public List <EmpInsuranceItem> EmpInsuranceList(int EmpId)
        {
            var objIns = (from EmpInsurance in DbContext.EmployeeInsurances
                          join branch in DbContext.Branch_master on EmpInsurance.Branch equals branch.id into BLJ
                          from left in BLJ.DefaultIfEmpty()
                          join masterComp in DbContext.Masters_Tran on EmpInsurance.Icomp equals masterComp.Id
                          join masterType in DbContext.Masters_Tran on EmpInsurance.Ptype equals masterType.Id
                          join emp in DbContext.employee_master on EmpInsurance.EmpId equals emp.id into LJ
                          from subpet in LJ.DefaultIfEmpty()
                          where EmpInsurance.Ptype == 40 && EmpInsurance.EmpId == EmpId
                          select new EmpInsuranceItem
            {
                MasterDetails = new clsMasterData()
                {
                    Name = masterComp.Name
                },
                MasterDetailsType = new clsMasterData()
                {
                    Name = masterType.Name
                },
                BranchDetails = new BranchItem()
                {
                    //BranchName = branch.BranchName
                    BranchName = (left == null ? String.Empty : left.BranchName)
                },
                EmpDetails = new EmployeeItem()
                {
                    //Empname=emp.Empname
                    Empname = (subpet == null ? String.Empty : subpet.Empname)
                },
                EmpId = EmpInsurance.EmpId,
                Pname = EmpInsurance.Pname,
                Icomp = EmpInsurance.Icomp,
                Ptype = EmpInsurance.Ptype,
                Pno = EmpInsurance.Pno,
                Pamt = EmpInsurance.Pamt,
                Pdate = EmpInsurance.Pdate,
                PExpDate = EmpInsurance.PExpDate,
                PremiumDate = EmpInsurance.PremiumDate,
                Branch = EmpInsurance.Branch,
                Remarks = EmpInsurance.Remarks,
                IID = EmpInsurance.IID
            }
                          ).Distinct().ToList();

            return(objIns);
        }