public async Task<ResponseViewModel> AddNewVehicleDifferentialOilChangeMilageRecord(VehicleDifferentialOilChangeMilageViewModel vm, string userName)
    {
      var response = new ResponseViewModel();
      try
      {
        var user = _userService.GetUserByUsername(userName);

        var vac = vm.ToModel();
        vac.UpdatedBy = user.Id;
        vac.CreatedBy = user.Id;

        _db.VehicleDifferentialOilChangeMilages.Add(vac);
        await _db.SaveChangesAsync();

        response.IsSuccess = true;
        response.Message = "New Vehicle Differential Oil Change Milage Record has been added.";
      }
      catch (Exception ex)
      {
        logger.LogError(ex.ToString());
        response.IsSuccess = false;
        response.Message = "Operation failed.Please try again.";
      }


      return response;
    }
        public async Task <VehicleResponseViewModel> SaveVehicleDifferentialOilChangeMilage(VehicleDifferentialOilChangeMilageViewModel vm, string userName)
        {
            var response = new VehicleResponseViewModel();

            try
            {
                var user = _userService.GetUserByUsername(userName);

                var model = _db.VehicleDifferentialOilChangeMilages.FirstOrDefault(x => x.Id == vm.Id);
                if (model == null)
                {
                    model           = vm.ToModel();
                    model.CreatedBy = user.Id;
                    model.UpdatedBy = user.Id;
                    _db.VehicleDifferentialOilChangeMilages.Add(model);
                    response.Message = "New Record has been added.";
                }
                else
                {
                    model.DifferentialOilChangeMilage     = vm.DifferentialOilChangeMilage;
                    model.NextDifferentialOilChangeMilage = vm.NextDifferentialOilChangeMilage;
                    model.UpdatedOn = DateTime.UtcNow;
                    model.UpdatedBy = user.Id;
                    model.Note      = vm.Note;
                    _db.VehicleDifferentialOilChangeMilages.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);
        }