Example #1
0
        public async Task <IActionResult> Update(InsertVehicleViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Index", new IndexViewModel()
                {
                    Message = ModelState.Values.SelectMany(v => v.Errors).FirstOrDefault().ErrorMessage
                }));
            }

            var vehicle = await vehicleService.GetVehicles().Where(w => w.VehicleId.Equals(vm.VehicleId)).FirstOrDefaultAsync();

            if (vehicle == null)
            {
                return(RedirectToAction("Index", new IndexViewModel()
                {
                    Message = "Invalid Vehicle ID"
                }));
            }

            Vehicle updateVehicle = new Vehicle()
            {
                CylinderVariant = vm.CylinderVariant,
                EngineCapacity  = vm.EngineCapacity,
                Make            = vm.Make,
                Model           = vm.Model,
                Price           = vm.Price,
                TopSpeed        = vm.TopSpeed,
                VehicleId       = vm.VehicleId
            };

            try
            {
                await vehicleService.Update(updateVehicle);

                return(RedirectToAction("Index", new IndexViewModel()
                {
                    Message = "Updated Successfully "
                }));
            }
            catch (ArgumentException e)
            {
                vm.Message = e.Message;
                return(RedirectToAction("Index", new IndexViewModel()
                {
                    Message = e.Message
                }));
            }
        }
Example #2
0
        public async Task <IActionResult> Insert(InsertVehicleViewModel vm)
        {
            // Validation
            if (!ModelState.IsValid)
            {
                vm.Message = ModelState.Values.SelectMany(v => v.Errors).FirstOrDefault().ErrorMessage;

                return(RedirectToAction("InsertVehicle", vm));
            }

            Vehicle vehicle = new Vehicle()
            {
                CylinderVariant = vm.CylinderVariant,
                EngineCapacity  = vm.EngineCapacity,
                Make            = vm.Make,
                Model           = vm.Model,
                Price           = vm.Price,
                TopSpeed        = vm.TopSpeed
            };

            try
            {
                await vehicleService.Insert(vehicle);

                vm.Message = "Inserted successfully";
                return(RedirectToAction("Index", new IndexViewModel()
                {
                    Message = "Inserted successfully"
                }));
            }
            catch (Exception)
            {
                await vehicleService.Insert(vehicle);

                vm.Message = "Please check your data and try again";
                return(View("InsertVehicle", vm));
            }
        }
Example #3
0
 public IActionResult InsertVehicle(InsertVehicleViewModel vm)
 {
     return(View(vm));
 }