private static void ImportCars(CarDealerContext context) { var objCars = JsonConvert.DeserializeObject <Car[]>(File.ReadAllText("../../../ImportFiles/cars.json")); var cars = new List <Car>(); foreach (var car in objCars) { var partsNumber = new Random().Next(10, 21); for (int i = 0; i < partsNumber; i++) { var partId = new Random().Next(1, 132); while (car.Parts.Any(p => p.PartId == partId)) { partId = new Random().Next(1, 132); } var partCar = new PartCar() { CarId = car.Id, PartId = partId }; car.Parts.Add(partCar); } cars.Add(car); } context.AddRange(cars); context.SaveChanges(); }
public static string ImportCars(CarDealerContext context, string inputJson) { var carsDto = JsonConvert.DeserializeObject <ImportCarDto[]>(inputJson); var carsCollection = new List <Car>(); var carParts = new List <PartCar>(); foreach (var carDto in carsDto) { var car = new Car() { Make = carDto.Make, Model = carDto.Model, TravelledDistance = carDto.TravelledDistance }; foreach (var part in carDto.PartsId.Distinct()) { var carPart = new PartCar() { PartId = part, Car = car }; carParts.Add(carPart); } carsCollection.Add(car); } context.Cars.AddRange(carsCollection); context.PartCars.AddRange(carParts); context.SaveChanges(); return($"Successfully imported {carsDto.Length}."); }
//------------------- TASK 11 ---- IMPORT CARS ------------------------------------------ public static string ImportCars(CarDealerContext context, string inputJson) { ImportCarDto[] carDtos = JsonConvert.DeserializeObject <ImportCarDto[]>(inputJson); List <Car> cars = new List <Car>(); List <PartCar> carParts = new List <PartCar>(); foreach (ImportCarDto carDto in carDtos) { Car car = new Car() { Make = carDto.Make, Model = carDto.Model, TravelledDistance = carDto.TravelledDistance, }; //partsId array foreach (var partId in carDto.PartsId.Distinct()) { PartCar carPart = new PartCar() { PartId = partId, Car = car, }; carParts.Add(carPart); } cars.Add(car); } context.Cars.AddRange(cars); context.PartCars.AddRange(carParts); context.SaveChanges(); return($"Successfully imported {cars.Count}."); }
public static string ImportCars(CarDealerContext context, string inputJson) { JArray cars = JArray.Parse(inputJson); foreach (var carJson in cars) { var car = JsonConvert.DeserializeObject <Car>(carJson.ToString()); context.Cars.Add(car); foreach (var partJson in carJson["partsId"].Distinct()) { PartCar partCar = new PartCar { PartId = int.Parse(partJson.ToString()), CarId = car.Id }; if (!context.PartCars.Contains(partCar)) { car.PartCars.Add(partCar); } } } context.SaveChanges(); return($"Successfully imported {context.Cars.Local.Count}."); }
//cars public static string ImportCars(CarDealerContext context, string inputJson) { CarDTO[] cars = JsonConvert.DeserializeObject <CarDTO[]>(inputJson); foreach (var car in cars) { var newCar = new Car { Make = car.Make, Model = car.Model, TravelledDistance = car.TravelledDistance }; context.Cars.Add(newCar); foreach (var part in car.Parts) { var carPart = new PartCar { CarId = newCar.Id, PartId = part }; if (!newCar.PartCars.Any(pc => pc.PartId == carPart.PartId)) { context.PartCars.Add(carPart); } } } context.SaveChanges(); return($"Successfully imported {cars.Length}."); }
//11.ImportCars public static string ImportCars(CarDealerContext context, string inputJson) { var json = JsonConvert.DeserializeObject <IEnumerable <ImportCarsInputModel> >(inputJson); foreach (var carDto in json) { Car car = new Car { Make = carDto.Make, Model = carDto.Model, TravelledDistance = carDto.TravelledDistance }; context.Cars.Add(car); foreach (var partId in carDto.PartsId) { PartCar partCar = new PartCar { CarId = car.Id, PartId = partId }; if (car.PartCars.FirstOrDefault(p => p.PartId == partId) == null) { context.PartCars.Add(partCar); } } } context.SaveChanges(); return($"Successfully imported {json.Count()}."); }
private static void ImportPartCars(CarDealerContext context) { var carIds = context.Cars.Select(c => c.Id); var partCars = new List <PartCar>(); foreach (var carId in carIds) { var partIds = new List <int>(); for (int i = 1; i < 132; i++) { partIds.Add(i); } var partsCount = new Random().Next(10, 21); for (int j = 0; j < partsCount; j++) { var partCar = new PartCar { CarId = carId, PartId = partIds[new Random().Next(0, partIds.Count - 1)] }; partIds.Remove(partCar.PartId); partCars.Add(partCar); } } context.PartCars.AddRange(partCars); context.SaveChanges(); }
//Problem 11 public static string ImportCars(CarDealerContext context, string inputJson) { var cars = JsonConvert.DeserializeObject <List <CarDTO> >(inputJson); foreach (var car in cars) { var newCar = new Car { Make = car.Make, Model = car.Model, TravelledDistance = car.TravelledDistance }; context.Cars.Add(newCar); foreach (var part in car.PartsId.Distinct()) { var newPartCar = new PartCar { PartId = part, Car = newCar }; context.PartCars.Add(newPartCar); } } context.SaveChanges(); return($"Successfully imported {cars.Count}."); }
public void Create(string make, string model, long travelledDistance, IEnumerable <int> partsIds) { IEnumerable <int> existingPartsIds = this.database .Parts .Where(p => partsIds.Contains(p.Id)) .Select(p => p.Id) .ToList(); Car car = new Car { Make = make, Model = model, TravelledDistance = travelledDistance, }; IList <PartCar> parts = new List <PartCar>(); foreach (int partId in existingPartsIds) { PartCar part = new PartCar { PartId = partId, CarId = car.Id }; parts.Add(part); } car.Parts = parts; this.database.Cars.Add(car); this.database.SaveChanges(); }
public static void ImportCars(CarDealershipContext context, string carsAsString) { var cars = JsonConvert.DeserializeObject <Car[]>(carsAsString); context.Cars.AddRange(cars); context.SaveChanges(); var partsId = context.Parts.Select(x => x.Id).ToArray(); var carsId = context.Cars.Select(x => x.Id).ToArray(); var random = new Random(); var carsParts = new List <PartCar>(); for (int i = 0; i < carsId.Length; i++) { for (int j = 0; j < random.Next(15, 20); j++) { var carPart = new PartCar() { CarId = carsId[i], PartId = partsId[random.Next(1, partsId.Length)] }; if (carsParts.Any(x => x.CarId == carPart.CarId && x.PartId == carPart.PartId)) { continue; } carsParts.Add(carPart); } } context.PartCars.AddRange(carsParts); context.SaveChanges(); }
public static string ImportCars(CarDealerContext context, string inputJson) { var carsDto = JsonConvert.DeserializeObject <CarInputDto[]>(inputJson); foreach (var ImportCarsDTO in carsDto) { Car car = new Car { Make = ImportCarsDTO.Make, Model = ImportCarsDTO.Model, TravelledDistance = ImportCarsDTO.TravelledDistance }; context.Cars.Add(car); foreach (var partId in ImportCarsDTO.PartsId) { PartCar partCar = new PartCar { CarId = car.Id, PartId = partId }; if (car.PartCars.FirstOrDefault(p => p.PartId == partId) == null) { context.PartCars.Add(partCar); } } } context.SaveChanges(); return($"Successfully imported {carsDto.Length}."); }
//Problem 3 public static string ImportCars(CarDealerContext context, string inputJson) { var config = new MapperConfiguration(cfg => cfg.AddProfile <CarDealerProfile>()); var mapper = config.CreateMapper(); var carsData = JsonConvert.DeserializeObject <CarInsertModel[]>(inputJson); var cars = new List <Car>(); var partsCar = new List <PartCar>(); foreach (var carObj in carsData) { var car = mapper.Map <CarInsertModel, Car>(carObj); foreach (var part in carObj.PartsId.Distinct()) { var partCar = new PartCar(); partCar.PartId = part; partCar.Car = car; partsCar.Add(partCar); } cars.Add(car); } context.Cars.AddRange(cars); context.PartCars.AddRange(partsCar); context.SaveChanges(); return($"Successfully imported {cars.Count()}."); }
public static string ImportCars(CarDealerContext context, string inputJson) { InitializeMapper(); List <CarsInputDto> carsDto = JsonConvert.DeserializeObject <List <CarsInputDto> >(inputJson); List <Car> mappedCars = new List <Car>(); foreach (CarsInputDto car in carsDto) { Car vehicle = mapper.Map <CarsInputDto, Car>(car); mappedCars.Add(vehicle); List <int> partIds = car.PartsId.Distinct().ToList(); if (partIds == null) { continue; } partIds.ForEach(pid => { PartCar currentPair = new PartCar() { Car = vehicle, PartId = pid }; vehicle.PartCars.Add(currentPair); }); } context.Cars.AddRange(mappedCars); context.SaveChanges(); return($"Successfully imported {mappedCars.Count}."); }
private static void ImportPartCarsRecords(CarDealerContext context) { List <PartCar> partCars = new List <PartCar>(); Random random = new Random(); for (int i = 1; i <= 358; i++) { int randomNumberOfParts = random.Next(10, 21); List <int> partIds = new List <int>(); for (int j = 0; j < randomNumberOfParts; j++) { int randomPartId = random.Next(1, 132); if (partIds.Contains(randomPartId)) { continue; } partIds.Add(randomPartId); var part = new PartCar { CarId = i, PartId = randomPartId }; partCars.Add(part); } } context.PartCars.AddRange(partCars); context.SaveChanges(); }
//Problem 3 public static string ImportCars(CarDealerContext context, string inputXml) { var serializer = new XmlSerializer(typeof(List <CarDto>), new XmlRootAttribute("Cars")); var carsDto = (List <CarDto>)serializer.Deserialize(new StringReader(inputXml)); foreach (var carDto in carsDto) { var car = Mapper.Map <Car>(carDto); context.Cars.Add(car); foreach (var PartIds in carDto.Parts.PartIds) { if (car.PartCars.FirstOrDefault(x => x.PartId == PartIds.Id) == null && context.Parts.Find(PartIds.Id) != null) { var autoPart = new PartCar() { PartId = PartIds.Id, CarId = car.Id }; context.PartCars.Add(autoPart); } } } ; context.SaveChanges(); return($"Successfully imported {carsDto.Count}"); }
public static string ImportCars(CarDealerContext context, string inputXml) { var xmlSerializer = new XmlSerializer(typeof(ImportCarsDto[]), new XmlRootAttribute("Cars")); var carsDtos = (ImportCarsDto[])xmlSerializer.Deserialize(new StringReader(inputXml)); List <Car> cars = new List <Car>(); foreach (var carDto in carsDtos) { var car = Mapper.Map <Car>(carDto); context.Cars.Add(car); foreach (var part in carDto.Parts.PartsId) { if (car.PartCars .FirstOrDefault(x => x.PartId == part.PartId) == null && context.Parts.Find(part.PartId) != null) { var partCar = new PartCar { CarId = car.Id, PartId = part.PartId }; car.PartCars.Add(partCar); } } cars.Add(car); } context.SaveChanges(); return($"Successfully imported {cars.Count}"); }
private static void ImportPartCars() { List <PartCar> partCars = new List <PartCar>(); for (int i = 1; i <= 358; i++) { var parts = Enumerable.Range(1, 131).OrderBy(x => new Random().Next()).Take(new Random().Next(10, 21)).ToArray(); for (int n = 0; n < parts.Length; n++) { int partId = parts[n]; var partCar = new PartCar() { CarId = i, PartId = partId }; partCars.Add(partCar); } } var ctx = new CarDealerDbContext(); ctx.PartCars.AddRange(partCars); ctx.SaveChanges(); }
public static string ImportCars(CarDealerContext context, string inputXml) { var serializer = new XmlSerializer(typeof(Cars), new XmlRootAttribute("Cars")); var cars = ((Cars)serializer.Deserialize(new StringReader(inputXml))).Car; foreach (var car in cars) { var actualCar = new Car() { Make = car.make, Model = car.model, TravelledDistance = car.TraveledDistance, }; var parts = new HashSet <int>(); foreach (var part in car.parts) { if (!parts.Contains(part.id)) { var partCar = new PartCar() { Car = actualCar, PartId = part.id }; context.PartCars.Add(partCar); actualCar.PartCars.Add(partCar); } parts.Add(part.id); } context.Cars.Add(actualCar); } context.SaveChanges(); return($"Successfully imported {cars.Count()}"); }
public static string ImportCars(CarDealerContext context, string inputJson) { InicializeAutoMapper(); var dtoCars = JsonConvert.DeserializeObject <IEnumerable <CarsInputModel> >(inputJson); var cars = new List <Car>(); //var cars = mapper.Map<IEnumerable<Car>>(dtoCars); foreach (var car in dtoCars) { var automobile = mapper.Map <Car>(car); cars.Add(automobile); var partIds = car .PartsId .Distinct() .ToList(); foreach (var id in partIds) { var partCar = new PartCar { PartId = id, Car = automobile }; automobile.PartCars.Add(partCar); } } ; context.Cars.AddRange(cars); context.SaveChanges(); return($"Successfully imported {cars.Count()}."); }
//11. Import Cars public static string ImportCars(CarDealerContext context, string inputJson) { var carsDTO = JsonConvert.DeserializeObject <IEnumerable <CarDTO> >(inputJson); var cars = new List <Car>(); foreach (var carDTO in carsDTO) { var car = new Car() { Make = carDTO.Make, Model = carDTO.Model, TravelledDistance = carDTO.TravelledDistance }; foreach (var partId in carDTO.PartsId.Distinct()) { var partCard = new PartCar() { PartId = partId, Car = car }; car.PartCars.Add(partCard); } cars.Add(car); } context.Cars.AddRange(cars); context.SaveChanges(); return($"Successfully imported {cars.Count()}."); }
private static void ExtractPartCarsData(CarDealerContext context) { List <PartCar> partCars = new List <PartCar>(); Random randomizer = new Random(); for (int i = 1; i <= 358; i++) { int randomNumberOfParts = randomizer.Next(10, 21); List <int> partIds = new List <int>(); for (int j = 0; j < randomNumberOfParts; j++) { int randomPartId = randomizer.Next(1, 132); if (partIds.Contains(randomPartId)) { continue; } partIds.Add(randomPartId); PartCar currentPartCar = new PartCar { CarId = i, PartId = randomPartId }; partCars.Add(currentPartCar); } } context.PartCars.AddRange(partCars); context.SaveChanges(); }
public static string ImportCars(CarDealerContext context, string inputJson) { var carDTO = JsonConvert.DeserializeObject <CarImportDTO[]>(inputJson); var carsToImport = JsonConvert.DeserializeObject <Car[]>(inputJson); context.Cars.AddRange(carsToImport); context.SaveChanges(); foreach (var car in carDTO) { var currentCarParts = car.PartsId.ToHashSet(); var currentCar = context .Cars .Where(x => x.Make == car.Make && x.Model == car.Model && x.TravelledDistance == car.TravelledDistance) .FirstOrDefault(); foreach (var partId in currentCarParts) { var partCar = new PartCar { CarId = currentCar.Id, PartId = partId }; context.PartCars.Add(partCar); } } context.SaveChanges(); return($"Successfully imported {context.Cars.Count()}."); }
public static string ImportCars(CarDealerContext context, string inputJson) { var cars = JsonConvert .DeserializeObject <IEnumerable <ImportCarDTO> >(inputJson) .Where(c => c.Make != null && c.Model != null); foreach (var car in cars) { var carToAdd = new Car { Make = car.Make, Model = car.Model, TravelledDistance = car.TravelledDistance }; context.Cars.Add(carToAdd); foreach (var partId in car.PartsId) { var partCar = new PartCar() { CarId = carToAdd.Id, PartId = partId }; if (carToAdd.PartCars.FirstOrDefault(c => c.PartId == partId) == null) { context.PartCars.Add(partCar); } } } context.SaveChanges(); return($"Successfully imported {cars.Count()}."); }
public static string ImportCars(CarDealerContext context, string inputJson) { var carDTOs = JsonConvert.DeserializeObject <List <CarDTO> >(inputJson); var config = new MapperConfiguration(cfg => { cfg.AddProfile <CarDealerProfile>(); }); IMapper mapper = new Mapper(config); foreach (var carDTO in carDTOs) { var carToAdd = mapper.Map <CarDTO, Car>(carDTO); foreach (var partId in carDTO.PartsId.Distinct()) { var partCarEntity = new PartCar() { PartId = partId, Car = carToAdd }; context.PartCars.Add(partCarEntity); } } context.SaveChanges(); var result = $"Successfully imported {carDTOs.Count}."; return(result); }
public static string ImportCars(CarDealerContext context, string inputXml) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(List <ImportCarDto>), new XmlRootAttribute("Cars")); var carDtos = (List <ImportCarDto>)xmlSerializer.Deserialize(new StringReader(inputXml)); var cars = new List <Car>(); foreach (var carDto in carDtos) { var car = Mapper.Map <Car>(carDto); foreach (var part in carDto.Parts) { var parForCarExist = car.PartCars .FirstOrDefault(x => x.PartId == part.PartId) != null; if (!parForCarExist && context.Parts.Any(p => p.Id == part.PartId)) { var partCar = new PartCar { CarId = car.Id, PartId = part.PartId }; car.PartCars.Add(partCar); } } cars.Add(car); } context.Cars.AddRange(cars); context.SaveChanges(); return($"Successfully imported {context.Cars.Count()}"); }
private static void CreatePartCars(Car car, List <Part> allParts, CarDealerContext context) { Random random = new Random(); int numberOfPartsToAdd = random.Next(10, 20); for (int i = 0; i < numberOfPartsToAdd; i++) { int partIndex = random.Next(0, allParts.Count - 1); Part part = allParts[partIndex]; bool partExists = car.PartCars.Any(pc => pc.Part == part); while (partExists) { partIndex = random.Next(0, allParts.Count - 1); part = allParts[partIndex]; partExists = car.PartCars.Any(pc => pc.Part == part); } PartCar partCar = new PartCar { Car = car, Part = part, }; context.PartsCars.Add(partCar); } context.SaveChanges(); }
public static string ImportCars(CarDealerContext context, string inputJson) { var carsImport = JsonConvert.DeserializeObject <CarImportDto[]>(inputJson); var readyCars = Mapper.Map <CarImportDto[], Car[]>(carsImport); context.AddRange(readyCars); context.SaveChanges(); HashSet <int> partIds = context.Parts.Select(x => x.Id).ToHashSet(); HashSet <Part> parts = context.Parts.ToHashSet(); HashSet <Car> cars = context.Cars.ToHashSet(); HashSet <PartCar> addedCarParts = new HashSet <PartCar>(); List <PartCar> partsList = new List <PartCar>(); foreach (var car in carsImport) { car.PartsId = car.PartsId.Distinct().ToList(); Car currentCar = cars.Where(x => x.Make == car.Make && x.Model == car.Model && x.TravelledDistance == car.TravelledDistance).FirstOrDefault(); if (currentCar == null) { continue; } foreach (var id in car.PartsId) { if (!partIds.Contains(id)) { continue; } PartCar partCar = new PartCar { CarId = currentCar.Id, PartId = id }; if (!addedCarParts.Contains(partCar)) { partsList.Add(partCar); addedCarParts.Add(partCar); } } if (partsList != null) { currentCar.PartCars = partsList; context.PartCars.AddRange(partsList); partsList.Clear(); } } int rowsCount = context.SaveChanges(); return($"Successfully imported {cars.Count}."); }
/// <summary> /// 11. Import Cars /// </summary> public static string ImportCars(CarDealerContext context, string inputJson) { var jsonCars = JsonConvert.DeserializeObject <CarImportDto[]>(inputJson); var mappedCars = new List <Car>(); foreach (var car in jsonCars) { var mappedCar = new Car() { Make = car.Make, Model = car.Model, TravelledDistance = car.TravelledDistance }; var partsIds = car.PartsId.Distinct().ToList(); foreach (var partId in partsIds) { var partCar = new PartCar() { PartId = partId }; mappedCar.PartCars.Add(partCar); } mappedCars.Add(mappedCar); } context.Cars.AddRange(mappedCars); context.SaveChanges(); return($"Successfully imported {mappedCars.Count}."); }
public static string ImportCars(CarDealerContext context, string inputXml) { var config = new MapperConfiguration(cfg => cfg.AddProfile <CarDealerProfile>()); var mapper = config.CreateMapper(); var serializer = new XmlSerializer(typeof(CarImportDTO[]), new XmlRootAttribute("Cars")); var cars = (CarImportDTO[])serializer.Deserialize(new StringReader(inputXml)); var partsIds = context.Parts.Select(x => x.Id).ToList(); foreach (var car in cars) { var cCar = mapper.Map <CarImportDTO, Car>(car); context.Cars.Add(cCar); foreach (var part in car.Parts.Select(x => x.Id).ToHashSet()) { if (partsIds.Any(x => x == part)) { var partCar = new PartCar { PartId = part, Car = cCar }; context.PartCars.Add(partCar); } } } context.SaveChanges(); return($"Successfully imported {cars.Count()}"); }
public static string ImportCars(CarDealerContext context, string inputJson) { var carsDto = JsonConvert.DeserializeObject <List <ImportCarDTO> >(inputJson, new JsonSerializerSettings() { }); var cars = new List <Car>(); var carParts = new List <PartCar>(); foreach (var c in carsDto) { var car = new Car(); car.Make = c.make; car.Model = c.model; car.TravelledDistance = c.travelledDistance; foreach (var p in c.partsId.Distinct()) { var carPart = new PartCar() { PartId = p, Car = car }; carParts.Add(carPart); } cars.Add(car); } context.Cars.AddRange(cars); context.PartCars.AddRange(carParts); context.SaveChanges(); return($"Successfully imported {cars.Count}."); }