public List<Cog.MLIAD.BusinessLogic.Associate.Associate> SearchAssociate(Associate.Associate associate, int pageIndex, int pageSize, ref int? count) { using (AssociateConnDataContext asscon = new AssociateConnDataContext()) { try { int AssociateID = Convert.ToInt32(associate.AssociateID); var associates = (from a in asscon.SearchAssociate(AssociateID, associate.DesignationID, associate.FirstName, associate.LastName, associate.ProjectID, associate.LocationID, ref count) select new Cog.MLIAD.BusinessLogic.Associate.Associate() { AssociateID = a.AssociateID, FirstName = (a.FirstName == null) ? "" : a.FirstName, LastName = (a.LastName == null) ? "" : a.LastName, Mobile = (a.Mobile == null) ? "" : a.Mobile, email = (a.email == null) ? "" : a.email, DirectReportID = a.DirectReportID, IsActive = (a.IsActive == null) ? false : a.IsActive, IsApproved = a.IsApproved, ModifiedBy = (a.ModifiedBy == null) ? 0 : a.ModifiedBy, ModifiedOn = (a.ModifiedOn == null) ? null : a.ModifiedOn, DOJ = (a.DOJ == null) ? "" : a.DOJ, DOB = (a.DOB == null) ? "" : a.DOB, ProjectName = (a.ProjectName == null) ? "" : a.ProjectName, Location = (a.Location == null) ? "" : a.Location, Designation = (a.Designation == null) ? "" : a.Designation, UserID = (a.UserId == null) ? "" : a.UserId }).ToList<Cog.MLIAD.BusinessLogic.Associate.Associate>(); List<Cog.MLIAD.BusinessLogic.Associate.Associate> list = new List<Cog.MLIAD.BusinessLogic.Associate.Associate>(); list = associates; pageSize = (pageSize < 1 ? 10 : pageSize); pageIndex = (pageIndex < 0 ? 0 : pageIndex); count = list.Count; if (count < pageSize) { pageIndex = 0; return list; } else if (list.Count < pageSize * pageIndex) { pageIndex = 0; return new List<BusinessLogic.Associate.Associate>(list.Take(pageSize)); } else { int a = Convert.ToInt32(((count - pageSize * pageIndex) >= pageSize) ? pageSize : (count - pageSize * pageIndex)); return new List<BusinessLogic.Associate.Associate>(list.Skip(pageSize * pageIndex).Take(a)); } //foreach (var asct in associates) //{ // var address = (from add in asscon.Search_Address(asct.AssociateID) // select new Cog.MLIAD.BusinessLogic.Associate.Address() // { // Address1=add.Address1, // Address2=add.Address2, // Address3=add.Address3, // City=add.City, // State=add.State, // Country=add.Country, // Zip=add.Zip, // AddressTypeID=add.AddressTypeID // }).ToList<Cog.MLIAD.BusinessLogic.Associate.Address>(); // asct.Address = address; // var Phone = (from phn in asscon.Search_Phone(asct.AssociateID) // select new Cog.MLIAD.BusinessLogic.Associate.Phone() // { // PhoneNo=phn.Phone, // PhoneTypeID =Convert.ToInt32(phn.PhoneTypeID) // }).ToList<Cog.MLIAD.BusinessLogic.Associate.Phone>(); // asct.Phones = Phone; // list.Add(asct); //} } catch (Exception ex) { throw ex; } } }