コード例 #1
0
        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}");
            }
        }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
        public void ReadTest()
        {
            var countries = new List <ForeignCountry>();

            using (var dap = new SqliteDataAccessProvider())
            {
                countries = dap.ForeignCountries.ToList();
            }


            Assert.True(countries.Count > 0);
        }
コード例 #4
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);
         }
     }
 }
コード例 #5
0
        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);
            }
        }