This commit is contained in:
2022-08-26 20:40:44 +00:00
parent 8fcee1f57b
commit c66a48b641
3 changed files with 49 additions and 6 deletions

View File

@@ -53,7 +53,7 @@ todo: IMPORTANT UPDATE manual, screenshots regarding Customer contact user and r
Also license related info about how to free up a user for licensing and how users consume licenses Also license related info about how to free up a user for licensing and how users consume licenses
todo: move the dbid to the very first position in the shareit order additional fields as only the first two will show in email and reporting todo: move the dbid to the very first position in the shareit order additional fields as only the first two will show in email and reporting
todo: register domain name myayanova.com for hanging subscriber servers off of todo: register domain name (not sure of domain yet for certain, kicking around "onayanova.com" or "myayanova.com" or "atayanova.com") for hanging subscriber servers off of
todo: update the test servers whichever are around, I've done my dev test.helloayanova.com, but should also do a261 and the eval ones todo: update the test servers whichever are around, I've done my dev test.helloayanova.com, but should also do a261 and the eval ones
@@ -61,6 +61,12 @@ todo: rockfish, need ability to add quantities to raven license options, once kn
move the blocks of customer users stuff back into options again where it belongs, did it wrong before move the blocks of customer users stuff back into options again where it belongs, did it wrong before
todo: research stuff below, then website stuff and move on todo: research stuff below, then website stuff and move on
REVISIT PRICING:
This is interesting
The HaveAByte AyaNova hosting rate is $15 per month per scheduleable user, with a minimum of $100/month. It doesnt matter which version youre on, which options you have, or add-ons you have purchased, which parts you use, or dont use. There is also a one-time setup fee of $299. Thats it!
I'm thinking of reducing the price, 50 seems way too high for most people, perhaps we too can do a minimum per month and lower the per user costs? Maybe more around the 25-30 dollar range??
L8ER >>>>>>>>>>>>>>>>>>>> L8ER >>>>>>>>>>>>>>>>>>>>

View File

@@ -20,7 +20,7 @@ namespace AyaNova.Util
/////////// CHANGE THIS ON NEW SCHEMA UPDATE //////////////////// /////////// CHANGE THIS ON NEW SCHEMA UPDATE ////////////////////
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImportingAsync WHEN NEW TABLES ADDED!!!! //!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImportingAsync WHEN NEW TABLES ADDED!!!!
private const int DESIRED_SCHEMA_LEVEL = 6; private const int DESIRED_SCHEMA_LEVEL = 7;
internal const long EXPECTED_COLUMN_COUNT = 1377; internal const long EXPECTED_COLUMN_COUNT = 1377;
internal const long EXPECTED_INDEX_COUNT = 161; internal const long EXPECTED_INDEX_COUNT = 161;
@@ -1523,7 +1523,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
await ExecQueryAsync("ALTER TABLE auser ADD column allowlogin BOOL"); await ExecQueryAsync("ALTER TABLE auser ADD column allowlogin BOOL");
await ExecQueryAsync("UPDATE auser SET allowlogin=true WHERE active=true"); await ExecQueryAsync("UPDATE auser SET allowlogin=true WHERE active=true");
//english translations //english translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'AllowLogin', 'Allow login' FROM atranslation t where t.baselanguage = 'en'"); await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'AllowLogin', 'Allow login' FROM atranslation t where t.baselanguage = 'en'");
@@ -1536,9 +1536,40 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
//german translations //german translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'AllowLogin', 'Login erlauben' FROM atranslation t where t.baselanguage = 'de'"); await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'AllowLogin', 'Login erlauben' FROM atranslation t where t.baselanguage = 'de'");
await SetSchemaLevelAsync(++currentSchema); await SetSchemaLevelAsync(++currentSchema);
} }
//////////////////////////////////////////////////
//
// 8.0.8 additions for license related display
//
if (currentSchema < 7)
{
LogUpdateMessage(log);
//english translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveTechUserCount', 'Active scheduleable Users' FROM atranslation t where t.baselanguage = 'en'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveCustomerContactUserCount', 'Active Customer Contact login Users' FROM atranslation t where t.baselanguage = 'en'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveInternalUserCount', 'Active internal Users' FROM atranslation t where t.baselanguage = 'en'");
//spanish translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveTechUserCount', 'Técnico de horario activo Usuarios' FROM atranslation t where t.baselanguage = 'es'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveCustomerContactUserCount', 'Usuarios de inicio de sesión de contacto de cliente activo' FROM atranslation t where t.baselanguage = 'es'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveInternalUserCount', 'Usuarios internos activos' FROM atranslation t where t.baselanguage = 'es'");
//french translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveTechUserCount', 'Utilisateurs planifiables actifs' FROM atranslation t where t.baselanguage = 'fr'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveCustomerContactUserCount', 'Utilisateurs de connexion de contact client actifs' FROM atranslation t where t.baselanguage = 'fr'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveInternalUserCount', 'Utilisateurs internes actifs' FROM atranslation t where t.baselanguage = 'fr'");
//german translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveTechUserCount', 'Aktive planbare Benutzer' FROM atranslation t where t.baselanguage = 'de'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveCustomerContactUserCount', 'Aktive Kundenkontakt-Login-Benutzer' FROM atranslation t where t.baselanguage = 'de'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ActiveInternalUserCount', 'Aktive interne Benutzer' FROM atranslation t where t.baselanguage = 'de'");
await SetSchemaLevelAsync(++currentSchema);
}
//######################################### //#########################################
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!! //!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!

View File

@@ -453,9 +453,15 @@ namespace AyaNova.Core
Feature = f.Feature, Feature = f.Feature,
Count = f.Count Count = f.Count
}, },
activeTechUserCount=AyaNova.Biz.UserBiz.ActiveTechUserCountAsync().Result, serverVersion = AyaNovaVersion.FullNameAndVersion,
activeCustomerContactUserCount=AyaNova.Biz.UserBiz.ActiveCustomerContactUserCountAsync().Result, #if (SUBSCRIPTION_BUILD)
activeInternalUserCount=AyaNova.Biz.UserBiz.ActiveInternalUserCountAsync().Result build = "Subscription",
#else
build = "Perpetual",
#endif
activeTechUserCount = AyaNova.Biz.UserBiz.ActiveTechUserCountAsync().Result,
activeCustomerContactUserCount = AyaNova.Biz.UserBiz.ActiveCustomerContactUserCountAsync().Result,
activeInternalUserCount = AyaNova.Biz.UserBiz.ActiveInternalUserCountAsync().Result
} }
}); });
return o; return o;