private IVehicle CreateVehicleFromDto(VehicleRequestDto vehicleRequestDto) { var factory = new VehicleFactory(); IList <IService> vehicleServices = new List <IService>(); foreach (var service in vehicleRequestDto.ServiceHistory) { vehicleServices.Add(factory.CreateService(service.ServiceDate, service.ServiceHistory)); } IService isServiceBooked = null; if (vehicleRequestDto.IsServiceBooked != null) { isServiceBooked = factory.CreateService(vehicleRequestDto.IsServiceBooked.ServiceDate, vehicleRequestDto.IsServiceBooked.ServiceHistory); } IVehicle vehicle = factory.CreateVehicle(vehicleRequestDto.RegNumber, vehicleRequestDto.Model, vehicleRequestDto.Make, vehicleRequestDto.VehicleWeight, vehicleRequestDto.FirstDateInTraffic, vehicleRequestDto.IsRegistered, isServiceBooked, (IList <IVehicleService>)vehicleServices); return(vehicle); }
public IHttpActionResult UpdateVehicle(VehicleRequestDto vehicleRequestDto) { var vehicle = CreateVehicleFromDto(vehicleRequestDto); vehicleRepository.UpdateVehicle(vehicle); return(Ok()); }
public async Task <IActionResult> Update([FromBody] VehicleRequestDto vehicle) { //Before updating find vehicle by id var vehicleData = await _uow.Vehicles.GetAsync(vehicle.ID); if (vehicleData != null && vehicleData.ID > 0) { //Map update data _mapper.Map(vehicle, vehicleData); //Change Modified Data vehicleData.ModifyDate = DateTime.Now; _uow.Vehicles.Update(vehicleData); var result = await _uow.CompleteAsync(); if (result > 0) { //Get Vehicle details with relation first var properVehicleDetails = await _uow.Vehicles.GetVehicleWithRelationsAsync(vehicle.ID); //Before returning updated vehicle data, map Vehicle => VehicleSharedDto return(Ok(_mapper.Map <VehicleSharedDto>(properVehicleDetails))); } else { return(new JsonResult(new { Success = false, Message = "Vehicle changes are not updated" })); } } else { return(NotFound(new { Success = false, Message = "Vehicle not found with sended details." })); } }
public VehicleRequestDto GetDto() { VehicleRequestDto request = new VehicleRequestDto(); request.RegistrationNumber = RegistrationNumber; request.Model = Model; request.Brand = Brand; request.Weight = Weight; request.FirstTimeInTraffic = FirstTimeInTraffic; request.IsRegistered = IsRegistered; BookedService = new ServiceModel(Date, Description); if (BookedService != null) { request.BookedService = GetServiceForDto(BookedService); } if (ServiceHistory != null) { foreach (ServiceModel service in ServiceHistory) { request.ServiceHistory.Add(GetServiceForDto(service)); } } return(request); }
public VehicleRequestDto GetDto() { VehicleRequestDto request = new VehicleRequestDto { RegNumber = RegNumber, Model = Model, Make = Make, VehicleWeight = VehicleWeight, FirstDateInTraffic = FirstDateInTraffic, IsRegistered = IsRegistered }; if (IsServiceBooked != null) { request.IsServiceBooked = GetServiceForDto(IsServiceBooked); } if (ServiceHistory != null) { foreach (Service service in ServiceHistory) { request.ServiceHistory.Add(GetServiceForDto(service)); } } return(request); }
public async Task <VehicleSharedDto> Create([FromBody] VehicleRequestDto vehicle) { //Map dto Vehicle object var mappedVehicleData = _mapper.Map <Vehicle>(vehicle); //Add not mapped fields mappedVehicleData.CreateDate = DateTime.Now; mappedVehicleData.ModifyDate = DateTime.Now; mappedVehicleData.IsDeleted = false; var vehicleDetails = await _uow.Vehicles.AddAsync(mappedVehicleData); var result = await _uow.CompleteAsync(); if (result > 0) { //Get all vehicle details with relations var properVehicleDetails = await _uow.Vehicles.GetVehicleWithRelationsAsync(vehicleDetails.ID); //Map Vehicle => VehicleSharedDto var resultVehicleType = _mapper.Map <VehicleSharedDto>(properVehicleDetails); return(resultVehicleType); } else { return(null); } }
private IVehicle CreateVehicleFromDto(VehicleRequestDto vehicleRequestDto) { var factory = new VehicleFactory(); IList <IService> vehicleServices = new List <IService>(); foreach (var service in vehicleRequestDto.ServiceHistory) { vehicleServices.Add(factory.CreateService(service.Date, service.Description)); } IService bookedService = null; if (vehicleRequestDto.BookedService != null) { bookedService = factory.CreateService(vehicleRequestDto.BookedService.Date, vehicleRequestDto.BookedService.Description); } IVehicle vehicle = factory.CreateVehicle(vehicleRequestDto.RegistrationNumber, vehicleRequestDto.Model, vehicleRequestDto.Brand, vehicleRequestDto.Weight, vehicleRequestDto.FirstTimeInTraffic, vehicleRequestDto.IsRegistered, bookedService, vehicleServices); return(vehicle); }
public ActionResult CreateVehicle(VehicleModel vehiclemodel) { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", Session["TokenKey"].ToString()); VehicleRequestDto request = vehiclemodel.GetDto(); var jsonRequestString = JsonConvert.SerializeObject(request); var stringContent = new StringContent(jsonRequestString, Encoding.UTF8, "application/json"); var response = client.PostAsync(endPoints.CreateVehicle, stringContent).Result; } ViewBag.message = "Vehicle has been registered!"; return(View("Home")); }
public ActionResult RemoveVehicle(string regNumber) { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", Session["TokenKey"].ToString()); VehicleRequestDto request = new VehicleRequestDto { RegNumber = regNumber }; var jsonRequestString = JsonConvert.SerializeObject(request); var stringContent = new StringContent(jsonRequestString, Encoding.UTF8, "application/json"); _ = client.PostAsync(endPoints.RemoveVehicle, stringContent).Result; } ViewBag.Message = "Vehicle has been removed!"; return(View("Home")); }
public ActionResult GetVehicle(string regNumber) { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", Session["TokenKey"].ToString()); VehicleRequestDto request = new VehicleRequestDto { RegNumber = regNumber }; var jsonRequestString = JsonConvert.SerializeObject(request); var stringContent = new StringContent(jsonRequestString, Encoding.UTF8, "application/json"); var response = client.PostAsync(endPoints.GetVehicle, stringContent).Result; if (response != null) { var jsonString = response.Content.ReadAsStringAsync().Result; var vehicle = JsonConvert.DeserializeObject <VehicleModel>(jsonString); ViewBag.RegistrationNumber = vehicle.RegNumber; ViewBag.Model = vehicle.Model; ViewBag.Make = vehicle.Make; ViewBag.VehicleType = vehicle.GetVehicleType(); ViewBag.VehicleWeight = vehicle.VehicleWeight; ViewBag.FirstDateInTrafic = vehicle.FirstDateInTraffic.ToShortDateString(); ViewBag.IsRegistered = vehicle.IsRegistered.ToString(); if (vehicle.IsServiceBooked != null) { ViewBag.Date = vehicle.IsServiceBooked.ServiceDate.ToShortDateString(); ViewBag.Description = vehicle.IsServiceBooked.ServiceHistory; } if (vehicle.ServiceHistory.Count > 0) { string listAsText = ""; System.Collections.IList list = vehicle.ServiceHistory; for (int i = 0; i < list.Count; i++) { ServiceModel service = (ServiceModel)list[i]; listAsText += $"{service.ServiceDate.ToShortDateString()} \n"; listAsText += $"{service.ServiceHistory} \n \n"; } ViewBag.ServiceHistory = listAsText; } } } return(View("GetVehicle")); }
public ActionResult UpdateVehicleView(string regNumber) { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", Session["TokenKey"].ToString()); VehicleRequestDto request = new VehicleRequestDto { RegNumber = regNumber }; var jsonRequestString = JsonConvert.SerializeObject(request); var stringContent = new StringContent(jsonRequestString, Encoding.UTF8, "application/json"); var response = client.PostAsync(endPoints.GetVehicle, stringContent).Result; if (response != null) { var jsonString = response.Content.ReadAsStringAsync().Result; var vehicle = JsonConvert.DeserializeObject <VehicleModel>(jsonString); ViewBag.RegistrationNumber = vehicle.RegNumber; ViewBag.Model = vehicle.Model; ViewBag.Make = vehicle.Make; ViewBag.VehicleType = vehicle.GetVehicleType(); ViewBag.VehicleWeight = vehicle.VehicleWeight; var date = vehicle.FirstDateInTraffic.Date; string year = date.Year.ToString(); string month = date.Month < 10 ? "0" + date.Month.ToString() : date.Month.ToString(); string day = date.Day < 10 ? "0" + date.Day.ToString() : date.Day.ToString(); ViewBag.FirstDateInTrafic = $"{year}-{month}-{day}"; ViewBag.IsRegistered = vehicle.IsRegistered; if (vehicle.IsServiceBooked != null) { date = vehicle.IsServiceBooked.ServiceDate.Date; year = date.Year.ToString(); month = date.Month < 10 ? "0" + date.Month.ToString() : date.Month.ToString(); day = date.Day < 10 ? "0" + date.Day.ToString() : date.Day.ToString(); ViewBag.Date = $"{year}-{month}-{day}"; ViewBag.Description = vehicle.IsServiceBooked.ServiceHistory; } } } return(View("UpdateVehicle")); }
public IHttpActionResult RemoveVehicle(VehicleRequestDto vehicleRequestDto) { vehicleRepository.DeleteVehicle(vehicleRequestDto.RegistrationNumber); return(Ok()); }
public IHttpActionResult GetVehicle(VehicleRequestDto vehicleRequestDto) { return(Ok(vehicleRepository.GetVehicle(vehicleRequestDto.RegistrationNumber))); }