Example #1
0
        // GET: api/Drivers
        public IEnumerable <DriverApiModel> GetDrivers()
        {
            List <DriverApiModel> drivers = new List <DriverApiModel>();
            var config = new MapperConfiguration(cfg => cfg.CreateMap <Driver, DriverApiModel>());
            var mapper = config.CreateMapper();

            foreach (var driver in db.Drivers)
            {
                DriverApiModel model = mapper.Map <DriverApiModel>(driver);
                drivers.Add(model);
            }

            return(drivers);
        }
Example #2
0
        public async Task <IHttpActionResult> GetDriver(int id)
        {
            Driver driver = await db.Drivers.FindAsync(id);

            if (driver == null)
            {
                return(NotFound());
            }

            var config = new MapperConfiguration(cfg => cfg.CreateMap <Driver, DriverApiModel>());
            var mapper = config.CreateMapper();

            DriverApiModel model = mapper.Map <DriverApiModel>(driver);

            return(Ok(driver));
        }
Example #3
0
        public async Task <IHttpActionResult> PutDriver(DriverApiModel model)
        {
            var config = new MapperConfiguration(cfg => cfg.CreateMap <DriverApiModel, Driver>());
            var mapper = config.CreateMapper();

            Driver driver = mapper.Map <Driver>(model);

            db.Entry(driver).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #4
0
        public async Task UpdateDriver(DriverApiModel driver)
        {
            HttpClientHandler httpClientHandler = new HttpClientHandler();

            httpClientHandler.ServerCertificateCustomValidationCallback =
                (message, cert, chain, errors) => { return(true); };

            var         json    = JsonConvert.SerializeObject(driver);
            HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");

            using (var client = new HttpClient(httpClientHandler))
            {
                client.BaseAddress = new Uri(General.BASE_URL + "/");
                try
                {
                    HttpResponseMessage responseMessage = await client.PutAsync("Drivers", content);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Example #5
0
        private async System.Threading.Tasks.Task ConfirmAsync(DeliveryApiModel delivery, DriverApiModel driver, CustomerOrderModel order, OrderStatusModel completedStatus)
        {
            // Delivery
            delivery.Status           = "Completed";
            delivery.ConfirmationType = "Confirmed by QR Scan";
            delivery.TimeDelivered    = DateTime.Now;

            // Driver
            driver.Status = "Active";

            // Order
            order.OrderStatus   = completedStatus;
            order.OrderStatusId = completedStatus.Id;

            await deliveryLogic.UpdateDelivery(delivery);

            await driverLogic.UpdateDriver(driver);

            await orderLogic.UpdateOrder(order);
        }