Пример #1
0
        /// <summary>
        /// </summary>
        /// <param name="carDetailsDto"></param>
        public void AddCar(CarDetailsDTO carDetailsDto)
        {
            var car = new Car
            {
                Brand = carDetailsDto.Brand,
                KmNo  = carDetailsDto.KmNo,
                RegNo = carDetailsDto.RegNo,
                Year  = carDetailsDto.Year
            };

            var carId = _dataAccess.CarRepository.AddCarReturnIndex(car);

            var exitingDriver = _dataAccess.DriverCarRepository.FindFirstBy(d => d.CarID == carId);

            if (null == exitingDriver && carDetailsDto.DriverID != 0)
            {
                _dataAccess.DriverCarRepository.Add(new DriversCar {
                    CarID = carId, UserID = carDetailsDto.DriverID
                });
            }
            else if (exitingDriver?.UserID != carDetailsDto.DriverID && carDetailsDto.DriverID != 0)
            {
                _dataAccess.DriverCarRepository.Delete(exitingDriver);
                _dataAccess.DriverCarRepository.Add(new DriversCar {
                    CarID = carId, UserID = carDetailsDto.DriverID
                });
            }
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public CarDetailsDTO GetCarDetails(int carId)
        {
            var car             = _dataAccess.CarRepository.FindFirstBy(c => c.CarID == carId);
            var carUilitiesList = _dataAccess.CarsUtilityRepository.FindAllBy(u => u.CarID == carId);
            var utilities       = new List <UtilityCarDTO>();

            foreach (var ut in carUilitiesList)
            {
                utilities.Add(new UtilityCarDTO
                {
                    StartingDate = ut.StartedDate.ToString("yyyy-MM-dd"),
                    StartingKmNo = ut.StartedKmNo,
                    UtilityID    = ut.UtilityID
                });
            }

            var list = new CarDetailsDTO
            {
                CarID        = car.CarID,
                Brand        = car.Brand,
                KmNo         = car.KmNo,
                RegNo        = car.RegNo,
                Year         = car.Year,
                DriverID     = _dataAccess.DriverCarRepository.FindFirstBy(d => d.CarID == carId)?.UserID ?? 0,
                UtilitiesIDs = _dataAccess.CarsUtilityRepository.FindAllBy(u => u.CarID == carId).Select(utility => utility.UtilityID).ToList(),
                Utilities    = utilities
            };

            return(list);
        }
Пример #3
0
 public CarViewModel()
 {
     SearchViewModel = new SearchViewModel();
     Cars            = new List <CarDTO>();
     CarsDetail      = new List <CarDetailsDTO>();
     CarFullDetail   = new CarDetailsDTO();
     Types           = new List <String>();
     Sites           = new List <SiteDTO>();
 }
Пример #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="carDetailsDto"></param>
 /// <returns>true sau false</returns>
 public bool UpdateCar(CarDetailsDTO carDetailsDto)
 {
     try
     {
         _bl.CarLogic.UpdateCar(carDetailsDto);
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Пример #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="carDetailsDto"></param>
 /// <returns>true sau false</returns>
 public bool AddCar(CarDetailsDTO carDetailsDto)
 {
     try
     {
         _bl.CarLogic.AddCar(carDetailsDto);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Пример #6
0
        public HttpResponseMessage Post(CarDetailsDTO carDetailsDto)
        {
            HttpResponseMessage responseMessage;
            JSendMessage        json;
            var response = _carModel.AddCar(carDetailsDto);

            if (response)
            {
                json            = new JSendMessage("success", "Car successfully added");
                responseMessage = Request.CreateResponse(HttpStatusCode.OK, json);
            }
            else
            {
                json            = new JSendMessage("fail", "Something bad happened");
                responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest, json);
            }

            return(responseMessage);
        }
Пример #7
0
        public void CreateOrUpdateCar(CarDetailsDTO c, List <ImageDTO> images)
        {
            var site = c.Location;

            CarModel carModel;

            if (context.Cars.Any(car => car.CarID == c.CarID))
            {
                carModel       = context.Cars.Find(c.CarID);
                carModel.Brand = c.Brand;
                carModel.CarID = c.CarID;
                //Comments = c.Comments;
                carModel.Consuption  = c.Consuption;
                carModel.Description = c.Description;
                carModel.Doors       = c.Doors;
                // TODO Location not working
                carModel.Site        = c.Location;
                carModel.NumberPlate = c.NumberPlate;
                carModel.Passangers  = c.Passangers;
                carModel.Power       = c.Power;
                carModel.Price       = c.Price;
                carModel.State       = c.State;
                carModel.Trunk       = c.Trunk;
                carModel.Type        = c.Type;
            }
            else
            {
                carModel = new CarModel()
                {
                    Brand = c.Brand,
                    CarID = c.CarID,
                    //Comments = c.Comments,
                    Consuption  = c.Consuption,
                    Description = c.Description,
                    Doors       = c.Doors,
                    // TODO Location not working
                    Site        = c.Location,
                    NumberPlate = c.NumberPlate,
                    Passangers  = c.Passangers,
                    Power       = c.Power,
                    Price       = c.Price,
                    State       = c.State,
                    Trunk       = c.Trunk,
                    Type        = c.Type
                };
            }

            if (images != null)
            {
                foreach (var img in images)
                {
                    var image = new ImageModel()
                    {
                        Car  = carModel,
                        Path = img.Path,
                        Name = img.Name
                    };
                    context.Images.Add(image);
                }
            }

            if (context.Cars.Any(car => car.CarID == carModel.CarID))
            {
                context.Cars.Update(carModel);
            }
            else
            {
                context.Cars.Add(carModel);
            }

            site.Cars.Add(carModel);
            context.Sites.Update(site);

            context.SaveChanges();
        }
Пример #8
0
        /// <summary>
        /// </summary>
        /// <param name="carDetailsDto"></param>
        public void UpdateCar(CarDetailsDTO carDetailsDto)
        {
            var car = new Car
            {
                CarID = carDetailsDto.CarID,
                Brand = carDetailsDto.Brand,
                KmNo  = carDetailsDto.KmNo,
                RegNo = carDetailsDto.RegNo,
                Year  = carDetailsDto.Year
            };

            _dataAccess.CarRepository.Update(car);

            var exitingDriver = _dataAccess.DriverCarRepository.FindFirstBy(d => d.CarID == carDetailsDto.CarID);

            if (carDetailsDto.DriverID == 0)
            {
                if (null != exitingDriver)
                {
                    _dataAccess.DriverCarRepository.Delete(exitingDriver);
                }
            }
            else
            {
                if (null == exitingDriver)
                {
                    _dataAccess.DriverCarRepository.Add(new DriversCar
                    {
                        CarID  = carDetailsDto.CarID,
                        UserID = carDetailsDto.DriverID
                    });
                }
                else if (exitingDriver.UserID != carDetailsDto.DriverID)
                {
                    _dataAccess.DriverCarRepository.Delete(exitingDriver);
                    _dataAccess.DriverCarRepository.Add(new DriversCar
                    {
                        CarID  = carDetailsDto.CarID,
                        UserID = carDetailsDto.DriverID
                    });
                }
            }

            var allUtilities = _dataAccess.CarsUtilityRepository.FindAllBy(u => u.CarID == carDetailsDto.CarID).ToList();

            foreach (var utility in allUtilities.Where(utility => !carDetailsDto.UtilitiesIDs.Contains(utility.UtilityID)))
            {
                _dataAccess.CarsUtilityRepository.Delete(allUtilities.FirstOrDefault(u => u.UtilityID == utility.UtilityID));
            }

            foreach (var utility in carDetailsDto.Utilities)
            {
                var exitingUtility = _dataAccess.CarsUtilityRepository.FindFirstBy(u => u.CarID == carDetailsDto.CarID && u.UtilityID == utility.UtilityID);

                if (null == exitingUtility)
                {
                    //     utility.StartingDate = utility.StartingDate.Replace("-", string.Empty);
                    _dataAccess.CarsUtilityRepository.Add(new CarsUtility
                    {
                        CarID       = carDetailsDto.CarID,
                        StartedDate = DateTime.ParseExact(utility.StartingDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None),
                        StartedKmNo = utility.StartingKmNo ?? 0,
                        UtilityID   = utility.UtilityID
                    });
                }
                else
                {
                    exitingUtility.StartedDate = DateTime.ParseExact(utility.StartingDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None);
                    exitingUtility.StartedKmNo = utility.StartingKmNo ?? exitingUtility.StartedKmNo;

                    _dataAccess.CarsUtilityRepository.Update(exitingUtility);
                }
            }
        }