public async Task<HttpResponseMessage> CustomerNewVehicle(VehicleRequest vehicleRequest)
        {
            Services.Log.Info("New Vehicle Registration Request [API]");
            bool accountLinkExists = false;

            // Get the logged-in user.
            var currentUser = this.User as ServiceUser;

            stranddContext context = new stranddContext();

            //Checks for unique Registration Number
            Vehicle vehicle = await context.Vehicles.Where(a => a.RegistrationNumber == vehicleRequest.RegistrationNumber).SingleOrDefaultAsync();

            if (vehicle != null)
            {
                //Return Failed Response
                string responseText = "Vehicle Already Exists. Registration Number [" + vehicle.RegistrationNumber + "]";
                Services.Log.Warn(responseText);
                return this.Request.CreateResponse(HttpStatusCode.BadRequest, WebConfigurationManager.AppSettings["RZ_MobileClientUserWarningPrefix"] + responseText);
            }
            else
            {
                //Vehicle Creation 
                Vehicle newVehicle = new Vehicle
                {
                    Id = Guid.NewGuid().ToString(),
                    Make = vehicleRequest.Make,
                    Model = vehicleRequest.Model,
                    Year = vehicleRequest.Year,
                    Color = vehicleRequest.Color,
                    RegistrationNumber = vehicleRequest.RegistrationNumber
                };
                context.Vehicles.Add(newVehicle);

                
                if (currentUser.Id != null)
                {
                    

                    //Adding the VehicleAccountLink
                    VehicleAccountLink newVehicleAccountLink = new VehicleAccountLink
                    {
                        Id = Guid.NewGuid().ToString(),
                        VehicleGUID = newVehicle.Id,
                        UserProviderID = currentUser.Id
                    };

                    context.VehicleAccountLinks.Add(newVehicleAccountLink);
                    accountLinkExists = true;
                }

                try
                {
                    await context.SaveChangesAsync();
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            Services.Log.Error("Property: " + validationError.PropertyName + " | Error: " + validationError.ErrorMessage);                            
                        }
                    }
                }                

                Services.Log.Info("New Vehicle Created #" + newVehicle.Id);
                if (accountLinkExists)
                {
                    Services.Log.Info("Vehicle Linked to " + currentUser.Id);
                }
                else
                {
                    Services.Log.Info("Vehicle Not Linked to Account " + currentUser.Id);
                }

                VehicleRequestResponse returnObject = new VehicleRequestResponse { VehicleGUID = newVehicle.Id };
                string responseText = JsonConvert.SerializeObject(returnObject);

                return this.Request.CreateResponse(HttpStatusCode.Created, responseText);
            }
        }
        public async Task<HttpResponseMessage> CustomerUpdateVehicle(VehicleRequest vehicleRequest)
        {                    
            Services.Log.Info("Update Vehicle Request [API]");

            stranddContext context = new stranddContext();

            //Utilizes the Registration Number from Passed in Request as the Identifier
            Vehicle updateVehicle = await context.Vehicles.Where(a => a.RegistrationNumber == vehicleRequest.RegistrationNumber).SingleOrDefaultAsync();

            if (updateVehicle != null)
            {
                //Vehicle Updation 
                updateVehicle.Make = vehicleRequest.Make;
                updateVehicle.Model = vehicleRequest.Model;
                updateVehicle.Year = vehicleRequest.Year;
                updateVehicle.Color = vehicleRequest.Color;

                await context.SaveChangesAsync();

                string responseText = "Updated Vehicle [VehicleGUID: " + updateVehicle.Id + "]";

                //Return Successful Response
                Services.Log.Info(responseText);
                return this.Request.CreateResponse(HttpStatusCode.Created, responseText);
            }
            else
            {
                //Return Failed Response
                Services.Log.Warn("Vehicle not found by Registration Number [" + vehicleRequest.RegistrationNumber + "]");
                return this.Request.CreateResponse(HttpStatusCode.BadRequest, "Vehicle not found by Registration Number [" + vehicleRequest.RegistrationNumber + "]");              
            }
        }