Пример #1
0
        //Критерий расстояния - заполнение направлений во временный список
        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;
        }
Пример #2
0
        //Критерий расстояния - заполнение направлений во временный список
        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;
        }