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());
        }
Пример #3
0
        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." }));
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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"));
        }
Пример #12
0
 public IHttpActionResult RemoveVehicle(VehicleRequestDto vehicleRequestDto)
 {
     vehicleRepository.DeleteVehicle(vehicleRequestDto.RegistrationNumber);
     return(Ok());
 }
Пример #13
0
 public IHttpActionResult GetVehicle(VehicleRequestDto vehicleRequestDto)
 {
     return(Ok(vehicleRepository.GetVehicle(vehicleRequestDto.RegistrationNumber)));
 }