示例#1
0
        private void Initiaize()
        {
            _cars  = Statics.ReadFromFile(CARS_FILR_PATH);
            _names = Statics.ReadFromFile(NAMES_FILE_PATH);

            Thread thread = new Thread(async() =>
            {
                _citiesAndStreetsForRoutes = await CSVParser.ParseCSVAsync("_streets.csv");
            });

            thread.Start();



            Dictionary <string, string> configs = getConnctionStringAndDBName();

            _connector = new MongoConnector(configs["connectionString"], configs["databaseName"]);

            _digitsKeys = _connector.GetDocumentById <KeysModel>("_program_data", new Guid("98ca8e37-1dce-46ca-afcd-b87bf455e0cc")).NumKeysValuesList;
            //var giud = _connector.GetAllDocuments<KeysModel>("_program_data");

            cmbTaxiManufacturer.Items.AddRange(_cars);
            var cars   = _connector.GetAllDocuments <CarModel>("Cars").Select(x => new ComboCar(x)).ToArray();
            var routes = _connector.GetAllDocuments <RouteModel>("Routes").Select(x => new ComboRoute(x)).ToArray();

            cmbCars.Items.AddRange(cars);
            cmbRoutes.Items.AddRange(routes);
            cmbCars.SelectedIndexChanged += (object sender, EventArgs e) =>
            {
                lblCarLicense.Text = ((ComboCar)(sender as ComboBox).SelectedItem).License;
            };
            cmbEditAllDrivers.SelectedIndexChanged += (object sender, EventArgs e) =>
            {
                cmbEditAllDriversSelectedIndexChanged(sender, e);
                //_cmbEditAllDriversSelectedItem
            };

            cmbEditTaxies.SelectedIndexChanged += (object sender, EventArgs e) =>
            {
                cmbEditTaxiesSelectedIndexChanged(sender as ComboBox);
            };

            txtChangeDriverCarLicense.KeyDown += (object sender, KeyEventArgs e) =>
            {
                LicenseNumberTexBoxKeyDown(sender as TextBox, e);
            };

            txtEditTaxiesLicense.KeyDown += (object sender, KeyEventArgs e) =>
            {
                LicenseNumberTexBoxKeyDown(sender as TextBox, e);
            };



            InitializeAddCarsTab();
            InitializeAddDriversTab();
            InitializeAddRoutesTab();
            InitializeEditDriversTab();
            InitializeEtitTaxiesTab();


            editDriversTab.Leave += async(object sender, EventArgs e) =>
            {
                await editDriversTabLeave();
            };

            editTaxiesTab.Leave += async(object sender, EventArgs e) =>
            {
                await editDriversTabLeave();
            };

            editTaxiesTab.Enter += (object sender, EventArgs e) =>
            {
                InitializeEtitTaxiesTab();
            };

            btnAddDriver.Click += (object sender, EventArgs e) =>
            {
                DriverModel driver = new DriverModel
                {
                    Id             = new Guid(),
                    FirstName      = txtFirstName.Text,
                    Lastname       = txtLastName.Text,
                    IdentityNumber = pnlLongNumberCreatorIdNumber.Number,
                    //Image = pbcDriverPicture.Image as Bitmap,
                    Image    = (byte[])_imageConverter.ConvertTo(pbxDriverPicture.Image, typeof(byte[])),
                    CarIds   = _driverCarIDs,
                    RouteIds = _driverRouteIDs
                };

                _connector.AddDocument("Drivers", driver);
                cmbEditAllDrivers.Items.Add(new ComboDriver(driver));

                InitializeAddDriversTab();
            };



            btnAddTaxi.Click += (object sender, EventArgs e) =>
            {
                List <Guid> driverIDs = new List <Guid>();
                driverIDs.Add((cmbTaxiDrivers.SelectedItem as ComboDriver).Driver.Id);

                CarModel car = new CarModel
                {
                    Id            = new Guid(),
                    Manufacturer  = (string)cmbTaxiManufacturer.SelectedItem,
                    LicenseNumber = pnlLongNumberCreatorTaxiLicenseNumber.Number,
                    DriverIds     = driverIDs
                };

                _connector.AddDocument("Cars", car);

                InitializeAddCarsTab();
            };


            btnAddRoute.Click += (object sender, EventArgs e) =>
            {
                RouteModel route = new RouteModel
                {
                    Id = new Guid(),
                    DepartureAddress   = txtDepartureAddress.Text,
                    DestinationAddress = txtDestinationAddress.Text
                };

                _connector.AddDocument("Routes", route);

                InitializeAddRoutesTab();
            };

            //List<DriverModel> lstDrivers = new List<DriverModel>();



            btnAddDriverRoutes.MouseHover += (object sender, EventArgs e) =>
            {
                cmbChangeDriverRoutes1.Text = GenerateAddress(_citiesAndStreetsForRoutes);
                cmbChangeDriverRoutes2.Text = GenerateAddress(_citiesAndStreetsForRoutes);
            };

            btnAddDriverRoutes.Click += (object sender, EventArgs e) =>
            {
                if (_driverWhenEdited == null)
                {
                    MessageBox.Show("Choose dreiver first");
                    return;
                }



                var        routeId = Guid.NewGuid();
                RouteModel route   = new RouteModel
                {
                    Id = routeId,
                    DepartureAddress   = cmbChangeDriverRoutes1.Text,
                    DestinationAddress = cmbChangeDriverRoutes2.Text
                };

                _driverWhenEdited.RouteIds.Add(route.Id);

                _connector.AddDocument("Routes", route);

                _connector.UpdateDocument("Drivers", _driverWhenEdited.Id, _driverWhenEdited);

                cmbEditAllDriversSelectedIndexChanged(cmbEditAllDrivers, new EventArgs());
            };

            btnSaveDriverRoutes.Click += (object sender, EventArgs e) =>
            {
                if (_driverWhenEdited == null)
                {
                    MessageBox.Show("Choose driver first");
                    return;
                }



                if (cmbChangeDriverRoutes1.Items.Count == 0)
                {
                    MessageBox.Show("This driver has no routes");
                    return;
                }

                RouteModel route1   = (cmbChangeDriverRoutes1.Items[_cmbChangeDriverRoutes1SelectedIndex] as ComboRoute).Route;
                Guid       route1ID = route1.Id;

                if (!string.IsNullOrEmpty(cmbChangeDriverRoutes1.Text) && !string.IsNullOrWhiteSpace(cmbChangeDriverRoutes1.Text))
                {
                    route1.DepartureAddress = cmbChangeDriverRoutes1.Text;
                }
                if (!string.IsNullOrEmpty(cmbChangeDriverRoutes2.Text) && !string.IsNullOrWhiteSpace(cmbChangeDriverRoutes2.Text))
                {
                    route1.DestinationAddress = cmbChangeDriverRoutes2.Text;
                }

                if (_driverWhenEdited.RouteIds.Contains(route1ID))
                {
                    _connector.UpdateDocument("Routes", route1ID, route1);

                    RouteModel route1Updated = _connector.GetDocumentById <RouteModel>("Routes", route1ID);



                    if (route1.Id == route1Updated.Id)
                    {
                        cmbEditAllDriversSelectedIndexChanged(cmbEditAllDrivers, new EventArgs());
                    }
                }
                else
                {
                    MessageBox.Show($"sorry, but this driver don't have a route \"${route1.DepartureAddress} - ${route1.DestinationAddress}\". The route won't be updated. ");
                }
            };

            btnDeleteDriverRoutes.Click += (object sender, EventArgs e) =>
            {
                if (_driverWhenEdited == null)
                {
                    MessageBox.Show("Choose dreiver first");
                    return;
                }



                if (cmbChangeDriverRoutes1.Items.Count == 0)
                {
                    MessageBox.Show("This driver has no routes");
                    return;
                }

                RouteModel route1      = (cmbChangeDriverRoutes1.Items[_cmbChangeDriverRoutes1SelectedIndex] as ComboRoute).Route;
                Guid       route1ID    = route1.Id;
                RouteModel route1Check = _connector.GetDocumentById <RouteModel>("Routes", route1ID);

                _connector.DeleteDocument <RouteModel>("Routes", route1ID);

                RouteModel route1Check2 = _connector.GetDocumentById <RouteModel>("Routes", route1ID);

                _driverWhenEdited.RouteIds.Remove(route1.Id);

                _connector.UpdateDocument("Drivers", _driverWhenEdited.Id, _driverWhenEdited);

                cmbEditAllDriversSelectedIndexChanged(cmbEditAllDrivers, new EventArgs());
            };

            btnAddDriverCar.MouseHover += (object sender, EventArgs e) =>
            {
                cmbChangeDriverCars.Text = _cars[_rnd.Next(_cars.Length - 1)];
                string license = "";
                for (int i = 0; i < 6; i++)
                {
                    license += _rnd.Next(9).ToString();
                }

                txtChangeDriverCarLicense.Text = license;
            };


            cmbEditTaxiesDriversAllDrivers.SelectedIndexChanged += (object sender, EventArgs e) =>
            {
                _cmbEditTaxiesDriversAllDriversSelectedItem = (sender as ComboBox).SelectedItem;
            };
        }
示例#2
0
        public static string GetPersonImageAs64BaseString()
        {
            _imageString = Statics.GetStreamFromUrl("https://thispersondoesnotexist.com/image");

            return(Convert.ToBase64String(ReadToEnd(_imageString)));
        }