Пример #1
0
        public DateTime SuggestAnotherDateForTest(DateTime date, DateTime hour, VehicleKind vehicleKind, List <Tester> validTesters)
        {
            if (validTesters.Count == 0)
            {
                throw new Exception("מקום היציאה רחוק מידי לבוחנים שלנו");
            }
            DateTime starthour = new DateTime(1900, 01, 01, 9, 0, 0);
            string   testerId  = null;

            while (testerId == null)
            {
                hour = hour.AddHours(1);
                if (hour.Hour <= 15)
                {
                    testerId = FindTester(date, hour, vehicleKind, validTesters);
                }
                else
                {
                    date = date.AddDays(1);
                    while (date.DayOfWeek.GetHashCode() >= 5)
                    {
                        date = date.AddDays(1);
                    }
                    hour     = starthour;
                    testerId = FindTester(date, hour, vehicleKind, validTesters);
                }
            }
            DateTime newDate = new DateTime(date.Year, date.Month, date.Day, hour.Hour, 0, 0);

            return(newDate);
        }
        private Canvas CreateVehicleUIElement(VehicleKind kind, int index)
        {
            var width  = kind == VehicleKind.OverheightVehicle ? 50 : 35;
            var height = kind == VehicleKind.OverheightVehicle ? 30 : 25;

            var canvas = new Canvas
            {
                DataContext = this,
                Width       = width,
                Height      = height,
                Children    =
                {
                    new Rectangle
                    {
                        Width  = width,
                        Height = height,
                        Fill   = new SolidColorBrush(kind == VehicleKind.OverheightVehicle ? Colors.DarkRed : Colors.BlueViolet)
                    },
                    new TextBlock
                    {
                        Width         = width,
                        Height        = height,
                        TextAlignment = TextAlignment.Center,
                        Text          = (kind == VehicleKind.OverheightVehicle ? "OHV" : "HV") + index
                    }
                }
            };

            Panel.SetZIndex(canvas, -1);
            canvas.ManipulationCompleted += OnManipulationCompleted;
            canvas.PreviewMouseDown      += OnVehicleMouseDown;
            canvas.PreviewMouseUp        += OnVehicleMouseUp;

            return(canvas);
        }
Пример #3
0
        public async Task <IActionResult> Edit(int id, [Bind("VehicleKindId,Name")] VehicleKind vehicleKind)
        {
            if (id != vehicleKind.VehicleKindId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(vehicleKind);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VehicleKindExists(vehicleKind.VehicleKindId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(vehicleKind));
        }
 public Drivinglessons(VehicleKind MyVehicleKind, GearboxKind MyGearboxKind, string MyDrivingSchool, string MyTeacher, int MyLessons)
 {
     VehicleKind   = MyVehicleKind;
     GearboxKind   = MyGearboxKind;
     DrivingSchool = MyDrivingSchool;
     Teacher       = MyTeacher;
     Lessons       = MyLessons;
     IsPass        = false;
 }
Пример #5
0
        public async Task <IActionResult> Create([Bind("VehicleKindId,Name")] VehicleKind vehicleKind)
        {
            if (ModelState.IsValid)
            {
                _context.Add(vehicleKind);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(vehicleKind));
        }
Пример #6
0
        public VehicleKind[] TestedAndPassed(Trainee trainee)
        {
            List <Test> tests = AlltestsThat(t => (t.IsPass && t.Id_trainee == trainee.Id));

            VehicleKind[] arr = new VehicleKind[4];
            foreach (Test t in tests)
            {
                arr[t.VehicleKind.GetHashCode()] = t.VehicleKind;
            }
            return(arr);
        }
Пример #7
0
        public string FindTester(DateTime date, DateTime hour, VehicleKind vehicleKind, List <Tester> validTesters)
        {
            List <Tester> availableTesters;

            availableTesters = GetAvaileableTesters(date, hour, validTesters);
            foreach (Tester t in availableTesters)
            {
                if ((t.VehicleKind == vehicleKind))
                {
                    return(t.Id);
                }
            }
            return(null);
        }
Пример #8
0
        public bool isDeservedLicenseByKind(Trainee trainee, VehicleKind kind)
        {
            IEnumerable <Test> traineeTests = GetAllTestsOfTrainee(trainee.Id);

            if (traineeTests == null)
            {
                return(false);
            }
            foreach (Test t in traineeTests)
            {
                if (t.IsPass && t.VehicleKind == kind)
                {
                    return(true);
                }
            }
            return(false);
        }
        private void Spawn(VehicleKind kind, Lane lane)
        {
            var vehicle = _vehicles.FirstOrDefault(v => v.Item1 is VisualizationVehicle && v.Item1.Kind == kind && !v.Item3);

            if (vehicle == null)
            {
                return;
            }

            var visualizationVehicle = (VisualizationVehicle)vehicle.Item1;

            visualizationVehicle.NextLane = lane;
            visualizationVehicle.Update();
            visualizationVehicle.NextSpeed = 1;

            _vehicles.Remove(vehicle);
            _vehicles.Add(Tuple.Create(vehicle.Item1, vehicle.Item2, true));
        }
Пример #10
0
        public int whichTestTraineePassedByKind(Trainee trainee, VehicleKind kind)
        {
            int counter = 0;
            IEnumerable <Test> traineeTests = GetAllTestsOfTrainee(trainee.Id);

            if (traineeTests == null)
            {
                return(0);
            }
            foreach (Test t in traineeTests)
            {
                if ((t.VehicleKind == kind) && (!t.IsPass))
                {
                    counter++;
                }
            }
            return(counter);
        }
		private Canvas CreateVehicleUIElement(VehicleKind kind, int index)
		{
			var width = kind == VehicleKind.OverheightVehicle ? 50 : 35;
			var height = kind == VehicleKind.OverheightVehicle ? 30 : 25;

			var canvas = new Canvas
			{
				DataContext = this,
				Width = width,
				Height = height,
				Children =
				{
					new Rectangle
					{
						Width = width,
						Height = height,
						Fill = new SolidColorBrush(kind == VehicleKind.OverheightVehicle ? Colors.DarkRed : Colors.BlueViolet)
					},
					new TextBlock
					{
						Width = width,
						Height = height,
						TextAlignment = TextAlignment.Center,
						Text = (kind == VehicleKind.OverheightVehicle ? "OHV" : "HV") + index
					}
				}
			};

			Panel.SetZIndex(canvas, -1);
			canvas.ManipulationCompleted += OnManipulationCompleted;
			canvas.PreviewMouseDown += OnVehicleMouseDown;
			canvas.PreviewMouseUp += OnVehicleMouseUp;

			return canvas;
		}
		private void Spawn(VehicleKind kind, Lane lane)
		{
			var vehicle = _vehicles.FirstOrDefault(v => v.Item1 is VisualizationVehicle && v.Item1.Kind == kind && !v.Item3);

			if (vehicle == null)
				return;

			var visualizationVehicle = (VisualizationVehicle)vehicle.Item1;
			visualizationVehicle.NextLane = lane;
			visualizationVehicle.Update();
			visualizationVehicle.NextSpeed = 1;

			_vehicles.Remove(vehicle);
			_vehicles.Add(Tuple.Create(vehicle.Item1, vehicle.Item2, true));
		}