コード例 #1
0
        public void Save <T>([JetBrains.Annotations.NotNull] T obj)
        {
            if (!IsThisInTransaction())
            {
                throw new FlaException("Saving without transaction");
            }

            Type t = obj.GetType();

            if (!_checkedTypes.Contains(t.FullName))
            {
                var propinfos = t.GetProperties();
                foreach (var propertyInfo in propinfos)
                {
                    if (!propertyInfo.CanWrite)
                    {
                        var hasIgnore = Attribute.IsDefined(propertyInfo, typeof(IgnoreAttribute));
                        if (!hasIgnore)
                        {
                            throw new FlaException("Readonly property found on " + t.FullName + ": " + propertyInfo.Name);
                        }
                    }
                }

                _checkedTypes.Add(t.FullName);
            }

            lock (Dblock) {
                _database.Save(obj);
            }
        }
コード例 #2
0
 /// <summary>
 /// Insert a single <c>Company</c> object.
 /// </summary>
 /// <param name="company"></param>
 public void Insert(Company company)
 {
     using (var conn = new NpgsqlConnection(dbAccess.connectionString))
     {
         using (var db = new NPoco.Database(conn))
         {
             db.Connection.Open();
             db.Save <CompanyDto>(CompanyDto.Translate(company));
             db.Connection.Close();
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// Insert a single <c>Device</c> object.
 /// </summary>
 /// <param name="device"></param>
 public void Insert(Device device)
 {
     using (var conn = new NpgsqlConnection(dbAccess.connectionString))
     {
         using (var db = new NPoco.Database(conn))
         {
             db.Connection.Open();
             db.Save <DeviceDto>(DeviceDto.Translate(device));
             db.Connection.Close();
         }
     }
 }
コード例 #4
0
 //----------------------------------------------------------------------------------------------------------------
 public void SaveBreachToDatabase()
 {
     db.Save <Breach>(this);
 }
コード例 #5
0
 //----------------------------------------------------------------------------------------------------------------
 public void SaveBreachedEmailToDatabase()
 {
     db.Save <Breached_Emails>(this);
 }