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);
        }
Exemplo n.º 2
0
    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");
            };
        }