public async Task <IActionResult> Get(int id)
        {
            try
            {
                var VehiclesForSale = await VehiclesForSaleService.GetByIdAsync(id);

                var itemsInStockEntity = await ItemsInStockService.GetByIdAsync(id);

                var viewModel = new VehiclesForSaleViewModel();

                viewModel.Id             = VehiclesForSale.Id;
                viewModel.VehicleMake    = VehiclesForSale.VehicleMake;
                viewModel.VehicleModel   = VehiclesForSale.VehicleModel;
                viewModel.VehiclePicture = VehiclesForSale.VehiclePicture;
                viewModel.Price          = VehiclesForSale.Price;
                viewModel.ItemsInStock   = itemsInStockEntity.ItemsInStock;
                viewModel.StockId        = itemsInStockEntity.Id;


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


                return(Ok(viewModel));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public async Task <IActionResult> Post(VehiclesForSaleViewModel viewModel)
        {
            try
            {
                var file = Request.Form.Files[0];

                viewModel.VehicleMake    = Request.Form["vehicleMake"].ToString();
                viewModel.VehicleModel   = Request.Form["vehicleModel"].ToString();
                viewModel.Price          = Convert.ToInt32(Request.Form["price"]);
                viewModel.ItemsInStockId = Convert.ToInt32(Request.Form["itemsInStockId"]);
                viewModel.ItemsInStock   = Convert.ToInt32(Request.Form["itemsInStock"]);
                VehiclesForSale model = new VehiclesForSale
                {
                    Id             = viewModel.Id,
                    VehicleMake    = viewModel.VehicleMake,
                    VehicleModel   = viewModel.VehicleModel,
                    VehiclePicture = viewModel.VehiclePicture,
                    Price          = viewModel.Price
                };


                if (file.Length > 0)
                {
                    ItemsInStockModel stockModel = new ItemsInStockModel();
                    stockModel.ItemsInStock      = viewModel.ItemsInStock;
                    stockModel.VehiclesForSaleId = viewModel.ItemsInStockId;
                    stockModel.Id = viewModel.Id;
                    using (var memoryStream = new MemoryStream())
                    {
                        await file.CopyToAsync(memoryStream);

                        model.VehiclePicture = memoryStream.ToArray();
                    }
                    try
                    {
                        await VehiclesForSaleService.CreateAsync(model);
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }

                    await ItemsInStockService.AddAsync(stockModel);
                }
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public async Task <IActionResult> Get(int?pageNumber = null, bool isAscending = false, string search = null)
        {
            try
            {
                Filter.PageNumber  = pageNumber ?? 1;
                Filter.Search      = search;
                Filter.IsAscending = isAscending;

                var pagedList = await VehiclesForSaleService.GetPagedList(Filter);

                var modelList = pagedList.ToList();
                await ItemsInStockService.GetAllAsync();

                var newList = new List <VehiclesForSaleViewModel>();

                foreach (var item in modelList)
                {
                    var viewModel = new VehiclesForSaleViewModel();
                    viewModel.Id             = item.ItemsInStockModel.VehiclesForSaleId;
                    viewModel.ItemsInStock   = item.ItemsInStockModel.ItemsInStock;
                    viewModel.ItemsInStockId = item.ItemsInStockModel.Id;
                    viewModel.VehicleMake    = item.VehicleMake;
                    viewModel.VehicleModel   = item.VehicleModel;
                    viewModel.VehiclePicture = item.VehiclePicture;
                    viewModel.Price          = item.Price;
                    newList.Add(viewModel);
                }

                var newModel = new
                {
                    Model       = newList,
                    PageNumber  = pagedList.PageNumber,
                    PageSize    = pagedList.PageSize,
                    TotalCount  = pagedList.TotalItemCount,
                    isAscending = Filter.IsAscending
                };

                return(Ok(newModel));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }