public PurchaseDetails Create(PurchaseDetails purchaseDetails) { var productId = _context.Products.FirstOrDefault(a => a.Name == purchaseDetails.ProductName).ID; var userId = _context.Customers.FirstOrDefault(a => a.Email == purchaseDetails.Email).ID; var purchase = new Purchase() { ProductID = (int)productId, UserID = (int)userId }; _context.Purchases.Add(purchase); _context.SaveChanges(); return(purchaseDetails); }
public Customer Create(Customer customer) { var customerInDB = _context.Customers.FirstOrDefault(a => a.Email.Trim().ToUpper() == customer.Email.Trim().ToUpper()); if (customerInDB == null) { _context.Customers.Add(customer); } else { if ( customer.Name.ToUpper() != customerInDB.Name.ToUpper() || customer.Password != customerInDB.Password ) { customerInDB.Name = customer.Name; customerInDB.Password = customer.Password; _context.Update(customerInDB); } } _context.SaveChanges(); return(customer); }
public Product Create(Product product) { var productInDB = _context.Products.FirstOrDefault(a => a.Name.Trim().ToUpper() == product.Name.Trim().ToUpper()); if (productInDB == null) { _context.Products.Add(product); } else { if ( product.Description.ToUpper() != productInDB.Description.ToUpper() || product.Price != productInDB.Price ) { productInDB.Description = product.Description; productInDB.Price = product.Price; _context.Update(productInDB); } } _context.SaveChanges(); return(product); }
public void RemoveLogsOlderThan(double hours) { var logstoberemoved = _context.Log.Where(l => l.TimeStamp <= DateTimeOffset.Now.AddHours(-hours)).ToList(); _context.Log.RemoveRange(logstoberemoved); _context.SaveChanges(); }
public static void SeedTimeZones(FCTContext _context, ILogger <DictionarySeeder> logger) { logger.LogInformation("DB Seeder: TimeZones", DateTime.Now); if (_context.TimeZone.Any()) { return; } var zones = _context.Zone.ToList(); var timeZonesFilePath = Path.Combine(AppContext.BaseDirectory, "LoadData\\timezones.json"); using (StreamReader r = new StreamReader(timeZonesFilePath)) { var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; string json = r.ReadToEnd(); var items = JsonConvert.DeserializeObject <List <TimeZoneModel> >(json, settings); var timeZones = new List <Domain.Geo.TimeZone>(); var zoneTimeZones = new List <ZoneTimeZone>(); foreach (var item in items) { var timeZone = new Domain.Geo.TimeZone() { Name = item.value, Abbreviation = item.abbr, IsDst = item.isdst, Description = item.text, Offset = item.offset }; foreach (var ztz in item.utc) { var zone = zones.Where(z => z.ZoneName == ztz).FirstOrDefault(); if (zone != null) { timeZone.Zones.Add(new ZoneTimeZone() { TimeZone = timeZone, Zone = zone }); } } timeZones.Add(timeZone); } _context.TimeZone.AddRange(timeZones); _context.SaveChanges(); } }
public static void SeedAirports(FCTContext _context, ILogger <DictionarySeeder> logger) { logger.LogInformation("DB Seeder: Airports", DateTime.Now); if (_context.Airport.Any()) { return; } var countriesFilePath = Path.Combine(AppContext.BaseDirectory, "LoadData\\airports.json"); using (StreamReader r = new StreamReader(countriesFilePath)) { var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; string json = r.ReadToEnd(); var items = JsonConvert.DeserializeObject <Dictionary <string, AirportModel> >(json, settings); var zones = _context.Zone.ToList(); var airportsList = new List <Airport>(); foreach (var item in items) { var countryCode = item.Value.country; var airport = new Airport() { Name = item.Value.name, CountryCode = item.Value.country, Country = _context.Country.Where(c => c.Alpha2Code == countryCode).FirstOrDefault(), State = item.Value.state, City = item.Value.city, IATA = item.Value.iata, ICAO = item.Value.icao, Latitude = item.Value.lat, Longitude = item.Value.lon, Elevation = item.Value.elevation, TimeZone = item.Value.tz, Zone = zones.Where(c => c.ZoneName == item.Value.tz).FirstOrDefault() }; airportsList.Add(airport); } _context.Airport.AddRange(airportsList); _context.SaveChanges(); } }
public static void SeedZones(FCTContext _context, ILogger <DictionarySeeder> logger) { logger.LogInformation("DB Seeder: Zones", DateTime.Now); if (_context.Zone.Any()) { return; } var zonesFilePath = Path.Combine(AppContext.BaseDirectory, "LoadData\\zone.csv"); var _createdCountries = _context.Country.ToList(); var zoneList = new List <Zone>(); using (var reader = new StreamReader(zonesFilePath)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { csv.Configuration.HasHeaderRecord = false; var records = csv.GetRecords <ZoneModel>(); foreach (var record in records) { zoneList.Add(new Zone() { CountryCode = record.CountryCode, ZoneName = record.ZoneName, GenericZoneName = TZNames.GetNamesForTimeZone(record.ZoneName, "en-US").Generic, Country = _createdCountries.Where(c => c.Alpha2Code == record.CountryCode).FirstOrDefault() }); } _context.AddRange(zoneList); _context.SaveChanges(); } }
private List <Flight> CreateFlights() { var flights = new List <Flight>() { new Flight() { FlightNumber = "P7 1754", Aircraft = null, Airline = GetAirline("LLC"), DepartureAirport = GetAirport("WAW"), DepartureDate = new DateTime(2015, 8, 29, 3, 0, 0), ScheduleDepartureDate = new DateTime(2015, 8, 29, 3, 0, 0), ArrivalAirport = GetAirport("KGS"), ArrivialDate = new DateTime(2015, 8, 29, 6, 0, 0), ScheduleArrivialDate = new DateTime(2015, 8, 29, 6, 0, 0), Distance = 1775, FlightTypeAssessment = Flight.FlightType.Charter, FlightPurposeAssessment = Flight.FlightPurpose.Private, UserFlights = new List <UserFlight>() { new UserFlight() { TUser = GetUser("Michal") } } }, new Flight() { FlightNumber = "P7 1755", Aircraft = null, Airline = GetAirline("LLC"), DepartureAirport = GetAirport("KGS"), DepartureDate = new DateTime(2015, 9, 05, 10, 0, 0), ScheduleDepartureDate = new DateTime(2015, 9, 05, 10, 0, 0), ArrivalAirport = GetAirport("WAW"), ArrivialDate = new DateTime(2015, 9, 05, 12, 0, 0), ScheduleArrivialDate = new DateTime(2015, 9, 05, 12, 0, 0), Distance = 1775, FlightTypeAssessment = Flight.FlightType.Charter, FlightPurposeAssessment = Flight.FlightPurpose.Private, UserFlights = new List <UserFlight>() { new UserFlight() { TUser = GetUser("Michal") } } }, new Flight() { FlightNumber = "W6 1441", Aircraft = null, Airline = GetAirline("WZZ"), DepartureAirport = GetAirport("WAW"), DepartureDate = new DateTime(2016, 9, 22, 12, 20, 0), ScheduleDepartureDate = new DateTime(2016, 9, 22, 12, 20, 0), ArrivalAirport = GetAirport("FCO"), ArrivialDate = new DateTime(2016, 9, 22, 14, 45, 0), ScheduleArrivialDate = new DateTime(2016, 9, 22, 14, 45, 0), Distance = 1327, FlightTypeAssessment = Flight.FlightType.Scheduled, FlightPurposeAssessment = Flight.FlightPurpose.Private, UserFlights = new List <UserFlight>() { new UserFlight() { TUser = GetUser("Michal") } } } }; _context.AddRange(flights); _context.SaveChanges(); return(flights); }
public static void SeedCountries(FCTContext _context, ILogger <DictionarySeeder> logger) { logger.LogInformation("DB Seeder: Countries", DateTime.Now); if (_context.Country.Any()) { return; } var countriesFilePath = Path.Combine(AppContext.BaseDirectory, "LoadData\\countries.json"); using (StreamReader r = new StreamReader(countriesFilePath)) { var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; string json = r.ReadToEnd(); List <CountriesDataModel> items = JsonConvert.DeserializeObject <List <CountriesDataModel> >(json, settings); foreach (var item in items) { var continent = new Continent(); var existingContinent = _context.Continent.Where(c => c.Name == item.region).FirstOrDefault(); if (existingContinent == null) { continent = new Continent() { Name = item.region }; _context.Add(continent); _context.SaveChanges(); } else { continent = existingContinent; } var region = new Region(); var existingRegion = _context.Region.Where(rg => rg.Name == item.subregion).FirstOrDefault(); if (existingRegion == null) { region = new Region() { Name = item.subregion, Continent = continent }; _context.Add(region); _context.SaveChanges(); } else { region = existingRegion; } var newCountry = new Country() { Name = item.name.common, OfficialName = item.name.official, Alpha2Code = item.cca2, Alpha3Code = item.cca3, Area = item.area, Region = region, Latitude = item.latlng.FirstOrDefault(), Longitude = item.latlng.LastOrDefault() }; _context.Add(newCountry); _context.SaveChanges(); } } }