private void ExecuteShowReport() { if (SelectedResidenceColumns.Count == 0) { MessageBox.Show("No Columns selected"); Result = null; SearchStatus = String.Empty; return; } Result = new FlowDocument(); List <Residence> input = null; using (UnitOfWork unitOfWork = new UnitOfWork(new MahalluDBContext())) { input = unitOfWork.Residences.GetAll().ToList(); String[] temp = null; if (!String.IsNullOrEmpty(Area)) { if (Area.Contains(";")) { temp = Area.Split(';'); } else { temp = new string[1]; temp[0] = Area; } if (temp != null) { input = input.Where(x => temp.Contains(x.Area, new ContainsComparer())).ToList(); } } if (!String.IsNullOrEmpty(HouseName)) { temp = null; if (HouseName.Contains(";")) { temp = HouseName.Split(';'); } else { temp = new string[1]; temp[0] = HouseName; } if (temp != null) { input = input.Where(x => temp.Contains(x.Name, new ContainsComparer())).ToList(); } } if (!String.IsNullOrEmpty(HouseNumber)) { temp = null; if (HouseNumber.Contains(";")) { temp = HouseNumber.Split(';'); } else { temp = new string[1]; temp[0] = HouseNumber; } if (temp != null) { input = input.Where(x => temp.Contains(x.Number, new ContainsComparer())).ToList(); } } } List <ResidenceMember> members = null; using (UnitOfWork unitOfWork = new UnitOfWork(new MahalluDBContext())) { members = unitOfWork.ResidenceMembers.GetAll().ToList(); String[] temp = null; if (!String.IsNullOrEmpty(MarriageStatus)) { if (MarriageStatus.Contains(";")) { temp = MarriageStatus.Split(';'); } else { temp = new string[1]; temp[0] = MarriageStatus; } if (temp != null) { members = members.Where(x => temp.Contains(x.MarriageStatus, new ContainsComparer())).ToList(); } } if (!String.IsNullOrEmpty(Country)) { temp = null; if (Country.Contains(";")) { temp = Country.Split(';'); } else { temp = new string[1]; temp[0] = Country; } if (temp != null) { members = members.Where(x => temp.Contains(x.Country, new ContainsComparer())).ToList(); } } if (!String.IsNullOrEmpty(Qualification)) { temp = null; if (Qualification.Contains(";")) { temp = Qualification.Split(';'); } else { temp = new string[1]; temp[0] = Qualification; } if (temp != null) { members = members.Where(x => temp.Contains(x.Qualification, new ContainsComparer())).ToList(); } } if (!String.IsNullOrEmpty(Gender)) { temp = null; if (Gender.Contains(";")) { temp = Gender.Split(';'); } else { temp = new string[1]; temp[0] = Gender; } if (temp != null) { members = members.Where(x => temp.Contains(x.Gender, new ContainsComparer())).ToList(); } } } if (ValidateReportParameters()) { BuildReport(input, members); } }