/// <summary>
        /// Returns true if Routing instances are equal
        /// </summary>
        /// <param name="input">Instance of Routing to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(Routing input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     CalcPoints == input.CalcPoints ||
                     (CalcPoints != null &&
                      CalcPoints.Equals(input.CalcPoints))
                     ) &&
                 (
                     ConsiderTraffic == input.ConsiderTraffic ||
                     (ConsiderTraffic != null &&
                      ConsiderTraffic.Equals(input.ConsiderTraffic))
                 ) &&
                 (
                     NetworkDataProvider == input.NetworkDataProvider ||
                     (NetworkDataProvider != null &&
                      NetworkDataProvider.Equals(input.NetworkDataProvider))
                 ) &&
                 (
                     FailFast == input.FailFast ||
                     (FailFast != null &&
                      FailFast.Equals(input.FailFast))
                 ));
        }
Пример #2
0
        internal static void ExecPoints()
        {
            Console.WriteLine("Points !");
            Console.WriteLine("Pays 1:");
            Country ct1 = ViewCountry.NewCountry(true);

            Console.WriteLine("Pays 2:");

            Country ct2    = ViewCountry.NewCountry(true);
            int     coeff  = ViewPoints.GetCoeff();
            int     diff   = ct1.Score - ct2.Score;
            Points  points = CalcPoints.DoCalcPoints(ct1.Pts, ct2.Pts, coeff, diff);

            ct1.Pts = points.Pts1;
            ct2.Pts = points.Pts2;
            ViewPoints.DoViewPoints(ct1, ct2);
        }
Пример #3
0
        public JsonResult SendDataJson(UserData userData)
        {
            if (DataValidation.Valadation(userData))
            {
                var          dbPoints  = db.Points;
                List <Point> newPoints = CalcPoints.GetPoints(userData);
                foreach (Point point in newPoints)
                {
                    dbPoints.Add(point);
                }

                var dbUserDatas = db.UserDatas;
                dbUserDatas.Add(userData);

                db.SaveChanges();

                return(Json(newPoints));
            }
            else
            {
                return(Json(false));
            }
        }
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         int hashCode = 41;
         if (CalcPoints != null)
         {
             hashCode = hashCode * 59 + CalcPoints.GetHashCode();
         }
         if (ConsiderTraffic != null)
         {
             hashCode = hashCode * 59 + ConsiderTraffic.GetHashCode();
         }
         if (NetworkDataProvider != null)
         {
             hashCode = hashCode * 59 + NetworkDataProvider.GetHashCode();
         }
         if (FailFast != null)
         {
             hashCode = hashCode * 59 + FailFast.GetHashCode();
         }
         return(hashCode);
     }
 }
Пример #5
0
 public void Calculate(Point p, CalcPoints del)
 {
     del(this, p);
 }
Пример #6
0
        static void Main(string[] args)
        {
            Point    point1 = new Point(1, 1);
            Point    point2 = new Point(2, 2);
            Fraction frac1  = new Fraction(1, 1);

            IntSet del1 = point1.SetValues;

            del1(3, 3);
            Console.WriteLine(point1.ToString());

            del1 += point2.SetValues;
            del1 += frac1.SetValues;
            del1(10, 10);
            ShowValues();

            del1 -= point2.SetValues;
            del1(21, 21);
            ShowValues();

            del1 -= frac1.SetValues;

            IntSet del2 = del1;

            del2(99, 99);
            ShowValues();

            // Сложение и вычитание точек.

            CalcPoints calc = Point.AddPoint;

            calc(point1, point2); // сумма точек 1 и 2
            ShowValues();

            point2.Calculate(point1, calc); // сумма точек 1 и 2
            ShowValues();

            calc = Point.SubPoint;
            point2.Calculate(point1, calc); // разность точек 2 и 1
            ShowValues();

            void ShowValues()
            {
                Console.WriteLine("point1: " + point1.ToString());
                Console.WriteLine("point2: " + point2.ToString());
                Console.WriteLine("frac1: " + frac1.ToString());
                Console.WriteLine("-----");
            }

            // Тестирование класса Vector.
            Vector myVec = new Vector(new Point[] { new Point(1, 1),
                                                    new Point(2, 2),
                                                    new Point(3, 3) });
            VectorDelegate vecDel = Point.AddPoint;

            myVec.Calculate(new Point(10, 10), vecDel);

            foreach (Point p in myVec)
            {
                Console.WriteLine(p.ToString());
            }


            // Задача. Разработайте классы автомобиль Car, гараж Garage, мойка Washer.
            //  Гараж - коллекция автомобилей. Мойка - независимое предприятие, которое может
            // только мыть автомобиль методом Wash. Делегируйте помывку всех автомобоилей
            // предприятию.
            // Тестрование класса.
            Garage.Car   car1  = new Garage.Car("audi x7");
            Washer       wash1 = new Washer();
            WashDelegate del   = wash1.Wash;

            del(car1);
            Garage.Car car = new Garage.Car();

            Garage.Car[] cars = new Garage.Car[10];
            for (int i = 0; i < 10; ++i)
            {
                cars[i] = new Garage.Car();
            }

            Garage gar1 = new Garage(cars);
            Garage gar2 = new Garage();

            NewWasher wash2 = new NewWasher();

            // Подписались на события.
            wash1.DelRegister(wash2.Attantion);
            wash1.Wash(car);

            // Терстирование событий.
            point1.SetEvent += TestEvent;
            point1.SetValues(100, 100);
            point1.SetEvent -= TestEvent;
            point1.SetValues(0, 0);
            void TestEvent(object p)
            {
                Console.WriteLine("Произошла установка свойств объекта Point!");
                Console.WriteLine($"Получили объект! {p.ToString()}");
            }
        }