Base solution for your next web application

Activities of "statuscast"

Hi,

Is there any support for letting link their existing account to a Google account so they can begin logging in using Google even if they had previously created a local account with the same e-mail?

This is a common feature allowed by a lot of systems, and while it's something we can implement manually it seems like a good candidate for an out-of-the-box feature of AspNetZero if it's not already completed somewhere that I can't find?

thanks, jasen

Question

Hi all,

Once and for all, is the proper way to modify a theme by simply changing the metronic-custmize.less file?

Is there a task runner or specific command line I can run to make that happen manually? Right now I'm using the popular Web Compiler VS exention.

jasen

Using latest release ..

If I create a new entity and all the UI automatically with PowerTools, you can no longer run gulp build

It looks like some of the JS code generated by PowerTools uses ES but uglify doesn't like that.

I corrected by replacing uglify with uglify-es in the gulpfile, however I think this is probably something AZ should fix as your own code breaks it.

Hope this helps!

Question

If someone clicks their user activation link from the email twice, should they be presented with a friendly error screen? Right now the user is being shown an exception page:

http://localhost:62114/Account/EmailConfirmation?c=jzJ%2bHrkZMNCXzV9A49kgLao

An unhandled exception occurred while processing the request. UserFriendlyException: Invalid email confirmation code StatusCast.Authorization.Accounts.AccountAppService.ActivateEmail(ActivateEmailInput input) in AccountAppService.cs, line 166

Stack Query Cookies Headers UserFriendlyException: Invalid email confirmation code StatusCast.Authorization.Accounts.AccountAppService.ActivateEmail(ActivateEmailInput input) in AccountAppService.cs + user.IsEmailConfirmed = true; Abp.Threading.InternalAsyncHelper.AwaitTaskWithPostActionAndFinally(Task actualReturnValue, Func<Task> postAction, Action<Exception> finalAction) in InternalAsyncHelper.cs Abp.Threading.InternalAsyncHelper.AwaitTaskWithFinally(Task actualReturnValue, Action<Exception> finalAction) in InternalAsyncHelper.cs StatusCast.Web.Controllers.AccountController.EmailConfirmation(EmailConfirmationViewModel input) in AccountController.cs + await _accountAppService.ActivateEmail(input);

Question

Hi there,

Testing the RadBuilder tool on your latest build (MVC Core).

Seems to work pretty well until I click to edit an entity from the auto-generated page. We get an auto-mapper error. I had to add this to the generated AutoMaping code to get it to work:

MyEntity.CreateMap<CreateOrEditConnectionDto, Connection>().ReverseMap();

Without .ReverseMap() it won't work.

Also, side not, when I log in as host admin in a tenant based solution, the list of tenants isn't showing up. It's Tenant List screen is throwing a client side JS error:

app-layout-libs.min.js?v=g6gt-C76H3VvibVmf0J3u-xkk3mFZIjo_GrDDjkUkPM:4333 Uncaught TypeError: $.url is not a function at HTMLDocument.<anonymous> (tenant-index-libs.min.js?v=iHGpPK5vcmM9d0qfdGjS7owWMsHrVSY1uM3ccC7U9Gk:535) at mightThrow (app-layout-libs.min.js?v=g6gt-C76H3VvibVmf0J3u-xkk3mFZIjo_GrDDjkUkPM:4040) at process (app-layout-libs.min.js?v=g6gt-C76H3VvibVmf0J3u-xkk3mFZIjo_GrDDjkUkPM:4108)

Hi all --

One of the great things I've always appreciated with AspNetZero is that the entire framework compiles very clean, no warnings etc. It's been a while since I grabbed an updated version but it seems that this has changed. Are the following warning known? Are there plans to remedy?

` 1>------ Rebuild All started: Project: StatusCast.Core.Shared, Configuration: Debug Any CPU ------ 2>------ Rebuild All started: Project: StatusCast.Core, Configuration: Debug Any CPU ------ 3>------ Rebuild All started: Project: StatusCast.Application.Shared, Configuration: Debug Any CPU ------ 2>MultiTenancy\SubscriptionExpireEmailNotifierWorker.cs(52,21,52,113): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. 2>MultiTenancy\SubscriptionExpirationCheckWorker.cs(77,25,77,89): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. 2>MultiTenancy\SubscriptionExpirationCheckWorker.cs(97,13,97,98): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. 2>StatusCast.Core -> C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Core\bin\Debug\netcoreapp2.2\StatusCast.Core.dll 2>Done building project "StatusCast.Core.csproj". 4>------ Rebuild All started: Project: StatusCast.EntityFrameworkCore, Configuration: Debug Any CPU ------ 4>StatusCast.EntityFrameworkCore -> C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.EntityFrameworkCore\bin\Debug\netcoreapp2.2\StatusCast.EntityFrameworkCore.dll 5>------ Rebuild All started: Project: StatusCast.Migrator, Configuration: Debug Any CPU ------ 3>StatusCast.Application.Shared -> C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Application.Shared\bin\Debug\netstandard2.0\StatusCast.Application.Shared.dll 6>------ Rebuild All started: Project: StatusCast.Application, Configuration: Debug Any CPU ------ 7>------ Rebuild All started: Project: StatusCast.GraphQL, Configuration: Debug Any CPU ------ 8>------ Rebuild All started: Project: StatusCast.Application.Client, Configuration: Debug Any CPU ------ 9>------ Rebuild All started: Project: StatusCast.ConsoleApiClient, Configuration: Debug Any CPU ------ 8>C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Application.Client\StatusCast.Application.Client.csproj : warning NU1701: Package 'modernhttpclient 2.4.2' was restored using '.NETPortable,Version=v0.0,Profile=Profile259, .NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project. 9>Program.cs(41,31,41,46): warning CS0618: 'DiscoveryClient' is obsolete: 'This type will be deprecated or changed in a future version. It is recommended that you switch to the new extension methods for HttpClient. They give you much more control over the HttpClient lifetime and configuration. See the docs here: https://identitymodel.readthedocs.io' 9>Program.cs(47,39,47,50): warning CS0618: 'TokenClient' is obsolete: 'This type will be deprecated or changed in a future version. It is recommended that you switch to the new extension methods for HttpClient. They give you much more control over the HttpClient lifetime and configuration. See the docs here: https://identitymodel.readthedocs.io' 8>StatusCast.Application.Client -> C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Application.Client\bin\Debug\netstandard2.0\StatusCast.Application.Client.dll 8>Done building project "StatusCast.Application.Client.csproj". 10>------ Rebuild All started: Project: StatusCast.Mobile.Shared, Configuration: Debug Any CPU ------ 5>StatusCast.Migrator -> C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Migrator\bin\Debug\netcoreapp2.2\StatusCast.Migrator.dll 10>C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Mobile.Shared\StatusCast.Mobile.Shared.csproj : warning NU1701: Package 'Microsoft.Bcl 1.1.6' was restored using '.NETPortable,Version=v0.0,Profile=Profile259, .NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project. 10>C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Mobile.Shared\StatusCast.Mobile.Shared.csproj : warning NU1701: Package 'Microsoft.Bcl.Async 1.0.165' was restored using '.NETPortable,Version=v0.0,Profile=Profile259, .NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project. 10>C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Mobile.Shared\StatusCast.Mobile.Shared.csproj : warning NU1701: Package 'modernhttpclient 2.4.2' was restored using '.NETPortable,Version=v0.0,Profile=Profile259, .NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project. 10>C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Mobile.Shared\StatusCast.Mobile.Shared.csproj : warning NU1701: Package 'PCLStorage 1.0.2' was restored using '.NETPortable,Version=v0.0,Profile=Profile259, .NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project. 9>StatusCast.ConsoleApiClient -> C:\src\aspnetzero\StatusCast\aspnet-core\test\StatusCast.ConsoleApiClient\bin\Debug\netcoreapp2.2\StatusCast.ConsoleApiClient.dll 9>Done building project "StatusCast.ConsoleApiClient.csproj". 7>StatusCast.GraphQL -> C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.GraphQL\bin\Debug\netcoreapp2.2\StatusCast.GraphQL.dll 6>StatusCast.Application -> C:\src\aspnetzero\StatusCast\aspnet-core\src\StatusCast.Application\bin\Debug\netcoreapp2.2\StatusCast.Application.dll 11>------ Rebuild All started: Project: StatusCast.Web.Core, Configuration: Debug Any CPU ------ 12>------ Rebuild All started: Project: StatusCast.Test.Base, Configuration: Debug Any CPU ------ 10>C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2114,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "ImageCircle.Forms.Plugin.Abstractions". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. 10>Controls\HideableToolbarItem.cs(10,60,10,172): warning CS0618: 'BindableProperty.Create<TDeclarer, TPropertyType>(Expression<Func<TDeclarer, TPropertyType>>, TPropertyType, BindingMode, BindableProperty.ValidateValueDelegate

`

Question

Is there any significant reason why we can't change pretty much every class in all AspNetZero projects to PARTIAL classes? This would make preserving source files integrity during AspNetZero's frequent upgrade process much easier. That was we could extend services, entities, etc without having to modify your original source files or relying on inheritence. Simple and clean.

Hi all --

This issue has been ongoing with every release of AspNetZero since becoming a customer. The first thing i do when we grab a new version is to go update all Nuget Packages.

Everytime, without fail, we get this Hangfire issue. I'm not 100% sure why this is happening or not being fixed, but not being able to update Hangfire packages is a problem -- they are rapidly fixing and releasing major issues. I think somewhere in the project there's a hard coded version. Can we please get this fixed?

To reproduce, just install latest version in a new directory, load solution, and Update all nuget packages at the solution level.

Thanks!

Severity Code Description Project Path File Line Suppression State Error NU1107 Version conflict detected for Hangfire.Core. Install/reference Hangfire.Core 1.6.23 directly to project StatusCast.Web.Core to resolve this issue. StatusCast.Web.Core -> Hangfire.SqlServer 1.6.23 -> Hangfire.Core (= 1.6.23) StatusCast.Web.Core -> Abp.HangFire.AspNetCore 4.4.0 -> Hangfire.AspNetCore 1.6.22 -> Hangfire.Core (= 1.6.22). StatusCast.Web.Core C:\Users\jasen\Desktop\aspnetzero.latest\aspnet-core\src\StatusCast.Web.Core C:\Users\jasen\Desktop\aspnetzero.latest\aspnet-core\src\StatusCast.Web.Core\StatusCast.Web.Core.csproj 1 Error Package restore failed. Rolling back package changes for 'StatusCast.Web.Core'.

Hi,

I know the recommendation is to not use AbpSession information back within our Domain Services. I actually like that concept and can wrap my head around it. However, I'm curious what the recommendation is for implementing certain logic.

If I have an entity, say "OrganizationUnit" and I implement a DomainService to

a) retrieve a list of OrganiztionUnits b) filtered by only those entites that the current user is associated with c) store and manage the resulting filtered list within a redis cache (along with some other DomainService CRUD transactions)

something like "GetOrganizationUnitsForUser"

It's pretty obvious this type of work should not go into the ApplicationService as there is some low level caching going on and its a generic call that may be used by different applications. So, the method needs UserId. Is the recommendation to still stay away from using AbpSession in the domainService and simply pass filters (like UserId in this example)?

This is a VERY common problem in that we have lots of complicated queries that we want to filter based on roles, inclusion in organizationUnits, etc. They all require knowing something about who is querying them... but if we purposefully restrict access to AbpSession within our domain services, then we end up simply needing to pass properties in to the method, which is kind of the same thing.

I definitely don't want the domain services to always just be returning big unfiltered lists and rely on the ApplicationServices to always have to filter. That will result in a lot of redundant repository queries and allow for mistakes and forgettfulness in the AppService layer.

Curious as to the Abp/Az team's thoughts on this...

Hi,

I have been partially successful at getting Hangfire working within the XUnit tests. However, I am having one last (I hope) issue. I simply added the following to MyProjectTestModule.cs Preinitialize:

Configuration.BackgroundJobs.UseHangfire(); GlobalConfiguration.Configuration.UseSqlServerStorage(configuration["ConnectionStrings:Hangfire"]);

However, since the structure of the Xunit app does not provide a Configure startup mechanism, where do we put startup code:

                var options = new BackgroundJobServerOptions
                {
                    WorkerCount = Environment.ProcessorCount * threads,
                    Queues = queues,
                    ServerTimeout = new TimeSpan(0, 2, 0)
                };
                app.UseHangfireServer(options);
            
            

Thank you.

Showing 1 to 10 of 18 entries