/// <summary>
        /// Edits the <see cref="VehicleType"/> using <see cref="EditVehicleTypeServiceModel"/>.
        /// </summary>
        /// <param name="model">Number of modified entities.</param>
        /// <returns>Service model with <c>Id</c>, <c>Name</c>, <c>Description</c> and <c>VehicleCategoryId</c>.</returns>
        public async Task <int> EditAsync(EditVehicleTypeServiceModel model)
        {
            VehicleType vehicleType = this.dbContext.VehicleTypes.Find(model.Id);

            vehicleType.Name        = model.Name;
            vehicleType.Description = model.Description;

            VehicleCategory vehicleCategory = (VehicleCategory)model.VehicleCategoryId;

            vehicleType.VehicleCategory = vehicleCategory;

            int modifiedEntities = await this.dbContext.SaveChangesAsync();

            return(modifiedEntities);
        }
        public async Task <IActionResult> Edit(VehicleTypeInputModel model)
        {
            if (!this.vehicleTypesService.Exists(model.Id))
            {
                return(this.BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(this.RedirectToAction("Error", "Home"));
            }

            EditVehicleTypeServiceModel serviceModel = new EditVehicleTypeServiceModel
            {
                Id                = model.Id,
                Name              = model.VehicleTypeName,
                Description       = model.VehicleTypeDescription,
                VehicleCategoryId = model.VehicleCategoryId,
            };

            await this.vehicleTypesService.EditAsync(serviceModel);

            return(this.RedirectToAction("Details", "VehicleTypes", new { id = serviceModel.Id }));
        }