示例#1
0
        public async Task <IActionResult> Customers()
        {
            List <Customer>     Customers = new List <Customer>();
            HttpClient          client    = _CustomerAPI.Intial();
            HttpResponseMessage res       = await client.GetAsync("api/Customer");

            if (res.IsSuccessStatusCode)
            {
                var results = res.Content.ReadAsStringAsync().Result;
                Customers = JsonConvert.DeserializeObject <List <Customer> >(results);
            }
            return(View(Customers));
        }
        public async Task <IActionResult> Index(int?CustomerFKID, int?StatusID)
        {
            bool?Vstatus = null;

            if (StatusID == 0)
            {
                Vstatus = false;
            }
            else if (StatusID == 1)
            {
                Vstatus = true;
            }

            //status = Vstatus & CustomerID = CustomerFKID
            List <Customer>      Customers     = new List <Customer>();
            List <Vehicle>       Vehicles      = new List <Vehicle>();
            List <VehicleStatus> vehicleStatus = new List <VehicleStatus>();

            VehicleStatus TrueStatus = new VehicleStatus();

            TrueStatus.Id    = 0;
            TrueStatus.Title = "Not Connected";

            VehicleStatus FalseStatus = new VehicleStatus();

            FalseStatus.Id    = 1;
            FalseStatus.Title = "Connected";

            vehicleStatus.Add(TrueStatus);
            vehicleStatus.Add(FalseStatus);

            #region get Customer Data
            HttpClient          client = _CustomerAPI.Intial();
            HttpResponseMessage res    = await client.GetAsync("api/Customer");

            if (res.IsSuccessStatusCode)
            {
                var results = res.Content.ReadAsStringAsync().Result;
                Customers = JsonConvert.DeserializeObject <List <Customer> >(results);
            }
            #endregion

            ViewBag.AllCustomers     = Customers;
            ViewBag.AllVehicleStatus = vehicleStatus;

            #region Get Vehicles Data
            HttpClient          vclient = _VehicleAPI.Intial();
            HttpResponseMessage Vres    = await vclient.GetAsync($"api/Vehicle?status=" + Vstatus + "&CustomerID=" + CustomerFKID);

            if (Vres.IsSuccessStatusCode)
            {
                var results = Vres.Content.ReadAsStringAsync().Result;
                Vehicles = JsonConvert.DeserializeObject <List <Vehicle> >(results);
            }
            for (int i = 0; i < Vehicles.Count; i++)
            {
                Vehicle  item            = Vehicles[i];
                DateTime?LastUpdatedDate = item.LastUpdatedDate;

                if (LastUpdatedDate != null)
                {
                    TimeSpan?DiffrenceTime = (DateTime.Now - LastUpdatedDate) * 60;
                    if (DiffrenceTime.Value.Days < 1)
                    {
                        if (DiffrenceTime.Value.Hours < 1)
                        {
                            if (DiffrenceTime.Value.Minutes < 5)
                            {
                                item.IsConnected = true;
                            }
                            else
                            {
                                item.IsConnected = false;
                            }
                        }
                        else
                        {
                            item.IsConnected = false;
                        }
                    }
                    else
                    {
                        item.IsConnected = false;
                    }
                }
                int CustomerID = item.CustomerFk;

                HttpClient          Cclient = _CustomerAPI.Intial();
                HttpResponseMessage Cres    = await Cclient.GetAsync("api/Customer/" + CustomerID);

                if (Cres.IsSuccessStatusCode)
                {
                    var      results       = Cres.Content.ReadAsStringAsync().Result;
                    Customer CustomerValue = JsonConvert.DeserializeObject <Customer>(results);
                    Vehicles[i].CustomerName = CustomerValue.CustomerName;
                }
            }
            #endregion

            return(View(Vehicles));
        }