/// <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 }); } }
/// <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); }
public CarViewModel() { SearchViewModel = new SearchViewModel(); Cars = new List <CarDTO>(); CarsDetail = new List <CarDetailsDTO>(); CarFullDetail = new CarDetailsDTO(); Types = new List <String>(); Sites = new List <SiteDTO>(); }
/// <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); } }
/// <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); } }
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); }
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(); }
/// <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); } } }