public List <MainPhotos> getAllMainPhotos()
        {
            List <MainPhotos> mainphotos = new List <MainPhotos>();

            try
            {
                string    sql = "select MainPhoto from Cars";
                DataTable dt  = new DataTable();
                dt         = _idac.GetManyRows(sql, null);
                mainphotos = DBList.CovertDataTableToList <MainPhotos>(dt);
            }
            catch (Exception)
            {
                throw;
            }
            return(mainphotos);
        }
        public List <CarsData> getAllCarsData()
        {
            List <CarsData> carsdata = new List <CarsData>();

            try
            {
                string    sql = "select * from Cars";
                DataTable dt  = new DataTable();
                dt       = _idac.GetManyRows(sql, null);
                carsdata = DBList.CovertDataTableToList <CarsData>(dt);
            }
            catch (Exception)
            {
                throw;
            }
            return(carsdata);
        }
        public List <CustomersList> getCustomersList()
        {
            List <CustomersList> customerlist = new List <CustomersList>();

            try
            {
                string    sql = "select * from CustomerContacts";
                DataTable dt  = new DataTable();
                dt           = _idac.GetManyRows(sql, null);
                customerlist = DBList.CovertDataTableToList <CustomersList>(dt);
            }
            catch (Exception)
            {
                throw;
            }
            return(customerlist);
        }
        public List <Locations> showLocations()
        {
            List <Locations> loc = new List <Locations>();

            try
            {
                string    sql = "select * from Locations";
                DataTable dt  = new DataTable();
                dt  = _idac.GetManyRows(sql, null);
                loc = DBList.CovertDataTableToList <Locations>(dt);
            }
            catch (Exception)
            {
                throw;
            }
            return(loc);
        }
        public List <CarsData> getCarFullData(string CarId)
        {
            List <CarsData> cardata = new List <CarsData>();

            try
            {
                string    sql = "select * from cars where CarId = " + "'" + CarId + "'";
                DataTable dt  = new DataTable();
                dt      = _idac.GetManyRows(sql, null);
                cardata = DBList.CovertDataTableToList <CarsData>(dt);
            }
            catch (Exception)
            {
                throw;
            }
            return(cardata);
        }
        public List <AppointmentsList> showAppointments()
        {
            List <AppointmentsList> appointments = new List <AppointmentsList>();

            try
            {
                string    sql = "select * from ServiceAppointments";
                DataTable dt  = new DataTable();
                dt           = _idac.GetManyRows(sql, null);
                appointments = DBList.CovertDataTableToList <AppointmentsList>(dt);
            }
            catch (Exception)
            {
                throw;
            }

            return(appointments);
        }
        public List <CarYear> getcarYears()
        {
            List <CarYear> year = new List <CarYear>();

            try
            {
                string sql = "select Year from cars where NewOrUsed = 'new'";

                DataTable dt = new DataTable();
                dt   = _idac.GetManyRows(sql, null);
                year = DBList.CovertDataTableToList <CarYear>(dt);
            }
            catch (Exception)
            {
                throw;
            }
            return(year);
        }
        public List <CarMake> getCarMakes()
        {
            List <CarMake> make = new List <CarMake>();

            try
            {
                string sql = "select Make from cars where NewOrUsed = 'new'";

                DataTable dt = new DataTable();
                dt   = _idac.GetManyRows(sql, null);
                make = DBList.CovertDataTableToList <CarMake>(dt);
            }
            catch (Exception)
            {
                throw;
            }
            return(make);
        }
        public ActionResult NewCarInventory(NewCarsModel nc)
        {
            IRepository rep = new Repository();
            DataTable   dt  = rep.getNewCarsData(nc.caryearselected, nc.carmakeselected);
            //for full list: -
            List <CarsData> carsdata = new List <CarsData>();

            carsdata    = DBList.CovertDataTableToList <CarsData>(dt);
            nc.carsdata = carsdata;
            //for car years filter:-
            List <CarYear> caryears = new List <CarYear>();

            caryears = DBList.CovertDataTableToList <CarYear>(dt);
            List <string> caryearsstring = new List <string>();

            foreach (var item in caryears)
            {
                string items;
                items = item.Year.ToString();
                caryearsstring.Add(items);
            }
            List <int> caryearsint = new List <int>();

            caryearsint = caryearsstring.Select(int.Parse).ToList();
            List <int> distinctcaryears = new List <int>();

            distinctcaryears = caryearsint.Distinct().ToList();
            distinctcaryears.Sort();
            nc.caryear = new List <SelectListItem>();
            nc.caryear.Add(new SelectListItem()
            {
                Text = "None", Value = "none"
            });
            foreach (var item in distinctcaryears)
            {
                SelectListItem si = new SelectListItem()
                {
                    Value = item.ToString(),
                    Text  = item.ToString()
                };
                nc.caryear.Add(si);
            }
            //for makes filter:-
            List <CarMake> carmake = new List <CarMake>();

            carmake = DBList.CovertDataTableToList <CarMake>(dt);

            List <string> carmakesstring = new List <string>();

            foreach (var item in carmake)
            {
                string items;
                items = item.Make.ToString();
                carmakesstring.Add(items);
            }
            List <string> distinctcarmakes = new List <string>();

            distinctcarmakes = carmakesstring.Distinct().ToList();
            distinctcarmakes.Sort();

            nc.carmake = new List <SelectListItem>();
            nc.carmake.Add(new SelectListItem()
            {
                Text = "None", Value = "none"
            });
            foreach (var item in distinctcarmakes)
            {
                SelectListItem si = new SelectListItem()
                {
                    Value = item,
                    Text  = item
                };
                nc.carmake.Add(si);
            }

            return(View(nc));
        }