예제 #1
0
        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);
        }
예제 #2
0
        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);
        }