示例#1
0
        public async Task <string> CheckInspecktionDriver(string token)
        {
            string respons = null;

            if (token == null || token == "")
            {
                return(JsonConvert.SerializeObject(new ResponseAppS("failed", "1", null)));
            }
            try
            {
                ITransportVehicle transportVehicle = null;
                bool isToken = managerMobileApi.CheckToken(token);
                if (isToken)
                {
                    int indexPhoto = managerMobileApi.GetIndexPhoto(token);
                    transportVehicle = managerMobileApi.GetPaternTrailerInspectionDriverByTokenDriver(token);

                    respons = JsonConvert.SerializeObject(new ResponseAppS("success", "", await managerMobileApi.ChechToDayInspaction(token), indexPhoto, transportVehicle));
                }
                else
                {
                    respons = JsonConvert.SerializeObject(new ResponseAppS("failed", "2", null));
                }
            }
            catch (Exception)
            {
                respons = JsonConvert.SerializeObject(new ResponseAppS("failed", "Technical work on the service", null));
            }
            return(respons);
        }
示例#2
0
        // core business logic
        public void StartDelivery()
        {
            ITransportVehicle transportVehicle = GetTransportVehicleFactoryMethod();

            Console.WriteLine("Starting delivery by " + transportVehicle.GetType().ToString());
            Console.WriteLine(transportVehicle.Deliver());
        }
示例#3
0
        internal ITransportVehicle GetPaternTruckInspectionDriver(string plateTruck)
        {
            ITransportVehicle transportVehicle = null;
            Truck             truck            = sqlCommandApiMobile.GetTruck().FirstOrDefault(t => t.PlateTruk == plateTruck);

            transportVehicle = GetTransportVehicle(truck.TypeTruk);
            return(transportVehicle);
        }
示例#4
0
        private ITransportVehicle GetTransportVehicle(string typeTruk)
        {
            ITransportVehicle transportVehicle = null;

            switch (typeTruk)
            {
            case "PickupFourWheel": transportVehicle = new PickupFourWheel(); break;

            case "GooseneckTrailerTwoVehicles": transportVehicle = new GooseneckTrailerTwoVehicles(); break;
            }
            return(transportVehicle);
        }
示例#5
0
        internal ITransportVehicle GetPaternTrailerInspectionDriverByTokenDriver(string token)
        {
            ITransportVehicle transportVehicle = null;
            string            plateTrailer     = sqlCommandApiMobile.GetPlateTrailerByTokenDriver(token);

            if (plateTrailer != null)
            {
                transportVehicle = GetPaternTrailerInspectionDriver(plateTrailer);
            }
            else
            {
                string plateTruck = sqlCommandApiMobile.GetPlateTruckByTokenDriver(token);
                if (plateTruck != null)
                {
                    transportVehicle = GetPaternTruckInspectionDriver(plateTruck);
                }
            }
            return(transportVehicle);
        }
示例#6
0
        public void Update()
        {
            if (vehicle == null || vehicle.State == TransportState.Returning || vehicle.State == TransportState.Idle)
            {
                if (_stops.Count > 1 && _stops.Take(1).First().AvailableVihecle != null)
                {
                    var stop = _stops.Dequeue();

                    vehicle            = stop.AvailableVihecle;
                    vehicle.State      = TransportState.Transporting;
                    vehicle.TravelTime = _stops.Take(1).First().TravelTime;
                }

                if (_stops.Count == 1 && (vehicle.State == TransportState.Returning || vehicle.State == TransportState.Idle))
                {
                    Debug.WriteLine($"Finished {_stops.Take(1).First().Name}");
                    IsCompleated = true;
                }
            }
        }
示例#7
0
        public string SetTralerAndTruck(string token, string plateTruck, string plateTrailer, string nowCheck)
        {
            string respons = null;

            if (token == null || token == "")
            {
                return(JsonConvert.SerializeObject(new ResponseAppS("failed", "1", null)));
            }
            try
            {
                bool isToken = managerMobileApi.CheckToken(token);
                if (isToken)
                {
                    bool isValidPlate = managerMobileApi.SetTralerAndTruck(token, plateTrailer, plateTruck, nowCheck);
                    ITransportVehicle transportVehicle = null;
                    if (nowCheck == "Truck" && isValidPlate)
                    {
                        transportVehicle = managerMobileApi.GetPaternTruckInspectionDriver(plateTruck);
                    }
                    else if (nowCheck == "Trailer" && isValidPlate)
                    {
                        transportVehicle = managerMobileApi.GetPaternTrailerInspectionDriver(plateTrailer);
                    }
                    respons = JsonConvert.SerializeObject(new ResponseAppS("success", "", isValidPlate, transportVehicle));
                }
                else
                {
                    respons = JsonConvert.SerializeObject(new ResponseAppS("failed", "2", null));
                }
            }
            catch (Exception)
            {
                respons = JsonConvert.SerializeObject(new ResponseAppS("failed", "Technical work on the service", null));
            }
            return(respons);
        }