public async Task <VehicleResponseViewModel> DeleteVehicleDifferentialOilChangeMilage(long id, string userName) { var response = new VehicleResponseViewModel(); try { var user = _userService.GetUserByUsername(userName); var vt = _db.VehicleDifferentialOilChangeMilages.FirstOrDefault(t => t.Id == id); vt.UpdatedBy = user.Id; vt.IsActive = false; vt.UpdatedOn = DateTime.UtcNow; _db.VehicleDifferentialOilChangeMilages.Update(vt); await _db.SaveChangesAsync(); response.IsSuccess = true; response.Message = "Record has been deleted."; } catch (Exception ex) { _logger.LogError(ex.ToString()); response.IsSuccess = false; response.Message = "Operation failed.Please try again."; } return(response); }
public async Task<VehicleResponseViewModel> SaveVehicle(VehicleViewModel vm, string userName) { var response = new VehicleResponseViewModel(); try { var user = _userService.GetUserByUsername(userName); var vehicle = _db.Vehicles.FirstOrDefault(t => t.Id == vm.Id); if(vehicle==null) { if (IsVehicleAlreadyExists(vm.RegistrationNo).IsSuccess) { response.IsSuccess = false; response.Message = "Vehcile already registered with system."; return response; } var vt = vm.ToModel(); vt.UpdatedBy = user.Id; vt.CreatedBy = user.Id; vt.CreatedOn = DateTime.UtcNow; vt.UpdatedOn = DateTime.UtcNow; _db.Vehicles.Add(vt); await _db.SaveChangesAsync(); response.Id = vt.Id; response.IsSuccess = true; response.Message = "New Vehicle has been added."; } else { vehicle.UpdatedOn = DateTime.UtcNow; vehicle.UpdatedBy = user.Id; vehicle.ProductionYear = vm.ProductionYear; vehicle.InitialOdometerReading = vm.InitialOdometerReading; vehicle.IsActive = vm.IsActive; _db.Vehicles.Update(vehicle); await _db.SaveChangesAsync(); response.IsSuccess = true; response.Message = "Vehicle detail has been updated."; } } catch (Exception ex) { logger.LogError(ex.ToString()); response.IsSuccess = false; response.Message = "Operation failed.Please try again."; } return response; }
public async Task <VehicleResponseViewModel> SaveVehicleEmissionTest(VehicleEmissionTestViewModel vm, string userName) { var response = new VehicleResponseViewModel(); try { var user = _userService.GetUserByUsername(userName); var model = _db.VehicleEmissiontTests.FirstOrDefault(x => x.Id == vm.Id); if (model == null) { model = vm.ToModel(); model.CreatedBy = user.Id; model.UpdatedBy = user.Id; _db.VehicleEmissiontTests.Add(model); response.Message = "New Record has been added."; } else { model.EmissiontTestDate = new DateTime(vm.EmissionTestYear, vm.EmissionTestMonth, vm.EmissionTestDay, 0, 0, 0); model.ValidTill = new DateTime(vm.ValidTillYear, vm.ValidTillMonth, vm.ValidTillDay, 0, 0, 0); model.UpdatedOn = DateTime.UtcNow; model.UpdatedBy = user.Id; model.Note = vm.Note; _db.VehicleEmissiontTests.Update(model); await _db.SaveChangesAsync(); response.Message = "Record has been updated successfully."; } await _db.SaveChangesAsync(); response.IsSuccess = true; } catch (Exception ex) { response.IsSuccess = false; response.Message = "Operation failed.Please try again."; } return(response); }
public async Task <VehicleResponseViewModel> SaveVehicleGearBoxOilMilage(VehicleGearBoxOilMilageViewModel vm, string userName) { var response = new VehicleResponseViewModel(); try { var user = _userService.GetUserByUsername(userName); var model = _db.VehicleGearBoxOilMilages.FirstOrDefault(x => x.Id == vm.Id); if (model == null) { model = vm.ToModel(); model.CreatedBy = user.Id; model.UpdatedBy = user.Id; _db.VehicleGearBoxOilMilages.Add(model); response.Message = "New Record has been added."; } else { model.GearBoxOilChangeMilage = vm.GearBoxOilChangeMilage; model.NextGearBoxOilChangeMilage = vm.NextGearBoxOilChangeMilage; model.UpdatedBy = user.Id; model.UpdatedOn = DateTime.UtcNow; model.Note = vm.Note; _db.VehicleGearBoxOilMilages.Update(model); response.Message = "Record has been updated."; } await _db.SaveChangesAsync(); response.IsSuccess = true; } catch (Exception ex) { _logger.LogError(ex.ToString()); response.IsSuccess = false; response.Message = "Operation failed.Please try again."; } return(response); }
public VehiclesModule(IVehicleBusinessLogic VehicleLogic, IMapper mapper) { this.VehicleLogic = VehicleLogic; this.mapper = mapper; Get["/vehicles"] = _ => { int?index = Request.Query["index"]; int?size = Request.Query["size"]; var vehicles = this.VehicleLogic.GetVehicles(); if (index != null && size != null) { vehicles = vehicles.OrderBy(v => v.Id) .Skip(index.Value * size.Value) .Take(size.Value); } var result = mapper.Map <List <VehicleResponseViewModel> >(vehicles.ToList()); return(Response.AsJson(result, HttpStatusCode.OK)); }; Get["/vehicles/{Id:int}"] = parameter => { int?Id = parameter["Id"]; if (Id != null) { var vehicle = this.VehicleLogic.Find(Id.Value); var result = mapper.Map <VehicleResponseViewModel>(vehicle); return(Response.AsJson(result, HttpStatusCode.OK)); } return(Response.AsJson(new { message = "fail" }, HttpStatusCode.NotAcceptable)); }; Get["/vehicles/{Id:int}/owner"] = parameter => { int?Id = parameter["Id"]; if (Id != null) { var vehicle = this.VehicleLogic.Find(Id.Value); Owner owner = vehicle.Owner; var result = mapper.Map <OwnerResponseViewModel>(owner); return(Response.AsJson(result, HttpStatusCode.OK)); } return(Response.AsJson(new { message = "fail" }, HttpStatusCode.NotAcceptable)); }; Post["/vehicles"] = parameter => { var newEntity = this.Bind <Vehicle>(); VehicleLogic.AddVehicle(newEntity); return(Response.AsJson(new { message = "success" }) .WithHeader("Location", "vehicles/" + newEntity.Id)); }; Put["/vehicles"] = parameter => { var vehicle = this.Bind <Vehicle>(); //var entity = VehicleLogic.Find(vehicle.Id); if (vehicle != null) { this.VehicleLogic.UpdateVehicle(vehicle); VehicleResponseViewModel viewModel = mapper.Map <VehicleResponseViewModel>(vehicle); return(Response.AsJson(viewModel)); } return(Response.AsJson(new { message = "fail" }, HttpStatusCode.NotFound)); }; Delete["/vehicles/{Id:int}"] = parameter => { int?Id = parameter["Id"]; if (Id != null) { var vehicleEntity = VehicleLogic.Find(Id.Value); if (vehicleEntity != null) { VehicleLogic.DeleteVehicle(vehicleEntity); return(Response.AsJson(new { message = "success" })); } return(Response.AsJson(new { message = "fail" }, HttpStatusCode.BadRequest)); } return(Response.AsJson(new { message = "fail" }, HttpStatusCode.NotAcceptable)); }; Get["/"] = _ => { return("Hello world"); }; }