예제 #1
0
        public Response GetNewVehicles()
        {
            Response response = new Response();

            using (VehiclesSystemEntities db = new VehiclesSystemEntities())
            {
                List <Models.Vehicle> NewVehicles = new List <Models.Vehicle>();
                foreach (var item in db.Vehicles)
                {
                    if (item.WaitingForApprove)
                    {
                        Models.Vehicle vehicle = new Models.Vehicle
                        {
                            VehicleId         = item.Id,
                            PlateNumber       = item.PlateNumber,
                            PlateModel        = item.PlateModel,
                            PlateColor        = item.PlateColor,
                            WaitingForApprove = item.WaitingForApprove
                        };
                        if (item.PlateTextId != null)
                        {
                            vehicle.PlateText = (from p in db.PlateTexts
                                                 where p.Id == item.PlateTextId
                                                 select p.Text).FirstOrDefault();
                        }
                        NewVehicles.Add(vehicle);
                    }
                }
                response.Vehicles = NewVehicles;
                response.Msg      = "success";
            }
            return(response);
        }
예제 #2
0
        public bool CreateCar(Vector3 _position, GrandTheftMultiplayer.Shared.VehicleHash _vehicle)
        {
            try
            {
                var id   = _repository.Current.Count > 0 ? _repository.Current.LastOrDefault().VehicleId + 1 : 1;
                var _veh = new Models.Vehicle
                {
                    VehicleId           = id,
                    Plate               = "LS" + id,
                    Color1              = 131,
                    Color2              = 131,
                    Fuel                = 100,
                    IsLocked            = false,
                    LastPosition        = _position,
                    LastRotation        = _position,
                    OwnerSocialClubName = "",
                    VehicleModelId      = _vehicle,
                    FactionId           = -1,
                    JobId               = -1
                };

                for (int i = 0; i <= 69; i++)
                {
                    _veh.Mods[i] = -1;
                }

                _repository.Add(_veh);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        // GET: VehicleDetails
        public ActionResult Index(string vehicleID)
        {
            Models.Vehicle      myModel = new Models.Vehicle();
            CodeFirst.CodeFirst db      = new CodeFirst.CodeFirst();
            if (vehicleID != null)
            {
                var intVehicleID = Int32.Parse(vehicleID);
                var myVehicle    = db.Vehicles.Where(i => i.VehicleID == intVehicleID).FirstOrDefault();
                var myTypeID     = db.Vehicle_Type.Where(i => i.TypeID == myVehicle.TypeID).FirstOrDefault();

                myModel.VehicleID               = myVehicle.VehicleID;
                myModel.Brand                   = myVehicle.Brand;
                myModel.Model                   = myVehicle.Model;
                myModel.NumberPlate             = myVehicle.NumberPlate;
                myModel.DateofPurchase          = myVehicle.DateOfPurchase;
                myModel.DateofLastRepair        = myVehicle.DateofLastRepair;
                myModel.DateofLicencePurchase   = myVehicle.DateofLicencePurchase;
                myModel.LicenseExpireDate       = myVehicle.LicenseExpireDate;
                myModel.ServiceIntervalInMonths = myVehicle.ServiceIntervalInMonths;
                myModel.ServiceIntervalInKMs    = myVehicle.ServiceIntervalInKMs;
                myModel.TypeID                  = myTypeID.TypeID;
                myModel.TypeName                = db.Vehicle_Type.Where(i => i.TypeID == myTypeID.TypeID).FirstOrDefault().Name;
            }

            myModel.VehicleTypes = db.Vehicle_Type.ToList();
            return(View(myModel));
        }
        public ActionResult Modify([Bind(Prefix = "")] Models.Vehicle model)
        {
            var db = new CodeFirst.CodeFirst();

            if (ModelState.IsValid)
            {
                var vehicle = db.Vehicles.Where(v => v.VehicleID == model.VehicleID).SingleOrDefault();

                if (vehicle != null)
                {
                    vehicle.Brand                   = model.Brand;
                    vehicle.Model                   = model.Model;
                    vehicle.NumberPlate             = model.NumberPlate;
                    vehicle.DateOfPurchase          = model.DateofPurchase;
                    vehicle.DateofLastRepair        = model.DateofLastRepair;
                    vehicle.DateofLicencePurchase   = model.DateofLicencePurchase;
                    vehicle.LicenseExpireDate       = model.LicenseExpireDate;
                    vehicle.ServiceIntervalInMonths = model.ServiceIntervalInMonths;
                    vehicle.ServiceIntervalInKMs    = model.ServiceIntervalInKMs;
                    vehicle.TypeID                  = model.TypeID;
                    db.SaveChanges();
                }

                TempData["js"] = "myUpdateSuccess()";
                return(RedirectToAction("Index", "Vehicles"));
            }
            model.VehicleTypes = db.Vehicle_Type.ToList();
            return(View("Index", model));
        }
예제 #5
0
 //Edit a vehicle
 public void Edit(Models.Vehicle vehicle)
 {
     //Edits the element without removing and inserting it
     db.Entry(vehicle).State = EntityState.Modified;
     //Saves the new Data in the Database
     db.SaveChanges();
 }
예제 #6
0
        public static bool OwnACar(Client _Owner, GrandTheftMultiplayer.Server.Elements.Vehicle _vehicle, GrandTheftMultiplayer.Shared.VehicleHash _VehModelId)
        {
            try
            {
                var _veh = new Models.Vehicle
                {
                    VehicleId = currentVehList.Items.Count > 0 ? currentVehList.Items.LastOrDefault().VehicleId + 1 : 1,
                    Plate     = "LS" + (currentVehList.Items.Count > 0 ? currentVehList.Items.LastOrDefault().VehicleId + 1 : 1).ToString(),
                    //Color1 = _vehicle.primaryColor,
                    //Color2 = _vehicle.secondaryColor,
                    Fuel                = 100,
                    IsLocked            = false,
                    LastPosition        = _vehicle.position,
                    LastRotation        = _vehicle.rotation,
                    OwnerSocialClubName = _Owner.socialClubName,
                    VehicleModelId      = _VehModelId,
                    FactionId           = -1,
                    JobId               = -1,
                };

                for (int i = 0; i <= 69; i++)
                {
                    _veh.Mods[i] = -1;
                }

                currentVehList.Items.Add(_veh);
                SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                API.shared.consoleOutput(LogCat.Warn, ex.ToString());
                return(false);
            }
        }
예제 #7
0
        public ActionResult Details(int?id = null)
        {
            ViewBag.Title = "Dettagli";

            //return null;//blank page
            //return View("Index");
            //return RedirectToAction("Index");



            if (id.HasValue)
            {
                Models.Vehicle v = new Models.Vehicle();
                v.Name = "TestName";
                v.Type = "Golf";
                v.id   = id.Value;



                return(View(v));
            }
            else
            {
                return(RedirectToAction("Index"));
            }

            //return File("~/App_Data/IIS.txt",System.Net.Mime.MediaTypeNames.Application.Octet,"File.txt");
        }
예제 #8
0
 public async Task AddVehicle(Models.Vehicle vehicle)
 {
     using (ApplicationDbContext context = new ApplicationDbContext())
     {
         context.Vehicles.Add(vehicle);
         await context.SaveChangesAsync();
     }
 }
예제 #9
0
 public async Task EditVehicle(Models.Vehicle vehicle)
 {
     using (ApplicationDbContext context = new ApplicationDbContext())
     {
         context.Entry(vehicle).State = EntityState.Modified;
         await context.SaveChangesAsync();
     }
 }
예제 #10
0
        // GET: AddVehicle
        public ActionResult Index()
        {
            var db       = new CodeFirst.CodeFirst();
            var vehicles = new Models.Vehicle();

            vehicles.VehicleTypes = db.Vehicle_Type.ToList();
            return(View(vehicles));
        }
예제 #11
0
        public IEnumerable <Vehicle> Get()
        {
            Vehicle v = new Models.Vehicle();

            v.display_name = "Large Bus";
            v.vehicle_id   = 1;
            v.description  = "Large school bus";
            return(new Vehicle[] { v });
        }
예제 #12
0
 // GET: Vehicles
 public ActionResult Index()
 {
     Models.Vehicle myModel = new Models.Vehicle();
     if (TempData["model"] != null)
     {
         myModel = (Models.Vehicle)TempData["model"];
         TempData.Remove("model");
     }
     return(View(myModel));
 }
예제 #13
0
        public async Task <ActionResult> Edit(Models.Vehicle vehicle)
        {
            if (ModelState.IsValid)
            {
                await _vehicle.EditVehicle(vehicle);

                return(RedirectToAction("Index"));
            }
            return(View(vehicle));
        }
예제 #14
0
        public static bool CreateRentedVehicle(VehicleHash vehModel, string rentedSocialClubName, Vector3 pos, Vector3 rot, int dim = 0)
        {
            try
            {
                Random r = new Random();
                if (vehModel.ToString() == "0")
                {
                    return(false);
                }
                var id = _repository.Current.Count > 0 ? _repository.Current.LastOrDefault().VehicleId + 1 : 1;

                var _veh = new Models.Vehicle
                {
                    VehicleOnMap             = API.shared.createVehicle(vehModel, pos, rot, r.Next(0, 125), r.Next(0, 125), dim),
                    VehicleId                = id,
                    Plate                    = "LS-" + id,
                    Dimension                = dim,
                    FactionId                = -1,
                    JobId                    = -1,
                    VehicleModelId           = vehModel,
                    Fuel                     = 100,
                    IsBlockedForTax          = false,
                    IsLocked                 = false,
                    LastPosition             = pos,
                    LastRotation             = rot,
                    ModColor1                = 0,
                    ModColor2                = 0,
                    Color1                   = 5,
                    Color2                   = 10,
                    PastMinutes              = 0,
                    OwnerSocialClubName      = null,
                    RentedTime               = DateTime.Now,
                    RentedPlayerSocialClubId = rentedSocialClubName,
                    Tax = 0,
                };

                _repository.Add(_veh);

                _veh.VehicleOnMap.numberPlate = _veh.Plate;
                for (int i = 0; i < 69; i++)
                {
                    //if (i == 24) { continue; }
                    //if (i == 23) { currentVehList.Items.LastOrDefault().Mods[i] = 0; currentVehList.Items.LastOrDefault().VehicleOnMap.setMod(i, 0); }
                    _veh.Mods[i] = -1;
                    //currentVehList.Items.LastOrDefault().VehicleOnMap.setMod(i, -1);
                }
                SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                API.shared.consoleOutput(LogCat.Warn, "Vehicle Creation Error: " + ex.ToString());
                return(false);
            }
        }
예제 #15
0
 public static Models.Vehicle FindNearestVehicle(Vector3 pos)
 {
     Models.Vehicle nearestVehicle = currentVehList.Items.FirstOrDefault();
     foreach (var itemVeh in currentVehList.Items)
     {
         if (Vector3.Distance(pos, itemVeh.VehicleOnMap.position) < Vector3.Distance(pos, nearestVehicle.VehicleOnMap.position))
         {
             nearestVehicle = itemVeh;
         }
     }
     return(nearestVehicle);
 }
예제 #16
0
        public ActionResult Create([Bind(Prefix = "")] Models.Vehicle model)
        {
            var db = new CodeFirst.CodeFirst();

            if (ModelState.IsValid)
            {
                if (db.Vehicles.Count() > 0)
                {
                    var item = db.Vehicles.OrderByDescending(a => a.VehicleID).FirstOrDefault();

                    db.Vehicles.Add(new Vehicle
                    {
                        VehicleID               = item.VehicleID + 1,
                        Brand                   = model.Brand,
                        Model                   = model.Model,
                        NumberPlate             = model.NumberPlate,
                        DateOfPurchase          = model.DateofPurchase,
                        DateofLastRepair        = model.DateofLastRepair,
                        DateofLicencePurchase   = model.DateofLicencePurchase,
                        LicenseExpireDate       = DateTime.ParseExact(model.LicenseExpireDate.Value.ToString("MM/dd/yyyy"), "MM/dd/yyyy", CultureInfo.InvariantCulture),
                        ServiceIntervalInMonths = model.ServiceIntervalInMonths,
                        ServiceIntervalInKMs    = model.ServiceIntervalInKMs,
                        TypeID                  = model.TypeID
                    });
                }
                else
                {
                    db.Vehicles.Add(new Vehicle
                    {
                        VehicleID               = 1,
                        Brand                   = model.Brand,
                        Model                   = model.Model,
                        NumberPlate             = model.NumberPlate,
                        DateOfPurchase          = model.DateofPurchase,
                        DateofLastRepair        = model.DateofLastRepair,
                        DateofLicencePurchase   = model.DateofLicencePurchase,
                        LicenseExpireDate       = model.LicenseExpireDate,
                        ServiceIntervalInMonths = model.ServiceIntervalInMonths,
                        ServiceIntervalInKMs    = model.ServiceIntervalInKMs,
                        TypeID                  = model.TypeID
                    });
                }

                db.SaveChanges();
                model.JavaScriptToRun = "mySuccess()";
                TempData["model"]     = model;
                return(RedirectToAction("Index", "Vehicles"));
            }

            model.VehicleTypes = db.Vehicle_Type.ToList();
            return(View("Index", model));
        }
예제 #17
0
        public static List <Tuple <int, int> > GetVehicleMods(Models.Vehicle _vehicle)
        {
            List <Tuple <int, int> > returnModel = new List <Tuple <int, int> >();

            for (int i = 0; i < 70; i++)
            {
                if (_vehicle.Mods[i] > -1)
                {
                    returnModel.Add(new Tuple <int, int>(i, _vehicle.Mods[i]));
                }
            }
            return(returnModel);
        }
예제 #18
0
 public static Models.Vehicle FindNearestVehicle(Vector3 pos, int JobId)
 {
     Models.Vehicle nearestVehicle = currentVehList.Items.FirstOrDefault();
     foreach (var itemVeh in currentVehList.Items)
     {
         float _dist = Vector3.Distance(pos, itemVeh.VehicleOnMap.position);
         if (JobId == itemVeh.JobId && _dist < Vector3.Distance(pos, nearestVehicle.VehicleOnMap.position))
         {
             nearestVehicle = itemVeh;
         }
     }
     return(nearestVehicle);
 }
예제 #19
0
        public async Task <ActionResult> Create(Models.Vehicle vehicle)
        {
            if (ModelState.IsValid)
            {
                vehicle.CustomerId = User.Identity.GetUserId();
                vehicle.Id         = Guid.NewGuid();
                await _vehicle.AddVehicle(vehicle);

                return(RedirectToAction("Index"));
            }

            return(View(vehicle));
        }
예제 #20
0
        protected virtual async Task PopulateViewModelAsync(Models.Vehicle vehicle, Models.Trailer trailer)
        {
            var safetyProfiles = await _repositories.SafetyProfileRepository.GetAllAsync();

            var safetyProfileVehicle = safetyProfiles.SingleOrDefault(spv => spv.IntLink == vehicle.SafetyCheckProfileIntLink);
            var safetyProfileTrailer = trailer == null ? null : safetyProfiles.SingleOrDefault(spt => spt.IntLink == trailer.SafetyCheckProfileIntLink);

            var combinedOverallStatus = Models.SafetyCheckData.GetOverallStatus(_safetyCheckData.Select(scd => scd.GetOverallStatus()));

            if ((combinedOverallStatus == Enums.SafetyCheckStatus.NotSet) &&
                ((safetyProfileVehicle != null && safetyProfileVehicle.IsVOSACompliant) ||
                 (safetyProfileTrailer != null && safetyProfileTrailer.IsVOSACompliant)))
            {
                throw new Exception("Cannot proceed to safety check signature screen because the safety check hasn't been completed");
            }

            this.DriverName          = _infoService.CurrentDriverDisplayName;
            this.VehicleRegistration = _infoService.CurrentVehicleRegistration;
            this.TrailerRef          = trailer == null ? "- no trailer -" : trailer.Registration;

            var config = await _repositories.ConfigRepository.GetAsync();

            var hasVOSACompliantSafetyCheck =
                (safetyProfileVehicle != null && safetyProfileVehicle.IsVOSACompliant) ||
                (safetyProfileTrailer != null && safetyProfileTrailer.IsVOSACompliant);

            if (hasVOSACompliantSafetyCheck)
            {
                switch (combinedOverallStatus)
                {
                case Enums.SafetyCheckStatus.Failed:
                    this.ConfirmationText = config.SafetyCheckFailText;
                    break;

                case Enums.SafetyCheckStatus.DiscretionaryPass:
                    this.ConfirmationText = config.SafetyCheckDiscretionaryText;
                    break;

                case Enums.SafetyCheckStatus.Passed:
                    this.ConfirmationText = config.SafetyCheckPassText;
                    break;

                default:
                    throw new Exception("Unexpected safety check status");
                }
            }
            else
            {
                this.ConfirmationText = config.SafetyCheckPassText;
            }
        }
예제 #21
0
        public async Task <ActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Models.Vehicle vehicle = await _vehicle.GetVehicleToEdit((Guid)id);

            if (vehicle == null)
            {
                return(HttpNotFound());
            }
            return(View(vehicle));
        }
예제 #22
0
        public ActionResult Detail(int?id)
        {
            var vehicle = api.GetVehicle(id ?? 0);
            var model   = new Models.Vehicle()
            {
                Id           = vehicle?.Id,
                Name         = vehicle?.Name,
                VehicleId    = vehicle?.VehicleId,
                EnterCost    = vehicle?.EnterCost,
                DistanceCost = vehicle?.DistanceCost
            };

            return(View(model));
        }
예제 #23
0
 public static bool RemoveVehicle(Models.Vehicle _model)
 {
     try
     {
         API.shared.deleteEntity(_model.VehicleOnMap);
         _repository.Remove(_model);
         return(true);
     }
     catch (Exception ex)
     {
         API.shared.consoleOutput(LogCat.Warn, "Error while deleting Vehicle: " + ex.ToString());
         return(false);
     }
 }
예제 #24
0
        public void MapVehicle(Models.Vehicle vehicle, Json.VehicleState json)
        {
            if (vehicle == null)
            {
                throw new ArgumentNullException("vehicle", "Vehicle should not be null in a mapper method.");
            }

            vehicle.Id         = json.id;
            vehicle.Name       = json.vehicleName;
            vehicle.DriverName = json.driverName;
            vehicle.Place      = json.place;
            vehicle.Position   = json.Pos;
            vehicle.Velocity   = json.metersPerSecond;
            vehicle.Sector     = (Models.Sector)json.sector;
        }
예제 #25
0
        public static bool CreateVehicle(VehicleHash vehModel, Client _Owner)
        {
            try
            {
                if (vehModel.ToString() == "0")
                {
                    return(false);
                }
                var id   = _repository.Current.Count > 0 ? _repository.Current.LastOrDefault().VehicleId + 1 : 1;
                var _veh = new Models.Vehicle
                {
                    VehicleOnMap        = API.shared.createVehicle(vehModel, _Owner.position, _Owner.rotation, 5, 10, _Owner.dimension),
                    VehicleId           = id,
                    Plate               = "LS-" + id,
                    Dimension           = _Owner.dimension,
                    FactionId           = -1,
                    JobId               = -1,
                    VehicleModelId      = vehModel,
                    Fuel                = 100,
                    IsBlockedForTax     = false,
                    IsLocked            = false,
                    LastPosition        = _Owner.position,
                    LastRotation        = _Owner.rotation,
                    ModColor1           = 0,
                    ModColor2           = 0,
                    Color1              = 5,
                    Color2              = 10,
                    PastMinutes         = 0,
                    OwnerSocialClubName = _Owner.socialClubName,
                    Tax = 0,
                };

                _repository.Add(_veh);
                _veh.VehicleOnMap.numberPlate = _veh.Plate;
                for (int i = 0; i < 69; i++)
                {
                    _veh.Mods[i] = -1;
                }
                SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                API.shared.consoleOutput(LogCat.Warn, "Vehicle Creation Error: " + ex.ToString());
                return(false);
            }
        }
예제 #26
0
        public static Models.Vehicle CreateVehicle(VehicleHash vehModel, Vector3 pos, Vector3 rot, int dim = 0, string ownerSocialClubName = null)
        {
            try
            {
                var id = _repository.Current.Count > 0 ? _repository.Current.LastOrDefault().VehicleId + 1 : 1;

                var _veh = new Models.Vehicle
                {
                    VehicleOnMap        = API.shared.createVehicle(vehModel, pos, rot, 5, 10, dim),
                    VehicleId           = id,
                    Plate               = "LS-" + id,
                    Dimension           = dim,
                    FactionId           = -1,
                    JobId               = -1,
                    VehicleModelId      = vehModel,
                    Fuel                = 100,
                    IsBlockedForTax     = false,
                    IsLocked            = false,
                    LastPosition        = pos,
                    LastRotation        = rot,
                    ModColor1           = 0,
                    ModColor2           = 0,
                    Color1              = 5,
                    Color2              = 10,
                    PastMinutes         = 0,
                    OwnerSocialClubName = ownerSocialClubName,
                    Tax = 0,
                };

                _repository.Add(_veh);


                _veh.VehicleOnMap.numberPlate = _veh.Plate;
                for (int i = 0; i < 69; i++)
                {
                    _veh.Mods[i] = -1;
                }
                SaveChanges();
                return(_veh);
            }
            catch (Exception ex)
            {
                API.shared.consoleOutput(LogCat.Warn, "Vehicle Creation Error: " + ex.ToString());
                return(null);
            }
        }
예제 #27
0
        public virtual IActionResult CreateVehicle()
        {
            // create a vehicle.
            Vehicle vehicle = new Models.Vehicle();


            Random r    = new Random();
            int    rInt = r.Next(0, 100); //for ints

            vehicle.DisplayName = "Sample Vehicle - " + rInt;
            vehicle.Description = "Sample Description.";
            _context.Vehicles.Add(vehicle);
            _context.SaveChanges();

            var example = _context.Vehicles.ToList();

            return(new ObjectResult(example));
        }
        public void Validate_Vehicle_Update_Fails()
        {
            //ARRANGE
            var _repositoryMock = new Mock <VehicleApi.Repositories.Interfaces.IVehicleRepository>();
            var v = new Models.Vehicle()
            {
                Id = 1, Make = "Test", Model = "ABCS", Year = 2015
            };

            _repositoryMock.Setup(a => a.Update(v)).Returns(Task.FromResult(false));

            //ACT
            var vehicleService = new VehicleApi.Services.VehicleService(_repositoryMock.Object);
            var a = vehicleService.Update(v).Result;

            //ASSERT
            Assert.IsNull(a);
        }
예제 #29
0
        public ActionResult Detail(Models.Vehicle vehicle)
        {
            if (ModelState.IsValid)
            {
                Services.WebApi.Models.ApiVehicle apiVehicle = new Services.WebApi.Models.ApiVehicle()
                {
                    Id           = vehicle.Id,
                    VehicleId    = vehicle.VehicleId,
                    Name         = vehicle.Name,
                    EnterCost    = vehicle.EnterCost,
                    DistanceCost = vehicle.DistanceCost
                };
                api.SetVehicle(apiVehicle);

                return(RedirectToAction("Index"));
            }

            return(View(vehicle));
        }
예제 #30
0
        //Add a vehicle to database
        public bool Add(Models.Vehicle vehicle)
        {
            bool exists = false;

            if (vehicle != null)
            {
                vehicle.RegNumber = vehicle.RegNumber.ToUpper();
                bool Once  = true;
                int  index = 1;

                foreach (var v in db.Vehicles.OrderBy(v => v.ParkingPlace))
                {
                    //If Vehicle Exists
                    if (v.RegNumber == vehicle.RegNumber)
                    {
                        exists = true;
                        break;
                    }
                    //Set the parking place for the vehicle to the empty parking slot
                    if (index != v.ParkingPlace && Once == true)
                    {
                        vehicle.ParkingPlace = index;
                        Once = false;
                        break;
                    }
                    index++;
                }
                //If the Vehicle doesn't exist in the database, add it to the db
                if (exists == false)
                {
                    if (vehicle.ParkingPlace == 0)
                    {
                        vehicle.ParkingPlace = index;
                    }

                    vehicle = SetDefaultPrice(vehicle);

                    db.Entry(vehicle).State = EntityState.Added;
                    db.SaveChanges();
                }
            }
            return(exists);
        }