예제 #1
0
        /// <summary>
        /// Adds vehicle into database table
        /// </summary>
        /// <param name="vehicle">Vehicle data</param>
        /// <returns>True or false</returns>
        public async Task <bool> AddAsync(VehicleRequest data)
        {
            // First, creating vehicle
            var vehicle = new Vehicle
            {
                VehicleId = data.VehicleId,
                Plate     = data.Plate,
                Brand     = data.Brand,
                Model     = data.Model,
                CreatedOn = DateTime.Now,
                UpdatedOn = DateTime.Now
            };

            // Second, adding driver
            var driver = _db.Drivers.Single(d => d.Dni.Equals(data.Driver.Dni));

            vehicle.DriverVehicles = new List <DriverVehicle>
            {
                new DriverVehicle
                {
                    Driver  = driver,
                    Vehicle = vehicle
                }
            };

            _db.Vehicles.Add(vehicle);

            return((await _db.SaveChangesAsync()) > 0);
        }
예제 #2
0
        /// <summary>
        /// Updates vehicle from database table
        /// </summary>
        /// <param name="id">Vehicle id</param>
        /// <param name="vehicle">Vehicle data</param>
        /// <returns>True or false</returns>
        public async Task <bool> UpdateAsync(int id, VehicleRequest data)
        {
            // First, updating only vehicle data
            var vehicle = _db.Vehicles.Single(v => v.VehicleId == id);

            vehicle.Plate     = data.Plate;
            vehicle.Brand     = data.Brand;
            vehicle.Model     = data.Model;
            vehicle.UpdatedOn = DateTime.Now;

            // Second, if driver data is included, so adding driver (optional)
            if (data.Driver != null)
            {
                var driver = _db.Drivers.Single(d => d.Dni.Equals(data.Driver.Dni));

                vehicle.DriverVehicles = new List <DriverVehicle>
                {
                    new DriverVehicle
                    {
                        Driver  = driver,
                        Vehicle = vehicle
                    }
                };
            }

            return((await _db.SaveChangesAsync()) > 0);
        }
예제 #3
0
        public ActionResult  ProcessVehicle([FromBody] VehicleRequest value)
        {
            if (value != null)
            {
/* validated the input form data */
                if (String.IsNullOrEmpty(value.ManufacturerNameShort) || String.IsNullOrEmpty(value.Type) ||
                    IsNullOrValue(value.VehicleId, 0) || IsNullOrDefault(value.Price))
                {   //item.IsNullOrValue(0)
                    validationResult.VehicleId  = value.VehicleId;
                    validationResult.ReturnCode = invalid;
                }
                else
                {
                    validationResult.VehicleId  = value.VehicleId;
                    validationResult.ReturnCode = valid;
                }

                return(Ok(validationResult));
            }

            else
            {
                return(BadRequest(value));
                //return NotFound(new NotFoundError("The data was not found"));
            }
        }
        public async void ValidInfo_ReturnsOkRequest()
        {
            // Arrange
            int    vehicleTypeId = 1;
            string make          = "Toyota";
            string model         = "Corolla Altis";

            string[] vehicleOtherProperties = { "1|16 valve dohc, fi vvti", "2|4 doors", "3|4 wheels" };

            var request = new VehicleRequest(vehicleTypeId, make, model, vehicleOtherProperties);

            var commandResult = new VehiclesResults
            {
                StatusCode     = Convert.ToInt32(HttpStatusCode.OK),
                Message        = Convert.ToString(HttpStatusCode.OK),
                MessageDetails = "Vehicle successfully created.",
                VehicleId      = 1
            };

            _mediatorMock.Setup(x => x.Send(It.IsAny <VehicleAddCommand>(), default(CancellationToken)))
            .Returns(Task.FromResult(commandResult));

            // Act
            var result = await _vehicleController.PostVehicle(request) as JsonResult;

            var response = result.Value as VehicleResponse;

            // Assert
            Assert.Equal(Convert.ToInt32(HttpStatusCode.OK), response.StatusCode);
            Assert.Equal(Convert.ToString(HttpStatusCode.OK), response.Message);
            Assert.Equal("Vehicle successfully created.", response.Payload.MessageDetail);
        }
예제 #5
0
        public Response SavePolicyDetailsRequest(Dictionary <string, object> parameters)
        {
            try
            {
                var insReq  = new InsuranceRequest();
                var sess    = new SessionRequest();
                var vehicle = new VehicleRequest();
                var client  = new ClientRequest();
                var policy  = new PolicyRequest();

                sess.Username              = (String)parameters["username"];
                sess.AuthenticationKey     = (String)parameters["AuthenticationKey"];
                sess.Bordereaux            = (bool)parameters["bordereaux"];
                sess.Account               = (String)parameters["account"];
                sess.GuaranteeWarrantyDate = (DateTime)parameters["guarenteewarrantydate"];
                sess.PaidByCard            = (bool)parameters["paidbycard"];
                sess.DeliveryDate          = (DateTime)parameters["deliverydate"];
                sess.LoanProvided          = (bool)parameters["loanprovided"];

                client.FirstName   = (String)parameters["firstname"];
                client.Surname     = (String)parameters["surname"];
                client.Title       = (String)parameters["title"];
                client.HouseNumber = (String)parameters["housenumber"];
                client.Address     = (String)parameters["address"];
                client.Postcode    = (String)parameters["postcode"];
                client.Email       = (String)parameters["email"];
                client.Telephone   = (String)parameters["telephone"];
                client.IsCompany   = (bool)parameters["iscompany"];

                policy.Description  = (String)parameters["description"];
                policy.Plan         = (String)parameters["plan"];
                policy.GrossPremium = (decimal)parameters["grosspremium"];
                policy.Product      = (String)parameters["product"];
                policy.CoverPeriod  = (int)parameters["coverperiod"];

                vehicle.Make           = (String)parameters["make"];
                vehicle.Model          = (String)parameters["model"];
                vehicle.Registration   = (String)parameters["registration"];
                vehicle.Price          = (decimal)parameters["price"];
                vehicle.Mileage        = (int)parameters["mileage"];
                vehicle.DateRegistered = (DateTime)parameters["dateregistered"];
                vehicle.EngineSize     = (int)parameters["enginesize"];
                vehicle.Fuel           = (String)parameters["fuel"];
                vehicle.NewVehicle     = (bool)parameters["newvehicle"];
                vehicle.Motorcycle     = (bool)parameters["motorcycle"];

                insReq.Session = sess;
                insReq.Client  = client;
                insReq.Policy  = policy;
                insReq.Vehicle = vehicle;

                var response = insuranceWebService.SavePolicyDetailsRequest(insReq);
                return(MethodRespToObject(response));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.InnerException.Message);
                return(null);
            }
        }
예제 #6
0
        /// <summary>
        /// Obtain VehicleValidationResultCode from validation of string properties
        /// </summary>
        /// <param name="vehicleRequest">VehicleRequest</param>
        /// <returns>VehicleValidationResultCode</returns>
        public VehicleValidationResultCode ValidateVehicleRequest(VehicleRequest vehicleRequest)
        {
            VehicleValidationResultCode codeResult;
            bool validateProperties = true;

            if ((string.IsNullOrEmpty(vehicleRequest.Type.Trim())) ||
                (string.IsNullOrEmpty(vehicleRequest.ManufacturerNameShort.Trim())))
            {
                validateProperties = false;
            }

            switch (validateProperties)
            {
            case true:
                codeResult = VehicleValidationResultCode.Valid;
                break;

            case false:
                codeResult = VehicleValidationResultCode.Invalid;
                break;

            default:
                codeResult = VehicleValidationResultCode.NotSpecified;
                break;
            }
            return(codeResult);
        }
예제 #7
0
        public Response GetProductListRequest(Dictionary <string, object> parameters)
        {
            try
            {
                var insReq  = new InsuranceRequest();
                var sess    = new SessionRequest();
                var vehicle = new VehicleRequest();


                sess.Username              = (String)parameters["username"];
                sess.Password              = "";
                sess.AuthenticationKey     = (String)parameters["authenticationKey"];
                sess.GuaranteeWarrantyDate = (DateTime)parameters["guarenteewarrantydate"];
                sess.DeliveryDate          = (DateTime)parameters["deliverydate"];
                sess.LoanProvided          = (bool)parameters["loanprovided"];
                vehicle.Price              = (decimal)parameters["price"];

                insReq.Session = sess;
                insReq.Vehicle = vehicle;

                var response = insuranceWebService.GetProductListRequest(insReq);
                return(MethodRespToObject(response));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.InnerException.Message);
                return(null);
            }
        }
예제 #8
0
        public async Task <IActionResult> AddVehicle([FromBody] VehicleRequest model)
        {
            model.Validate();
            await _vehicleService.AddVehicle(model);

            return(Ok());
        }
예제 #9
0
        public void SaveOrUpdateVehicleRequest()
        {
            VehicleRequest VehicleRequest = CurrentVehicleRequest;

            VehicleRequest.RequestNo     = View.GetRequestNo;
            VehicleRequest.RequestDate   = Convert.ToDateTime(DateTime.Today.ToShortDateString());
            VehicleRequest.DepartureDate = View.GetDepartureDate;
            VehicleRequest.ReturningDate = View.GetReturningDate;
            VehicleRequest.DepartureTime = View.GetDepartureTime;

            VehicleRequest.PurposeOfTravel = View.GetPurposeOfTravel;
            VehicleRequest.Destination     = View.GetDestination;
            VehicleRequest.Comment         = View.GetComment;
            VehicleRequest.NoOfPassengers  = View.GetNoOfPassengers;
            VehicleRequest.ProgressStatus  = ProgressStatus.InProgress.ToString();
            if (View.GetProjectId != 0)
            {
                VehicleRequest.Project = _settingController.GetProject(View.GetProjectId);
            }
            if (View.GetGrantId != 0)
            {
                VehicleRequest.Grant = _settingController.GetGrant(View.GetGrantId);
            }
            VehicleRequest.AppUser = _adminController.GetUser(CurrentUser().Id);

            if (CurrentVehicleRequest.VehicleRequestStatuses.Count == 0)
            {
                SaveVehicleRequestStatus();
            }
            GetCurrentApprover();

            _controller.SaveOrUpdateEntity(VehicleRequest);
            _controller.CurrentObject = null;
        }
예제 #10
0
 protected void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         //Attached Certificates
         if (fuTravelLog.HasFile)
         {
             string fileName = Path.GetFileName(fuTravelLog.PostedFile.FileName);
             _presenter.CurrentVehicleRequest.TravelLogAttachment = "~/TravelLog/" + fileName;
             fuTravelLog.PostedFile.SaveAs(Server.MapPath("~/TravelLog/") + fileName);
         }
         _presenter.CurrentVehicleRequest.ActualDaysTravelled = Convert.ToInt32(txtActualDaysTrav.Text);
         _presenter.CurrentVehicleRequest.TravelLogStatus     = ProgressStatus.Completed.ToString();
         _presenter.SaveOrUpdateVehicleRequest(_presenter.CurrentVehicleRequest);
         //If there is an extension or reduction requested on this vehicle request update the extension or reduction
         VehicleRequest extendedVehicleReq = _presenter.GetExtVehicleRequest(_presenter.CurrentVehicleRequest.Id);
         if (extendedVehicleReq != null)
         {
             extendedVehicleReq.ActualDaysTravelled = 0;
             extendedVehicleReq.TravelLogStatus     = ProgressStatus.Completed.ToString();
             _presenter.SaveOrUpdateVehicleRequest(extendedVehicleReq);
         }
         Master.ShowMessage(new AppMessage("Travel Log Successfully Attached ", RMessageType.Info));
         btnSave.Enabled = false;
         BindSearchVehicleRequestGrid();
         pnlApproval_ModalPopupExtender.Show();
     }
     catch (Exception ex)
     {
         Master.ShowMessage(new AppMessage("Error! Travel log not attached, due to " + ex.Message, RMessageType.Error));
         ExceptionUtility.LogException(ex, ex.Source);
         ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName);
     }
 }
예제 #11
0
        public async Task AddVehicle(VehicleRequest model)
        {
            var vehicle = _vehicleRepository.FindOneByCondition(x => x.VehicleNumber == model.VehicleNumber);

            //Vehicle already existed
            if (vehicle != null)
            {
                if (vehicle.IsActive)
                {
                    throw new DuplicateVehicleException(ErrorCode.E101, model.VehicleNumber);
                }

                vehicle.IsActive    = true;
                vehicle.UpdatedDate = DateTime.UtcNow;

                _vehicleRepository.Update(vehicle);
                await _vehicleRepository.SaveAsync();
            }
            else
            {
                vehicle = new Vehicle()
                {
                    VehicleNumber = model.VehicleNumber,
                    IsActive      = true,
                    CreatedDate   = DateTime.UtcNow
                };

                _vehicleRepository.Create(vehicle);
                await _vehicleRepository.SaveAsync();
            }
        }
        public async Task CreateVehicle_NewVehicleRequest_ReturnStatusCodeOK()
        {
            // Arrange
            var vehicleId = 2;

            var vehicleRequest = new VehicleRequest
            {
                VehicleId   = vehicleId,
                Number      = "A-002",
                Model       = "Honda Civic",
                Description = "Red Color"
            };

            var vehicleResponse = new VehicleResponse
            {
                Id          = Guid.NewGuid(),
                VehicleId   = vehicleId,
                Number      = "A-002",
                Model       = "Honda Civic",
                Description = "Red Color"
            };

            vehiclesService.VehicleExistsAsync(Arg.Any <int>()).Returns(false);
            vehiclesService.AddVehicleAsync(Arg.Any <VehicleRequest>()).Returns(Task.FromResult(vehicleResponse));
            vehiclesService.GetVehicleAsync(vehicleId).Returns(Task.FromResult(vehicleResponse));

            // Act
            var actionResult = await vehiclesController.CreateVehicle(vehicleRequest);

            // Assert
            var requestResult = Assert.IsType <OkObjectResult>(actionResult);

            Assert.Equal((int)System.Net.HttpStatusCode.OK, requestResult.StatusCode);
        }
        public async Task AddVehicleAsync_WithVehicleRequest_ReturnVehicleResponse()
        {
            // Arrange
            var request = new VehicleRequest
            {
                VehicleId   = 2,
                Number      = "A-002",
                Model       = "Toyota Vios",
                Description = "Red Color"
            };

            var vehicle = new Vehicle
            {
                Id          = Guid.NewGuid(),
                VehicleId   = 2,
                Number      = "A-002",
                Model       = "Toyota Vios",
                Description = "Red Color"
            };

            vehiclesRepository.AddVehicleAsync(Arg.Any <Vehicle>()).Returns(Task.FromResult(vehicle));

            // Act
            var response = await vehiclesService.AddVehicleAsync(request);

            // Assert
            Assert.NotNull(response);
            Assert.IsType <VehicleResponse>(response);
            Assert.Equal(2, response.VehicleId);
            Assert.Equal("A-002", response.Number);
            Assert.Equal("Toyota Vios", response.Model);
            Assert.Equal("Red Color", response.Description);
        }
        static void TMain(string[] args)
        {
            InsuranceWebService insuranceWebService = new InsuranceWebService();
            var insReq = new InsuranceRequest();
            var sess   = new SessionRequest();
            var veh    = new VehicleRequest();

            sess.Username              = "";
            sess.Password              = "";
            sess.DeliveryDate          = new DateTime();
            sess.AuthenticationKey     = "";
            sess.GuaranteeWarrantyDate = new DateTime();
            sess.LoanProvided          = true;
            veh.Price      = 1;
            sess.Vehicle   = veh;
            insReq.Session = sess;
            insReq.Vehicle = veh;


            var response = insuranceWebService.GetProductListRequest(insReq);

            for (int i = 0; i < response.Plan.Length; i++)
            {
                Console.WriteLine(response.Plan[i]);
                Console.WriteLine(response.Description[i]);
            }
            Console.ReadKey();
        }
예제 #15
0
        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 + "]"));
            }
        }
예제 #16
0
        static void sadMain(string[] args)
        {
            InsuranceWebService insuranceWebService = new InsuranceWebService();
            var insRequest = new InsuranceRequest();
            var mySession  = new SessionRequest();
            var myPolicy   = new PolicyRequest();
            var myClient   = new ClientRequest();
            var myVehicle  = new VehicleRequest();

            mySession.Username              = "";
            mySession.AuthenticationKey     = "";
            mySession.Bordereaux            = false;
            mySession.Account               = "";
            mySession.GuaranteeWarrantyDate = new DateTime();
            mySession.PaidByCard            = true;
            mySession.DeliveryDate          = new DateTime();
            mySession.LoanProvided          = false;

            myClient.FirstName   = "";
            myClient.Surname     = "";
            myClient.Title       = "";
            myClient.HouseNumber = "";
            myClient.Address     = "";
            myClient.Postcode    = "";
            myClient.Email       = "";
            myClient.Telephone   = "";
            myClient.IsCompany   = false;

            myPolicy.Description  = "";
            myPolicy.Plan         = "";
            myPolicy.GrossPremium = 0;
            myPolicy.Product      = "";
            myPolicy.CoverPeriod  = 0;

            myVehicle.Make           = "";
            myVehicle.Model          = "";
            myVehicle.Registration   = "";
            myVehicle.Price          = 0;
            myVehicle.Mileage        = 0;
            myVehicle.DateRegistered = new DateTime();
            myVehicle.EngineSize     = 0;
            myVehicle.Fuel           = "";
            myVehicle.NewVehicle     = false;
            myVehicle.Motorcycle     = false;


            insRequest.Session = mySession;
            insRequest.Vehicle = myVehicle;
            insRequest.Client  = myClient;
            insRequest.Policy  = myPolicy;

            var response = insuranceWebService.GetIncludedMakesRequest(insRequest);

            foreach (var p in response.GetVehicleList)
            {
                Console.WriteLine(p);
            }
            Console.ReadKey();
        }
예제 #17
0
        private void BindVehicleRequest()
        {
            VehicleRequest VR = _presenter.GetVehicleRequest(GetRequestId);

            lblRequestedDateResult.Text = VR.RequestDate.ToString();
            lblRequestNoResult.Text     = VR.RequestNo.ToString();
            lblRequesterResult.Text     = VR.AppUser.FullName;// _presenter.GetUser(VR.AppUser.Id).FullName;
        }
예제 #18
0
        public void SaveOrUpdateTravelLog(TravelLog TravelLog, int VehicleRequestId)
        {
            VehicleRequest VehicleRequest = _controller.GetVehicleRequest(VehicleRequestId);

            TravelLog.VehicleRequest = VehicleRequest;
            TravelLog.RequestNo      = VehicleRequest.RequestNo;

            _controller.SaveOrUpdateEntity(TravelLog);
        }
예제 #19
0
        public void VehicleCreate_ControllerReturnResponceHasCreatedItem(VehicleRequest input)
        {
            // Act
            var createdResponse = _controller.Post(input) as CreatedAtActionResult;
            var item            = createdResponse.Value;

            // Assert
            Assert.Equal(input.Id.ToString(), item.ToString());
        }
예제 #20
0
        public void VehicleCreate_ControllerReturnBadResponce(VehicleRequest input)
        {
            _controller.ModelState.AddModelError("Model", "Required");
            // Act
            var badResponse = _controller.Post(input);

            // Assert
            Assert.IsType <BadRequestObjectResult>(badResponse);
        }
        // POST /api/vehiclesrequest/{vehicle}
        public HttpResponseMessage Post(VehicleRequest item)
        {
            var obj      = repository.ProcessVehicle(item);
            var response = new HttpResponseMessage(HttpStatusCode.Accepted);

            response.Content = new StringContent(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/json");

            return(response);
        }
예제 #22
0
        public Response CreateCustomer(Dictionary <string, object> parameters)
        {
            try
            {
                CustomerDetailsRequest cusReq = new CustomerDetailsRequest();
                var sess    = new SessionRequest();
                var vehicle = new VehicleRequest();
                var client  = new ClientRequest();
                sess.Username                     = (String)parameters["username"];
                sess.AuthenticationKey            = (String)parameters["AuthenticationKey"];
                client.FirstName                  = (String)parameters["firstname"];
                client.Surname                    = (String)parameters["surname"];
                client.Title                      = (String)parameters["title"];
                client.HouseNumber                = (String)parameters["housenumber"];
                client.Address                    = (String)parameters["address"];
                client.Postcode                   = (String)parameters["postcode"];
                client.Email                      = (String)parameters["email"];
                client.Telephone                  = (String)parameters["telephone"];
                client.Contact_by_email           = (bool)parameters["contact_by_email"];
                client.Contact_by_phone           = (bool)parameters["contact_by_phone"];
                client.Contact_by_post            = (bool)parameters["contact_by_post"];
                client.Contact_by_text            = (bool)parameters["contact_by_text"];
                client.DateOfBirth                = (DateTime)parameters["dateofbirth"];
                client.Mobile                     = (String)parameters["mobile"];
                client.IsCompany                  = (bool)parameters["iscompany"];
                sess.DealerFittedAccessoriesValue = (decimal)parameters["dealerfittedaccessories"];
                vehicle.Make                      = (String)parameters["make"];
                vehicle.Model                     = (String)parameters["model"];
                vehicle.Registration              = (String)parameters["registration"];
                vehicle.Price                     = (decimal)parameters["price"];
                vehicle.Mileage                   = (int)parameters["mileage"];
                vehicle.DateRegistered            = (DateTime)parameters["dateregistered"];
                vehicle.EngineSize                = (int)parameters["enginesize"];
                vehicle.MOTDate                   = (DateTime)parameters["motdate"];
                vehicle.Fuel                      = (String)parameters["fuel"];
                vehicle.NewVehicle                = (bool)parameters["newvehicle"];
                vehicle.Motorcycle                = (bool)parameters["motorcycle"];
                vehicle.AntilockBrakes            = (bool)parameters["antilockbrakes"];
                vehicle.AirConditioner            = (bool)parameters["airconditioner"];
                vehicle.FourWheelDrive            = (bool)parameters["fourwheeldrive"];
                vehicle.Turbo                     = (bool)parameters["turbo"];
                vehicle.SpecialCategory           = (bool)parameters["specialcategory"];
                vehicle.Automatic                 = (bool)parameters["automatic"];

                cusReq.Session = sess;
                cusReq.Client  = client;
                cusReq.Vehicle = vehicle;
                var response = insuranceWebService.CreateCustomer(cusReq);
                return(MethodRespToObject(response));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.InnerException.Message);
                return(null);
            }
        }
예제 #23
0
        public async Task <IActionResult> PostVehicleAsync(VehicleRequest vehicle)
        {
            var result = await vehicleProvider.PostVehicleAsync(vehicle);

            if (result.IsSuccess)
            {
                return(Ok(result.Vehicle));
            }
            return(NotFound());
        }
예제 #24
0
        public override Task <Vehicles> GetVehiclesByPartialVin(VehicleRequest request, ServerCallContext context)
        {
            var partialVin     = request.Vin;
            var vehicleMatches = _db.GetItems(partialVin).ToArray();
            var vehicles       = new Vehicles {
                Elements = { vehicleMatches }
            };

            return(Task.FromResult(vehicles));
        }
예제 #25
0
        public void SaveVehicle(VehicleRequest vehicleRequest)
        {
            List <VehicleRequest> currentVehicles = GetAllVehicles();

            currentVehicles.Add(vehicleRequest);

            string jsonString = JsonConvert.SerializeObject(currentVehicles);

            JsonRepository.WriteFile(jsonString);
        }
예제 #26
0
        public void TestAdd()
        {
            var temp = Path.GetTempFileName();

            try
            {
                File.WriteAllText(temp, "UnityFS");

                long id      = 12345;
                var  request = new VehicleRequest()
                {
                    name = "name",
                    url  = "file://" + temp,
                };

                Mock.Reset();
                Mock.Setup(srv => srv.Add(It.IsAny <MapModel>()))
                .Callback <MapModel>(req =>
                {
                    Assert.AreEqual(request.name, req.Name);
                    Assert.AreEqual(request.url, req.Url);
                })
                .Returns(id);

                MockUser.Reset();
                MockDownload.Reset();
                MockNotification.Reset();

                var result = Browser.Post($"/maps", ctx =>
                {
                    ctx.JsonBody(request);
                }).Result;

                Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
                Assert.That(result.ContentType.StartsWith("application/json"));

                var vehicle = result.Body.DeserializeJson <MapResponse>();
                Assert.AreEqual(id, vehicle.Id);
                Assert.AreEqual(request.name, vehicle.Name);
                Assert.AreEqual(request.url, vehicle.Url);
                Assert.AreEqual("Valid", vehicle.Status);
                // TODO: test vehicle.PreviewUrl

                Mock.Verify(srv => srv.Add(It.Is <MapModel>(m => m.Name == request.name)), Times.Once);
                Mock.VerifyNoOtherCalls();

                MockUser.VerifyNoOtherCalls();
                MockDownload.VerifyNoOtherCalls();
                MockNotification.VerifyNoOtherCalls();
            }
            finally
            {
                File.Delete(temp);
            }
        }
예제 #27
0
        public ProcessVehicleResponse ProcessVehicle(VehicleRequest vehicleRequest)
        {
            ProcessVehicleResponse processVehicleResponse = ValidationService.GetProcessVehicleResponse(vehicleRequest);

            if (processVehicleResponse.ResultCode == VehicleValidationResultCode.Valid)
            {
                JsonService.SaveUpdateVehicle(vehicleRequest);
            }

            return(processVehicleResponse);
        }
예제 #28
0
        public async Task <IActionResult> Post([FromBody] VehicleRequest data)
        {
            var response = await _vehicleService.AddVehicleAsync(data);

            if (response)
            {
                return(Ok(response));
            }

            return(NotFound(null));
        }
예제 #29
0
        public async Task <IActionResult> Put(int id, [FromBody] VehicleRequest data)
        {
            var response = await _vehicleService.UpdateVehicleAsync(id, data);

            if (response)
            {
                return(Ok(response));
            }

            return(NotFound(null));
        }
예제 #30
0
 public Car(VehicleRequest vehicle)
 {
     Id          = vehicle.Id;
     Make        = vehicle.Make;
     Model       = vehicle.Model;
     VehicleType = vehicle.VehicleType;
     BodyType    = vehicle.BodyType;
     NoOfWeels   = vehicle.NoOfWeels;
     NOOfDoors   = vehicle.NoOfDoors;
     Engine      = vehicle.Engine;
 }