void SaveInDatabase(User user) { var isNew = user.Id == 0; var query = new Query("session"); query.AddValue("name", user.Name); query.AddValue("idAdmin", user.IdAdmin); query.AddValue("idSuperAdmin", user.IdSuperAdmin); query.AddValue("idCustomer", user.IdCustomer); if(user.Tenant != null) { query.AddValue("tenant", user.Tenant.Name); } query.AddValue("culture", user.Culture.Name); query.AddValue("createdate", user.CreateDate); query.AddValue("items", Json.Serialize(user.Items)); if(isNew) { query.AddValue("sessionId", user.SessionId); query.DbOperation = DbOperation.Insert; } else { query.DbOperation = DbOperation.Update; query.WhereIsEqual("sessionId", user.SessionId); } if(this.persistent) { using(var orm = CreateOrm()) { orm.ExecuteNonQuery(query); if(isNew) { user.Id = Convert.ToInt32(orm.DbSession.LastInsertedId); } } } }