Example #1
0
        public Vehicle createVehicleHelper(VehicleHash model, Vector3 pos, Vector3 rot, int ownerId = 0)
        {
            Random  r       = new Random();
            int     color   = r.Next(0, 160);
            Vehicle vehicle = API.createVehicle(model, pos, rot, color, color);
            Veh     veh     = new Veh(API.getVehicleDisplayName(model), ownerId);

            veh.Handle = vehicle.handle.Value;

            // trigger client event to stream number plate info
            API.setVehicleNumberPlate(vehicle, veh.Plate);
            API.setVehicleEngineStatus(vehicle, false);
            API.sendNativeToAllPlayers(Hash.SET_VEHICLE_DOORS_LOCKED, API.getEntityFromHandle <Vehicle>(vehicle), 2);
            API.setEntityData(vehicle, "JSON_DATA", API.toJson(veh));
            API.setEntitySyncedData(vehicle, "PLATE", veh.Plate);

            _database          = new MySqlConnectionStringBuilder("server=localhost;user=root;database=gtanserver;port=3306;password=;");
            _vehicleRepository = _database.Connection().As <IVehicleRepository>();
            _vehicleRepository.AddNewVehicle(veh);



            return(vehicle);
        }
Example #2
0
        public async Task <IActionResult> AddNewVehicle(Vehicle addNewVehicle)
        {
            // The uploaded files from the users POST.
            var uploadedImages = Request.Form.Files;

            if (ModelState.IsValid && addNewVehicle != null)
            {
                // Creating the folder structure.
                string webrootPath       = _hostingEnvironment.WebRootPath;
                string createImageFolder = webrootPath + "\\images";
                Directory.CreateDirectory(createImageFolder);
                string createVehicleImagesFolder = createImageFolder + "\\vehicle_images";
                Directory.CreateDirectory(createVehicleImagesFolder);
                string createSpecificVehicleFolder = createVehicleImagesFolder + "\\" + addNewVehicle.Brand + "_" + addNewVehicle.RegNr;
                Directory.CreateDirectory(createSpecificVehicleFolder);

                List <Models.Image> images = new List <Models.Image>();

                // Taking each uploaded image and saving it in the correct folder.
                foreach (var file in uploadedImages)
                {
                    Guid   uniqueGuid          = Guid.NewGuid();
                    string targetFileName      = uniqueGuid + "_" + file.FileName;
                    string finalTargetFilePath = createSpecificVehicleFolder + "\\" + targetFileName;

                    if (file.Length > 0)
                    {
                        // Copy file to target.
                        using (var stream = new FileStream(finalTargetFilePath, FileMode.Create))
                        {
                            await file.CopyToAsync(stream);
                        }
                    }

                    // Resize and save the image under the correct folder. Calls on the ImageResize function.
                    string resizedImageFolder = createSpecificVehicleFolder + "\\resized_images";
                    if (!Directory.Exists(resizedImageFolder))
                    {
                        Directory.CreateDirectory(resizedImageFolder);
                    }
                    ImageResize(finalTargetFilePath, resizedImageFolder + "\\" + targetFileName, 100);

                    var theImage = new Models.Image
                    {
                        Name = uniqueGuid,
                        Path = "/images/vehicle_images/" + addNewVehicle.Brand + "_" + addNewVehicle.RegNr + "/" + targetFileName
                    };
                    images.Add(theImage);
                }
                addNewVehicle.Images = images;

                if (uploadedImages.Count() == 0)
                {
                    List <Models.Image> defaultImageList = new List <Models.Image>();
                    Guid defaultImageGuid = Guid.NewGuid();
                    var  defaultImage     = new Models.Image
                    {
                        Name = defaultImageGuid,
                        Path = "/defaultimages/Image_Upload.png"
                    };
                    defaultImageList.Add(defaultImage);
                    addNewVehicle.Images = defaultImageList;
                }

                Office jkpgOffice = officeRepo.Offices.Single(o => o.OfficeCode == "BB1");
                Office varnOffice = officeRepo.Offices.Single(o => o.OfficeCode == "BB2");
                Office gbgOffice  = officeRepo.Offices.Single(o => o.OfficeCode == "BB3");
                if (addNewVehicle.Office == "Jönköping")
                {
                    addNewVehicle.OfficeId = jkpgOffice;
                }
                if (addNewVehicle.Office == "Värnamo")
                {
                    addNewVehicle.OfficeId = varnOffice;
                }
                if (addNewVehicle.Office == "Göteborg")
                {
                    addNewVehicle.OfficeId = gbgOffice;
                }

                addNewVehicle.AddedDate   = DateTime.Now;
                addNewVehicle.UpdatedDate = DateTime.Now;

                vehicleRepo.AddNewVehicle(addNewVehicle);

                return(Json(new { data = true }));
            }

            return(View());
        }