//Критерий расстояния - заполнение направлений во временный список private void InitialiseFourthCriterion() { var counter = 0; Console.WriteLine(_settings.FourthCriterionExactLocation.ToString()); foreach (var edLine in _educationLines) { if (_settings.FourthCriterionExactLocation) { var educationLine = new FourthCriterionUnit(); educationLine.DatabaseId = Convert.ToInt32(edLine.Id); educationLine.MatrixId = counter; educationLine.HasCoordinates = false; educationLine.LocalPriority = 0; educationLine.Distance = edLine.Faculty.HigherEducationInstitution.City.Id == _settings.FourthCriterionCityId ? 0 : 9.0; counter++; _fourthCriterionContainer.Add(educationLine); } else { var subjectLocation = _context.Cities.Find(_settings.FourthCriterionCityId).Location; if (edLine.Faculty.HigherEducationInstitution.City.Location == null) { var educationLine = new FourthCriterionUnit(); educationLine.DatabaseId = Convert.ToInt32(edLine.Id); educationLine.HasCoordinates = false; educationLine.LocalPriority = 0; _fourthCriterionContainer.Add(educationLine); } else { var educationLine = new FourthCriterionUnit(); educationLine.DatabaseId = Convert.ToInt32(edLine.Id); educationLine.MatrixId = counter; educationLine.HasCoordinates = true; educationLine.LocalPriority = 0; var universityLocation = edLine.Faculty.HigherEducationInstitution.City.Location; educationLine.Distance = Convert.ToDouble(subjectLocation.Distance(universityLocation)); Console.WriteLine("dist: " + educationLine.Distance); counter++; _fourthCriterionContainer.Add(educationLine); } } } _fourthCriterionMatrixSize = counter; }
//Критерий расстояния - заполнение направлений во временный список private void InitialiseFourthCriterion() { int counter = 0; Console.WriteLine(_settings.FourthCriterionExactLocation.ToString()); foreach (EducationLine EdLine in _educationLines) { if (_settings.FourthCriterionExactLocation == true) { FourthCriterionUnit EducationLine = new FourthCriterionUnit(); EducationLine.databaseId = Convert.ToInt32(EdLine.Id); EducationLine.matrixId = counter; EducationLine.hasCoordinates = false; EducationLine.localPriority = 0; if (EdLine.Faculty.HigherEducationInstitution.City.Id == _settings.FourthCriterionCityID) { EducationLine.distance = 0; } else { EducationLine.distance = 9.0; } counter++; FourthCriterionContainer.Add(EducationLine); } else { var subjectLocation = context.Cities.Find(_settings.FourthCriterionCityID).Location; if (EdLine.Faculty.HigherEducationInstitution.City.Location == null) { FourthCriterionUnit EducationLine = new FourthCriterionUnit(); EducationLine.databaseId = Convert.ToInt32(EdLine.Id); EducationLine.hasCoordinates = false; EducationLine.localPriority = 0; FourthCriterionContainer.Add(EducationLine); } else { FourthCriterionUnit EducationLine = new FourthCriterionUnit(); EducationLine.databaseId = Convert.ToInt32(EdLine.Id); EducationLine.matrixId = counter; EducationLine.hasCoordinates = true; EducationLine.localPriority = 0; var universityLocation = EdLine.Faculty.HigherEducationInstitution.City.Location; EducationLine.distance = Convert.ToDouble(subjectLocation.Distance(universityLocation)); Console.WriteLine("dist: " + EducationLine.distance.ToString()); counter++; FourthCriterionContainer.Add(EducationLine); } } } fourthCriterionMatrixSize = counter; }