private async void AddDriver(object parameter)
        {
            Console.WriteLine("Adding driver");
            if (!ValidateDriverInfo())
            {
                return;
            }

            Driver existingDriver = await _driverService.GetDriverByUsername(this.Username);

            if (existingDriver != null && existingDriver.DriverID != 0)
            {
                IsErrorInUsername = true;
                ErrorMessage      = "Username already exists, Please try another.";
                OnErrorOccurred?.Invoke(this, new EventArgs());
                return;
            }

            Driver driver = new Driver()
            {
                FirstName = this.FirstName,
                LastName  = this.LastName,
                UserName  = this.Username,
                Pin       = this.Pin,
                IsActive  = this.IsActive,
                GroupID   = this.AddEditSelectedGroup != null ? this.AddEditSelectedGroup.GroupID : default(int?),
                ProductID = this.SelectedProduct.ProductID,
            };

            IsDataLoading = true;
            await _driverService.AddNewDriver(driver);

            IsDataLoading = false;
            await FetchGroupsAsync(false);
            await FetchAllDriversAsync();

            Console.WriteLine($"FirstName : {FirstName}, LastName : {LastName}, Pin : {Pin}, Group : {AddEditSelectedGroup?.Name}, IsActive : {IsActive}");
            ClosePopup(parameter);
        }