public List <ResidentsList> ReadResidentsData(string directoryName) { var residentsList = new List <ResidentsList>(); foreach (var thisFile in Directory.GetFiles(directoryName)) { var temporaryList = new List <Residents>(); string[] lines; try { lines = File.ReadAllLines(thisFile); } catch (Exception e) { continue; } var data = lines[0]; for (var i = 1; i < lines.Length; i++) { try { var values = lines[i].Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); temporaryList.Add(new Residents { FlatOwner = values[0], AmountOfAdults = int.Parse(values[1]), AmountOfKids = int.Parse(values[2]), FlatArea = double.Parse(values[3]) }); } catch (Exception e) { var message = $"Message: {e.Message}\\n\\n"; message += $"StackTrace: {e.StackTrace.Replace(Environment.NewLine, string.Empty)}\\n\\n"; message += $"Source: {e.Source.Replace(Environment.NewLine, string.Empty)}\\n\\n"; message += $"TargetSite: {e.TargetSite.ToString().Replace(Environment.NewLine, string.Empty)}"; ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"" + message + "\");", true); } } var smallerList = new ResidentsList(data, temporaryList); residentsList.Add(smallerList); } return(residentsList); }
List <ResidentsList> FilterResidentsByMoney(double chosenMoneyFloor, List <TerritoryCleaning> territoryCleaningList, List <ResidentsList> residentsLists) { var filteredList = new List <ResidentsList>(); try { foreach (var residentsList in residentsLists) { var temporaryList = new List <Residents>(); foreach (var residents in residentsList.ListOfResidents) { foreach (var territoryCleaning in territoryCleaningList) { if (CheckForAdultsAndKids(residents, territoryCleaning)) { if (chosenMoneyFloor < CalculateMoneySpent(residents, territoryCleaning)) { temporaryList.Add(residents); } } } } if (temporaryList.Count != 0) { var smallerList = new ResidentsList(residentsList.ListStreetName, temporaryList); filteredList.Add(smallerList); } } } catch (Exception e) { var message = $"Message: {e.Message}\\n\\n"; message += $"StackTrace: {e.StackTrace.Replace(Environment.NewLine, string.Empty)}\\n\\n"; message += $"Source: {e.Source.Replace(Environment.NewLine, string.Empty)}\\n\\n"; message += $"TargetSite: {e.TargetSite.ToString().Replace(Environment.NewLine, string.Empty)}"; ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"" + message + "\");", true); } return(filteredList); }