Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, [Bind("VehicleGroupID,VehicleGroupName")] VehicleGroup vehicleGroup)
        {
            if (id != vehicleGroup.VehicleGroupID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(vehicleGroup);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VehicleGroupExists(vehicleGroup.VehicleGroupID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(vehicleGroup));
        }
Esempio n. 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            VehicleGroup vehicleGroup = db.VehicleGroups.Find(id);

            db.VehicleGroups.Remove(vehicleGroup);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public VehicleGroup Update(VehicleGroup VG, string userid)
        {
            var sqlQuery =
                string.Format(@"UPDATE VEHICLEGROUP SET IDVEHICLEGROUP = '{0}', VEHICLEGROUPNAME = '{1}', UPDATEBY = {2}, UPDATEDATE = '{3}' WHERE SID = {4}", VG.IDVEHICLEGROUP, VG.VEHICLEGROUPNAME, Convert.ToInt32(userid), DateTime.Now, VG.SID);

            this._db.Execute(sqlQuery, VG);
            return(VG);
        }
        public VehicleGroup Add(VehicleGroup VG, string userid)
        {
            var sqlQuery = @"INSERT INTO VEHICLEGROUP (IDVEHICLEGROUP, VEHICLEGROUPNAME, INPUTBY, INPUTDATE, UPDATEBY, UPDATEDATE) VALUES
                           ('" + VG.IDVEHICLEGROUP + @"', '" + VG.VEHICLEGROUPNAME + "', " + Convert.ToInt32(userid) + ", '" + DateTime.Now + @"', " + Convert.ToInt32(userid) + ", '" + DateTime.Now + @"'); " + "SELECT CAST(SCOPE_IDENTITY() as int)";
            var SID      = _db.Query <int>(sqlQuery, VG).Single();

            VG.SID = SID;
            return(VG);
        }
 public VehicleGroupViewModel(VehicleGroup vg)
 {
     this.ID       = vg.ID;
     this.Name     = vg.Name;
     this.IsActive = vg.IsActive;
     this.WithDriverPriceGroupID = vg.WithDriverPriceGroupID;
     this.PriceGroup             = vg.PriceGroup;
     this.Vehicles = vg.Vehicles;
 }
Esempio n. 6
0
 public ActionResult Edit([Bind(Include = "VehicleGroupID,VehicleGroupDescription")] VehicleGroup vehicleGroup)
 {
     if (ModelState.IsValid)
     {
         db.Entry(vehicleGroup).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(vehicleGroup));
 }
Esempio n. 7
0
        public async Task <IActionResult> Create([Bind("VehicleGroupID,VehicleGroupName")] VehicleGroup vehicleGroup)
        {
            if (ModelState.IsValid)
            {
                _context.Add(vehicleGroup);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(vehicleGroup));
        }
Esempio n. 8
0
        public ActionResult Create([Bind(Include = "VehicleGroupID,VehicleGroupDescription")] VehicleGroup vehicleGroup)
        {
            if (ModelState.IsValid)
            {
                db.VehicleGroups.Add(vehicleGroup);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(vehicleGroup));
        }
Esempio n. 9
0
        // GET: VehicleGroup/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VehicleGroup vehicleGroup = db.VehicleGroups.Find(id);

            if (vehicleGroup == null)
            {
                return(HttpNotFound());
            }
            return(View(vehicleGroup));
        }
Esempio n. 10
0
        public void UpdateGroup(VehicleGroupViewModel vehicleGroup, int userId)
        {
            using (var trans = _unitOfWork.BeginTransaction())
            {
                try
                {
                    // insert new group
                    VehicleGroup entity = new VehicleGroup();
                    Map(vehicleGroup, entity);
                    _vehicleGroupRepository.AttachNavigation <Customer>(entity.Customer);
                    entity.Id           = 0;
                    entity.CreateUserId = entity.ModifyUserId = userId;
                    entity.CreateDate   = entity.ModifyDate = DateTime.Now;
                    entity.ModifyUserId = entity.ModifyUserId = userId;
                    entity.ModifyDate   = entity.ModifyDate = DateTime.Now;
                    entity.Status       = (int)DbConstant.DefaultDataStatus.Active;
                    VehicleGroup insertedVehicleGroup = _vehicleGroupRepository.Add(entity);
                    _unitOfWork.SaveChanges();

                    // update last group status to deleted
                    _vehicleGroupRepository.AttachNavigation <Customer>(entity.Customer);
                    entity        = _vehicleGroupRepository.GetById(vehicleGroup.Id);
                    entity.Status = (int)DbConstant.DefaultDataStatus.Deleted;
                    _vehicleGroupRepository.Update(entity);
                    _unitOfWork.SaveChanges();

                    //update all vehicle to new group
                    foreach (var vehicle in _vehicleRepository.GetMany(v => v.VehicleGroupId == vehicleGroup.Id && v.Status == (int)DbConstant.DefaultDataStatus.Active))
                    {
                        _vehicleRepository.AttachNavigation <Customer>(vehicle.Customer);
                        _vehicleRepository.AttachNavigation <Brand>(vehicle.Brand);
                        _vehicleRepository.AttachNavigation <BrawijayaWorkshop.Database.Entities.Type>(vehicle.Type);
                        _vehicleRepository.AttachNavigation <VehicleGroup>(vehicle.VehicleGroup);
                        vehicle.VehicleGroup = insertedVehicleGroup;
                        vehicle.ModifyUserId = entity.ModifyUserId = userId;
                        vehicle.ModifyDate   = entity.ModifyDate = DateTime.Now;

                        _vehicleRepository.Update(vehicle);
                        _unitOfWork.SaveChanges();
                    }

                    trans.Commit();
                }
                catch (System.Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
            }
        }
Esempio n. 11
0
        public async Task <JsonResult> EditVehicleGroupAPI(VehicleGroup model)
        {
            if (!this.ModelState.IsValid)
            {
                return(Json(new { result = false, message = "Invalid!" }));
            }
            var service               = this.Service <IVehicleGroupService>();
            var priceGroupService     = this.Service <IPriceGroupService>();
            var priceGroupItemService = this.Service <IPriceGroupItemService>();

            if (model == null)
            {
                return(Json(new { result = false, message = "Update failed!" }));
            }
            else if (model.PriceGroup == null)
            {
                return(Json(new { result = false, message = "Update failed!" }));
            }

            var entity = await service.GetAsync(model.ID);

            entity.Name = model.Name;

            var priceGroupEntity = await priceGroupService.GetAsync(model.PriceGroup.ID);

            priceGroupEntity.DepositPercentage = model.PriceGroup.DepositPercentage;
            priceGroupEntity.PerDayPrice       = model.PriceGroup.PerDayPrice;
            priceGroupEntity.MaxRentalPeriod   = model.PriceGroup.MaxRentalPeriod;
            priceGroupEntity.MaxDistancePerDay = model.PriceGroup.MaxDistancePerDay;
            priceGroupEntity.ExtraChargePerKm  = model.PriceGroup.ExtraChargePerKm;
            priceGroupEntity.PriceGroupItems   = model.PriceGroup.PriceGroupItems;

            var listItem = priceGroupItemService.Get(q => q.PriceGroupID == model.PriceGroup.ID);

            if (listItem.Any())
            {
                foreach (var item in listItem)
                {
                    priceGroupItemService.DeleteAsync(item);
                }
            }

            await service.UpdateAsync(entity);

            await priceGroupService.UpdateAsync(priceGroupEntity);

            return(Json(new { result = true, message = "Update success!" }));
        }
        public JsonResult Edit(VehicleGroup vehiclegroup, string userid)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    IVG.Update(vehiclegroup, Session["userid"].ToString());
                }
            }
            catch
            {
                return(Json("error"));
            }

            return(Json("success"));
        }
Esempio n. 13
0
        public ActionResult EditVehicleGroup(VehicleGroup vehicleGroup)
        {
            try
            {
                //////// validation
                if (!Utilities.IsRequiredStringInputsValid(vehicleGroup.Name))
                {
                    return(RedirectToAction("Error", "Home", new { message = "فیلدهای ستاره دار را بدرستی وارد کنید" }));
                }

                vehicleGroup.Status = "فعال";
                vehicleGroup.Name   = vehicleGroup.Name.ToFarsiString().Trim();
                //////////////

                if (ModelState.IsValid)
                {
                    string message = "";
                    if (blVehicleGroup.Update(vehicleGroup, out message))
                    {
                        return(RedirectToAction("Groups", "GroupAndColor"));
                    }
                    else
                    {
                        if (message.Contains("VehicleGroups(Name Must Unique)"))
                        {
                            return(RedirectToAction("Error", "Home", new { message = "نام گروه وسیله نقلیه باید یکتا باشد" }));
                        }

                        return(RedirectToAction("Error", "Home", new { message = "خطا رخ داده است. مجددا تلاش کنید" }));
                    }
                }
                else
                {
                    return(RedirectToAction("Error", "Home", new { message = "خطا رخ داده است. مجددا تلاش کنید" }));
                }
            }
            catch
            {
                return(RedirectToAction("Error", "Home", new { message = "خطا رخ داده است. مجددا تلاش کنید" }));
            }
        }
Esempio n. 14
0
        public void InsertNewGroup(VehicleGroupViewModel vehicleGroup, int userId)
        {
            using (var trans = _unitOfWork.BeginTransaction())
            {
                try
                {
                    VehicleGroup entity = new VehicleGroup();
                    Map(vehicleGroup, entity);
                    _vehicleGroupRepository.AttachNavigation <Customer>(entity.Customer);
                    entity.CreateUserId = entity.ModifyUserId = userId;
                    entity.CreateDate   = entity.ModifyDate = DateTime.Now;
                    entity.Status       = (int)DbConstant.DefaultDataStatus.Active;
                    _vehicleGroupRepository.Add(entity);
                    _unitOfWork.SaveChanges();

                    trans.Commit();
                }
                catch (System.Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
            }
        }
Esempio n. 15
0
        public async Task <JsonResult> CreateVehicleGroupAPI(VehicleGroup model)
        {
            if (!this.ModelState.IsValid)
            {
                return(Json(new { result = false, message = "Invalid!" }));
            }
            var service               = this.Service <IVehicleGroupService>();
            var priceGroupService     = this.Service <IPriceGroupService>();
            var priceGroupItemService = this.Service <IPriceGroupItemService>();

            if (model == null)
            {
                return(Json(new { result = false, message = "Update failed!" }));
            }
            else if (model.PriceGroup == null)
            {
                return(Json(new { result = false, message = "Update failed!" }));
            }

            model.OwnerID  = User.Identity.GetUserId();
            model.IsActive = true;

            var entity                = this.Mapper.Map <VehicleGroup>(model);
            var priceGroupEntity      = this.Mapper.Map <PriceGroup>(model.PriceGroup);
            var priceGroupItemsEntity = model.PriceGroup.PriceGroupItems;

            // create follow this step
            // 1
            await priceGroupService.CreateAsync(priceGroupEntity);

            //2
            entity.WithDriverPriceGroupID = priceGroupEntity.ID;
            await service.CreateAsync(entity);

            return(Json(new { result = true, message = "Create successful!" }));
        }
Esempio n. 16
0
        public void DeleteVehicleGroup(VehicleGroupViewModel selectedGroup, int userId)
        {
            using (var trans = _unitOfWork.BeginTransaction())
            {
                try
                {
                    VehicleGroup entity = _vehicleGroupRepository.GetById(selectedGroup.Id);
                    Map(selectedGroup, entity);
                    _vehicleGroupRepository.AttachNavigation <Customer>(entity.Customer);
                    entity.Status       = (int)BrawijayaWorkshop.Constant.DbConstant.DefaultDataStatus.Deleted;
                    entity.ModifyUserId = userId;
                    entity.ModifyDate   = DateTime.Now;
                    _vehicleGroupRepository.Update(entity);
                    _unitOfWork.SaveChanges();

                    trans.Commit();
                }
                catch (System.Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
            }
        }
 public VehicleGroupViewModel(VehicleGroup vg, IMapper mapper) : this()
 {
     mapper.Map(vg, this);
 }
Esempio n. 18
0
        public ActionResult AddVehicleGroup()
        {
            var model = new VehicleGroup();

            return(View(model));
        }
        public static void Initialize(MonitoringSystemContext context)
        {
            if (!context.Database.EnsureCreated())
            {
                context.Database.Migrate();
            }

            // Look for any BasicParameters.
            if (context.BasicParameters.Any())
            {
                return;   // DB has been seeded
            }

            var basicParameters = new BasicParameter[]
            {
                new BasicParameter {
                    SPNNameRu = "Время включения системы подачи газа", DataSource = "Отсутствует в J1339! (но есть Engine Total Hours of Gaseous Fuel Operation"
                },
                new BasicParameter {
                    Acronym = "GFC", SPNName = "Trip Gaseous", SPNNameRu = "Расход газа", DataSource = "CAN-шина, при наличии расходомера газа. Иначе-вычисляется через давление и проходное сечение форсунки впрыска газа"
                },
                new BasicParameter {
                    Acronym = "GP", SPNName = "Gas Pressure", SPNNameRu = "Давление газа", DataSource = "Внешний датчик давления"
                },
                new BasicParameter {
                    Acronym = "GFC", SPNName = "Trip Fuel", SPNNameRu = "Расход дизельного топлива", DataSource = "CAN шина, или датчик расхода"
                },
                new BasicParameter {
                    Acronym = "VD", SPNName = "Total Vehicle Distance", SPNNameRu = "Пробег автомобиля (пройденный путь)", DataSource = "CAN -шина"
                },
                new BasicParameter {
                    Acronym = "WBVS", SPNName = "Wheel-Based Vehicle Speed", SPNNameRu = "Скорость движения", DataSource = "CAN -шина"
                },
                new BasicParameter {
                    Acronym = "EEC1", SPNName = "Engine Speed", SPNNameRu = "Обороты двигателя", DataSource = "CAN -шина"
                },
                new BasicParameter {
                    Acronym = "ECT", SPNName = "Engine Coolant Temperature", SPNNameRu = "Температура двигателя", DataSource = "CAN -шина"
                },
                new BasicParameter {
                    Acronym = "TE", SPNName = "Exhaust Temperature", SPNNameRu = "Температура выхлопных газов", DataSource = "Дополнительный датчик на выхлопной  трубе"
                },
            };

            foreach (BasicParameter bp in basicParameters)
            {
                context.BasicParameters.Add(bp);
            }
            context.SaveChanges();



            /*if (context.Vehicles.Any())
             * {
             *  return;   // DB has been seeded
             * }*/


            var vehicles = new Vehicle[]
            {
                new Vehicle {
                    Mark = "BMW", ModelType = "E540", СarryingСapacity = 2000, YearIssue = 1998, UsefulVolume = 430, VehicleType = "ГР", OverallDimensions = "20x30x40"
                },
                new Vehicle {
                    Mark = "Mersedes", ModelType = "S230", СarryingСapacity = 4000, YearIssue = 1996, UsefulVolume = 930, VehicleType = "ГР", OverallDimensions = "50x70x60"
                },
            };

            foreach (Vehicle vh in vehicles)
            {
                context.Vehicles.Add(vh);
            }
            context.SaveChanges();

            // Table
            var vehiclegroups = new VehicleGroup[]
            {
                new VehicleGroup {
                    VehicleGroupName = "TestVehicleGroup1"
                },
                new VehicleGroup {
                    VehicleGroupName = "TestVehicleGroup2"
                },
                new VehicleGroup {
                    VehicleGroupName = "TestVehicleGroup3"
                },
            };

            foreach (VehicleGroup vhg in vehiclegroups)
            {
                context.VehicleGroups.Add(vhg);
            }
            context.SaveChanges();

            // Table
            var vehicletovehiclegroups = new VehicleToVehicleGroup[]
            {
                new VehicleToVehicleGroup {
                    VehicleGroupID = 2, VehicleID = 1
                },
                new VehicleToVehicleGroup {
                    VehicleGroupID = 2, VehicleID = 2
                },
                new VehicleToVehicleGroup {
                    VehicleGroupID = 3, VehicleID = 1
                },
            };

            foreach (VehicleToVehicleGroup vvg in vehicletovehiclegroups)
            {
                context.VehicleToVehicleGroups.Add(vvg);
            }
            context.SaveChanges();


            // Table
            var parameters = new Parameter[]
            {
                new Parameter {
                    VehicleID = 1, BasicParameterID = 2, BasicParameterValue = 112, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 3, BasicParameterValue = 113, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 4, BasicParameterValue = 114, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 5, BasicParameterValue = 115, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 6, BasicParameterValue = 116, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 7, BasicParameterValue = 117, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 8, BasicParameterValue = 118, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 9, BasicParameterValue = 119, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 54)
                },

                new Parameter {
                    VehicleID = 1, BasicParameterID = 2, BasicParameterValue = 122, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 3, BasicParameterValue = 123, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 4, BasicParameterValue = 124, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 5, BasicParameterValue = 125, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 6, BasicParameterValue = 126, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 7, BasicParameterValue = 127, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 8, BasicParameterValue = 128, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
                new Parameter {
                    VehicleID = 1, BasicParameterID = 9, BasicParameterValue = 129, BasicParameterTimeValue = new DateTime(2004, 10, 19, 10, 23, 56)
                },
            };

            foreach (Parameter p in parameters)
            {
                context.Parameters.Add(p);
            }
            context.SaveChanges();


            // Table
            var routes = new Route[]
            {
                new Route {
                    VehicleID = 1, CoordinateLatitude = 60.001, CoordinateLongitude = 30.001
                },
                new Route {
                    VehicleID = 1, CoordinateLatitude = 60.002, CoordinateLongitude = 30.002
                },
                new Route {
                    VehicleID = 1, CoordinateLatitude = 60.003, CoordinateLongitude = 30.003
                },
                new Route {
                    VehicleID = 1, CoordinateLatitude = 60.004, CoordinateLongitude = 30.004
                },
                new Route {
                    VehicleID = 1, CoordinateLatitude = 60.005, CoordinateLongitude = 30.005
                },
                new Route {
                    VehicleID = 2, CoordinateLatitude = 60.101, CoordinateLongitude = 30.101
                },
            };

            foreach (Route r in routes)
            {
                context.Routes.Add(r);
            }
            context.SaveChanges();


            // Table
            var users = new User[]
            {
                new User {
                    UserLogin = "******", UserPassword = "******", UserName = "******", UserSurname = "Шайтан", UserPhone = "7911", UserRole = 1
                },
                new User {
                    UserLogin = "******", UserPassword = "******", UserName = "******", UserSurname = "Иванов", UserPhone = "7921", UserRole = 2
                },
            };

            foreach (User u in users)
            {
                context.Users.Add(u);
            }
            context.SaveChanges();


            // Table
            var roles = new Role[]
            {
                new Role {
                    RoleName = "ADMIN"
                },
                new Role {
                    RoleName = "USER"
                },
            };

            foreach (Role r in roles)
            {
                context.Roles.Add(r);
            }
            context.SaveChanges();


            // Table
            var usertoroles = new UserToRole[]
            {
                new UserToRole {
                    UserID = 1, RoleID = 1
                },
                new UserToRole {
                    UserID = 2, RoleID = 2
                },
            };

            foreach (UserToRole ur in usertoroles)
            {
                context.UserToRoles.Add(ur);
            }
            context.SaveChanges();
        }
Esempio n. 20
0
        public static SortedVehicleGroup GetGroup(VehicleGroup group)
        {
            try
            {
                switch (group)
                {
                case VehicleGroup.Boats:
                    return(new SortedVehicleGroup("Boats", SortedVehicles.BOATS));

                case VehicleGroup.Commerical:
                    return(new SortedVehicleGroup("Commerical", SortedVehicles.COMMERICAL));

                case VehicleGroup.Coupes:
                    return(new SortedVehicleGroup("Coupes", SortedVehicles.COUPES));

                case VehicleGroup.Cycles:
                    return(new SortedVehicleGroup("Cycles", SortedVehicles.CYCLES));

                case VehicleGroup.Emergency:
                    return(new SortedVehicleGroup("Emergency", SortedVehicles.EMERGENCY));

                case VehicleGroup.Helicopters:
                    return(new SortedVehicleGroup("Helicopters", SortedVehicles.HELICOPTERS));

                case VehicleGroup.Industrial:
                    return(new SortedVehicleGroup("Industrial", SortedVehicles.INDUSTRIAL));

                case VehicleGroup.Military:
                    return(new SortedVehicleGroup("Military", SortedVehicles.MILITARY));

                case VehicleGroup.Motorcycles:
                    return(new SortedVehicleGroup("Motorcycles", SortedVehicles.MOTORCYCLES));

                case VehicleGroup.Offroad:
                    return(new SortedVehicleGroup("Offroad", SortedVehicles.OFFROAD));

                case VehicleGroup.Planes:
                    return(new SortedVehicleGroup("Planes", SortedVehicles.PLANES));

                case VehicleGroup.Sedans:
                    return(new SortedVehicleGroup("Sedans", SortedVehicles.SEDANS));

                case VehicleGroup.Service:
                    return(new SortedVehicleGroup("Service", SortedVehicles.SERVICE));

                case VehicleGroup.Sports:
                    return(new SortedVehicleGroup("Sports", SortedVehicles.SPORTS));

                case VehicleGroup.SportsClassic:
                    return(new SortedVehicleGroup("Sports Classic", SortedVehicles.SPORTS_CLASSIC));

                case VehicleGroup.Super:
                    return(new SortedVehicleGroup("Super", SortedVehicles.SUPER));

                case VehicleGroup.SUVs:
                    return(new SortedVehicleGroup("SUVs", SortedVehicles.SUV));

                case VehicleGroup.Utility:
                    return(new SortedVehicleGroup("Utility", SortedVehicles.UTILITY));

                case VehicleGroup.Vans:
                    return(new SortedVehicleGroup("Vans", SortedVehicles.VANS));

                case VehicleGroup.DLC_ImportExport:
                    return(new SortedVehicleGroup("Import/Export", SortedVehicles.IMPORT_EXPORT));

                case VehicleGroup.DLC_Gunrunning:
                    return(new SortedVehicleGroup("Gunrunning", SortedVehicles.GUNRUNNING));

                case VehicleGroup.DLC_Smugglers:
                    return(new SortedVehicleGroup("Smuggler's Run", SortedVehicles.SMUGGLERS));

                case VehicleGroup.DLC_Doomsday:
                    return(new SortedVehicleGroup("The Doomsday Heist", SortedVehicles.DOOMSDAY));

                case VehicleGroup.DLC_AfterHours:
                    return(new SortedVehicleGroup("After Hours", SortedVehicles.AFTER_HOURS));

                case VehicleGroup.DLC_ArenaWar:
                    return(new SortedVehicleGroup("Arena War", SortedVehicles.ARENA_WARS));

                case VehicleGroup.DLC_Vinewood:
                    return(new SortedVehicleGroup("Diamond Casino & Resort ", SortedVehicles.VINEWOOD));

                default:
                    return(null);
                }
            }catch (Exception ex)
            {
                var excp = ex.GetBaseException() ?? ex;
                Main.Logger.Error($"getGroup({group}):", excp);
                return(null);
            }
        }