Exemple #1
0
        public ActionResult RegisterCar(CarsCompanyViewModel viewModel)
        {
            var userId  = User.Identity.GetUserId();
            var company = _companyService.GetAll().First(x => x.UserId == userId);
            var newcar  = (new Car()
            {
                Brand = viewModel.Brand, InternalNumber = viewModel.InternalNumber, Model = viewModel.Model, RegisterNumber = viewModel.RegisterNumber, Year = viewModel.Year, Company = company, Location = new Location()
                {
                    Latitude = 0, Longitude = 0
                }, CarStatus = CarStatus.OffDuty, LastActiveDateTime = DateTime.Now
            });

            _carService.CreateCar(newcar);
            if (viewModel.SelectedDriver != "0")
            {
                var driver = _driverService.GetAll().First(x => x.UserId == viewModel.SelectedDriver);
                _driverService.AddCar(driver.Id, newcar);
            }
            return(RedirectToAction("Cars"));
        }
Exemple #2
0
        public ActionResult ChangeCar(CarsCompanyViewModel viewModel)
        {
            var car = _carService.GetCars().First(x => x.Id == viewModel.CarId);

            car.Model          = viewModel.Model;
            car.RegisterNumber = viewModel.Model;
            car.InternalNumber = viewModel.InternalNumber;
            car.Year           = viewModel.Year;
            car.Brand          = viewModel.Brand;

            _carService.ModifyCar(viewModel.CarId, car);
            var driver = _driverService.GetDriverByCar(car);

            if (viewModel.SelectedDriver == "0" && driver != null)
            {
                driver.Car = null;
                _driverService.DriverModify(driver.Id, driver);
            }
            else if (viewModel.SelectedDriver != "0" && driver == null)
            {
                var newDriver = _driverService.GetAll().First(x => x.UserId == viewModel.SelectedDriver);
                _driverService.AddCar(newDriver.Id, car);
            }
            else if (viewModel.SelectedDriver != "0" && driver != null && viewModel.SelectedDriver != driver.UserId)
            {
                driver.Car = null;
                _driverService.DriverModify(driver.Id, driver);
                var newDriver = _driverService.GetAll().FirstOrDefault(x => x.UserId == viewModel.SelectedDriver);
                if (newDriver != null)
                {
                    _driverService.AddCar(newDriver.Id, car);
                }
            }

            return(RedirectToAction("Cars"));
        }
Exemple #3
0
        public ActionResult Cars()
        {
            if (User.IsInRole("Company"))
            {
                var currentUserId = User.Identity.GetUserId();
                var cars          = _carService.GetCars().Where(x => x.Company.UserId == currentUserId).ToList();
                var drivers       = new List <Driver>();
                foreach (var car in cars)
                {
                    var driver = _driverService.GetDriverByCar(car);
                    if (driver != null)
                    {
                        drivers.Add(driver);
                    }
                    else
                    {
                        drivers.Add(null);
                    }
                }
                var listUsers = new List <DriverBasicInfo>();
                foreach (var driver in drivers)
                {
                    if (driver != null)
                    {
                        var userFound = UserManager.FindById(driver.UserId);
                        listUsers.Add(new DriverBasicInfo()
                        {
                            UserId = userFound.Id, Name = userFound.FirstName + ' ' + userFound.LastName
                        });
                    }
                    else
                    {
                        listUsers.Add(new DriverBasicInfo()
                        {
                            Name = "Няма", UserId = "0"
                        });
                    }
                }
                var viewModel = new CarsCompanyViewModel {
                    CarsAndDrivers = new Dictionary <Car, DriverBasicInfo>()
                };
                for (var i = 0; i < cars.Count; i++)
                {
                    if (listUsers.Count - 1 < i)
                    {
                        viewModel.CarsAndDrivers.Add(cars[i], new DriverBasicInfo()
                        {
                            Name = "Няма", UserId = "0"
                        });
                    }
                    else
                    {
                        viewModel.CarsAndDrivers.Add(cars[i], listUsers[i]);
                    }
                }
                var driversWithoutCars = _driverService.GetAll().Where(x => x.Car == null).ToList();
                var listSelectedItems  = new List <SelectListItem>();
                listSelectedItems.Add(new SelectListItem {
                    Selected = true, Text = string.Format("Няма"), Value = "0"
                });
                for (var i = 0; i < driversWithoutCars.Count; i++)
                {
                    var user = UserManager.FindById(driversWithoutCars[i].UserId);
                    listSelectedItems.Add(new SelectListItem
                    {
                        Selected = false,
                        Text     =
                            user.FirstName + ' ' + user.LastName,
                        Value = user.Id.ToString()
                    });
                }
                viewModel.Drivers = new SelectList(listSelectedItems);

                return(View("CompanyCars", viewModel));
            }
            else
            {
                return(View("DriverCars"));
            }
        }