diff --git a/Repositories/Resgrid.Repositories.DataRepository/IdentityRepository.cs b/Repositories/Resgrid.Repositories.DataRepository/IdentityRepository.cs index ba7feb50..2f5e9c56 100644 --- a/Repositories/Resgrid.Repositories.DataRepository/IdentityRepository.cs +++ b/Repositories/Resgrid.Repositories.DataRepository/IdentityRepository.cs @@ -143,7 +143,7 @@ public void AddUserToRole(string userId, string roleId) { using (IDbConnection db = new NpgsqlConnection(DataConfig.CoreConnectionString)) { - db.Execute($"INSERT INTO public.aspnetuserroles ([userid] ,[roleid]) VALUES (@userId, @roleId)", new { userId = userId, roleId = roleId }); + db.Execute($"INSERT INTO public.aspnetuserroles (\"userid\" ,\"roleid\") VALUES (@userId, @roleId)", new { userId = userId, roleId = roleId }); } } else @@ -161,8 +161,8 @@ public void InitUserExtInfo(string userId) { using (IDbConnection db = new NpgsqlConnection(DataConfig.CoreConnectionString)) { - db.Execute($"INSERT INTO public.aspnetusersext ([userid] ,[createdate] ,[lastactivitydate]) VALUES (@userId,@dateTimeNow,@dateTimeNow)", new { userId = userId, dateTimeNow = DateTime.UtcNow }); - db.Execute($"UPDATE public.aspnetusers SET emailconfirmed = 1 WHERE id = @userId", new { userId = userId }); + db.Execute($"INSERT INTO public.aspnetusersext (\"userid\" ,\"createdate\" ,\"lastactivitydate\") VALUES (@userId,@dateTimeNow,@dateTimeNow)", new { userId = userId, dateTimeNow = DateTime.UtcNow }); + db.Execute($"UPDATE public.aspnetusers SET emailconfirmed = true WHERE id = @userId", new { userId = userId }); } } else diff --git a/Repositories/Resgrid.Repositories.DataRepository/Queries/Common/InsertQuery.cs b/Repositories/Resgrid.Repositories.DataRepository/Queries/Common/InsertQuery.cs index 56b1faa9..084f4de6 100644 --- a/Repositories/Resgrid.Repositories.DataRepository/Queries/Common/InsertQuery.cs +++ b/Repositories/Resgrid.Repositories.DataRepository/Queries/Common/InsertQuery.cs @@ -23,7 +23,13 @@ public string GetQuery(TEntity entity) if (((IEntity)entity).IdType == 0) { ignoredProperties.Add(((IEntity)entity).IdName); - returnId = _sqlConfiguration.InsertGetReturnIdCommand; + + if (Config.DataConfig.DatabaseType == Config.DatabaseTypes.Postgres) + { + returnId = $" RETURNING {((IEntity)entity).IdName.ToLower()}"; + } + else + returnId = _sqlConfiguration.InsertGetReturnIdCommand; } var columns = entity.GetColumns(_sqlConfiguration, ignoreProperties: ignoredProperties); diff --git a/Repositories/Resgrid.Repositories.DataRepository/Servers/PostgreSql/PostgreSqlConfiguration.cs b/Repositories/Resgrid.Repositories.DataRepository/Servers/PostgreSql/PostgreSqlConfiguration.cs index 0016a8eb..869d5f30 100644 --- a/Repositories/Resgrid.Repositories.DataRepository/Servers/PostgreSql/PostgreSqlConfiguration.cs +++ b/Repositories/Resgrid.Repositories.DataRepository/Servers/PostgreSql/PostgreSqlConfiguration.cs @@ -24,8 +24,9 @@ public PostgreSqlConfiguration() SchemaName = "public"; TableColumnStartNotation = "\""; TableColumnEndNotation = "\""; - InsertGetReturnIdCommand = - "; SELECT lastval();"; // For Postgresql INSERT INTO persons (lastname,firstname) VALUES ('Smith', 'John') RETURNING id; https://stackoverflow.com/questions/2944297/postgresql-function-for-last-inserted-id/2944481 + //InsertGetReturnIdCommand = + // "; SELECT lastval();"; // For Postgresql INSERT INTO persons (lastname,firstname) VALUES ('Smith', 'John') RETURNING id; https://stackoverflow.com/questions/2944297/postgresql-function-for-last-inserted-id/2944481 + InsertGetReturnIdCommand = ""; QueryPrefix = DataConfig.QueryPrefix; #region Common Queries @@ -391,7 +392,7 @@ SELECT COUNT(*) FROM %SCHEMA%.%MESSAGESTABLE% m UpdateRoleQuery = "UPDATE %SCHEMA%.%TABLENAME% %SETVALUES% WHERE Id = %ID%"; SelectRoleByNameQuery = "SELECT * FROM %SCHEMA%.%TABLENAME% WHERE Name = %NAME%"; SelectRoleByIdQuery = "SELECT * FROM %SCHEMA%.%TABLENAME% WHERE Id = %ID%"; - InsertUserQuery = "INSERT INTO %SCHEMA%.%TABLENAME% %COLUMNS% OUTPUT INSERTED.Id VALUES(%VALUES%)"; + InsertUserQuery = "INSERT INTO %SCHEMA%.%TABLENAME% %COLUMNS% VALUES(%VALUES%) RETURNING id;"; DeleteUserQuery = "DELETE FROM %SCHEMA%.%TABLENAME% WHERE Id = %ID%"; UpdateUserQuery = "UPDATE %SCHEMA%.%TABLENAME% %SETVALUES% WHERE Id = %ID%"; SelectUserByUserNameQuery = diff --git a/Web/Resgrid.WebCore/Areas/User/Views/Subscription/Index.cshtml b/Web/Resgrid.WebCore/Areas/User/Views/Subscription/Index.cshtml index f2d26a65..59e1ca5d 100644 --- a/Web/Resgrid.WebCore/Areas/User/Views/Subscription/Index.cshtml +++ b/Web/Resgrid.WebCore/Areas/User/Views/Subscription/Index.cshtml @@ -483,7 +483,7 @@ const amount = slider == 1 ? val : $("#amount").val(); if (amount && amount > 10) { - const packs = amount / 10; + const packs = (amount / 10) - 1; // First 10 users are free. $.ajax({ url: resgrid.absoluteBaseUrl + '/User/Subscription/GetStripeSession?id=' + id + '&count=' + packs, @@ -652,7 +652,7 @@ ]; let finalCost = 0.0; - let remainingUsers = totalNumUsers / 10; + let remainingUsers = (totalNumUsers / 10) - 1; // First 10 users are free. let pricingTiers = isMonthly ? pricingTiersMonthly : pricingTiersYearly; for (let i = 0; i < pricingTiers.length; i++) { diff --git a/Web/Resgrid.WebCore/Areas/User/Views/Units/ViewEvents.cshtml b/Web/Resgrid.WebCore/Areas/User/Views/Units/ViewEvents.cshtml index 6e39fbc8..f8d9497d 100644 --- a/Web/Resgrid.WebCore/Areas/User/Views/Units/ViewEvents.cshtml +++ b/Web/Resgrid.WebCore/Areas/User/Views/Units/ViewEvents.cshtml @@ -97,6 +97,7 @@ diff --git a/Web/Resgrid.WebCore/wwwroot/js/app/internal/units/resgrid.units.viewevents.js b/Web/Resgrid.WebCore/wwwroot/js/app/internal/units/resgrid.units.viewevents.js index 9d46d79e..dcf1c29b 100644 --- a/Web/Resgrid.WebCore/wwwroot/js/app/internal/units/resgrid.units.viewevents.js +++ b/Web/Resgrid.WebCore/wwwroot/js/app/internal/units/resgrid.units.viewevents.js @@ -6,20 +6,10 @@ var resgrid; var viewevents; (function (viewevents) { $(document).ready(function () { - - - - - //var mapOptions = { - // center: new google.maps.LatLng(43, 16), - // zoom: 11, - // mapTypeId: google.maps.MapTypeId.ROADMAP - //}; - //map = new google.maps.Map(document.getElementById('eventsMap'), mapOptions); - viewevents.markers = []; viewevents.map = L.map('eventsMap').setView([centerLat, centerLon], 13); - L.tileLayer('https://api.maptiler.com/maps/streets/{z}/{x}/{y}.png?key=' + osmKey, { + + L.tileLayer(osmTileUrl, { attribution: '' }).addTo(viewevents.map);