public static IFiscalCodeModel GetById(Type modelType, int id) { using (var db = new SqliteDataAccessProvider()) { var targetType = _typeList.FirstOrDefault(t => t == modelType.Name); switch (targetType) { case nameof(Continent): return(db.Continents.FirstOrDefault(c => c.Id == id)); case nameof(ForeignCountry): return(db.ForeignCountries.FirstOrDefault(fc => fc.Id == id)); case nameof(Province): return(db.Provinces.FirstOrDefault(p => p.Id == id)); case nameof(Region): return(db.Regions.FirstOrDefault(r => r.Id == id)); case nameof(ItalianMunicipality): return(db.ItalianMunicipalities.FirstOrDefault(m => m.Id == id)); } throw new NotSupportedException($"Can't determine an entity for type {targetType}"); } }
public PersonalInfo(string name, string surname, Gender gender, DateTime dateOfBirth, string placeOfBirth) { Name = name; Surname = surname; Gender = gender; DateOfBirth = dateOfBirth; using (var dap = new SqliteDataAccessProvider()) { PlaceOfBirth = dap.GetMunicipalityByNameAsync(placeOfBirth).Result; } }
public void ReadTest() { var countries = new List <ForeignCountry>(); using (var dap = new SqliteDataAccessProvider()) { countries = dap.ForeignCountries.ToList(); } Assert.True(countries.Count > 0); }
static ModelFactory() { using (var db = new SqliteDataAccessProvider()) { _typeList = new List <string>(); var entityTypes = db.Model.GetEntityTypes().ToList(); foreach (var entityType in entityTypes) { _typeList.Add(entityType.ClrType.Name); } } }
public static IPlace GetByPlaceName(string name) { using (var db = new SqliteDataAccessProvider()) { IPlace place = db.ItalianMunicipalities.FirstOrDefault(p => string.Equals(p.Name, name, StringComparison.CurrentCultureIgnoreCase)); if (place == null) { place = db.ForeignCountries.FirstOrDefault(p => string.Equals(p.Name, name, StringComparison.CurrentCultureIgnoreCase)); } if (place == null) { throw new ArgumentNullException($"Can't find an entity whose name matches {name}"); } return(place); } }