Base solution for your next web application

Activities of "QuickApp"

Question

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi everyone, When I uncheck the "Lock Enabled" checkbox in the modal box of editing the relevant user in the Administration>Users menu, the account does not lock.

It ignores the "Lock the user's account on incorrect login attempts" section in the Administration>Settings>Security menu.

Is this the way it should be, or is it a logical error?

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi, Migration does not detect any changes even though I made the following change in Project.Core/MultiTenancy/Tenant.cs:

    [Required]
    
    [StringLength(MaxTenancyNameLength)]
    
    [MinLength(TenantConsts.MinNameLength)]
    
    public override string TenancyName { get; set; }
    

TenantConsts.MinNameLength= 3 MaxTenancyNameLength= 64

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi, I created a new tenant for testing purposes. When I tried to login with admin and password information, it threw me on the host screen on my first try. (The host login also uses the same username and password.) In my next attempts, it correctly directed me to the relevant tenant screen.

https://imgyukle.com/f/2021/11/23/k1Ul5c.png

Also, when I try a tenant name that does not exist (xx.site.com), I can log in with the host information. Shouldn't it redirect me to the main domain?

I sent more detailed information to [email protected] as an e-mail.

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi, A customer of ours had a problem with e-mail verification and we could not understand why.

The relevant log record is as follows:

2021-11-18 13:08:47,037 [43 ] Mvc.ExceptionHandling.AbpExceptionFilter - The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) at System.Convert.FromBase64String(String s) at Abp.Runtime.Security.SimpleStringCipher.Decrypt(String cipherText, String passPhrase, Byte[] salt, Nullable'1 keySize, Byte[] initVectorBytes) at QCloud.Authorization.Accounts.AccountAppService.ResolveTenantId(ResolveTenantIdInput input) in /home/ec2-user/workspace/QCloud/src/QCloud.Application/Authorization/Accounts/AccountAppService.cs:line 85 at lambda_method2984(Closure , Object , Object[] ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask'1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi, SubscriptionExpireEmailNotifierWorker class sends mail 10 days before the edition expires. But it sends the same e-mail 2 times with an interval of 1-2 hours.

I couldn't understand what the problem is, the codes are as follows:

using System;
using System.Diagnostics;
using Abp.Configuration;
using Abp.Dependency;
using Abp.Domain.Repositories;
using Abp.Threading;
using Abp.Threading.BackgroundWorkers;
using Abp.Threading.Timers;
using Abp.Timing;
using QCloud.Authorization.Users;
using QCloud.Configuration;

namespace QCloud.MultiTenancy
{
    public class SubscriptionExpireEmailNotifierWorker : PeriodicBackgroundWorkerBase, ISingletonDependency
    {
        private const int CheckPeriodAsMilliseconds = 1 * 60 * 60 * 1000 * 24; //1 day
        
        private readonly IRepository<Tenant> _tenantRepository;
        private readonly UserEmailer _userEmailer;

        public SubscriptionExpireEmailNotifierWorker(
            AbpTimer timer,
            IRepository<Tenant> tenantRepository,
            UserEmailer userEmailer) : base(timer)
        {
            _tenantRepository = tenantRepository;
            _userEmailer = userEmailer;

            Timer.Period = CheckPeriodAsMilliseconds;
            Timer.RunOnStart = true;

            LocalizationSourceName = QCloudConsts.LocalizationSourceName;
        }

        protected override void DoWork()
        {
            var subscriptionRemainingDayCount = Convert.ToInt32(SettingManager.GetSettingValueForApplication(AppSettings.TenantManagement.SubscriptionExpireNotifyDayCount));
            var dateToCheckRemainingDayCount = Clock.Now.AddDays(subscriptionRemainingDayCount).ToUniversalTime();

            var subscriptionExpiredTenants = _tenantRepository.GetAllList(
                tenant => tenant.SubscriptionEndDateUtc != null &&
                          tenant.SubscriptionEndDateUtc.Value.Date == dateToCheckRemainingDayCount.Date &&
                          tenant.IsActive &&
                          tenant.EditionId != null
            );

            foreach (var tenant in subscriptionExpiredTenants)
            {
                Debug.Assert(tenant.EditionId.HasValue);
                try
                {
                    AsyncHelper.RunSync(() => _userEmailer.TrialIsAboutToExpire(tenant.Id, dateToCheckRemainingDayCount,(int)tenant.EditionId));
                }
                catch (Exception exception)
                {
                    Logger.Error(exception.Message, exception);
                }
            }
        }
    }
}

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi everyone,

When logging in and logging out from Tenant's subdomain, a cookie named Abp.TenantId is written.

This then gives an error when logging into the host from the main domain or trying to create a new customer.

How should I find a solution for this situation?

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

I have jobs running on the 1st and 11th of every month. But other than these days, they work again every time IIS is restarted.

It's annoying as these jobs will perform critical tasks like billing and tenant locking.

What would you suggest me on this?

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

I want to show some content based on role in Angular. But I couldn't see any content other than permission in ASPNETZero documents.Can you help me with this?

Question

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi everyone, I added IsLock column to AbpTenants table. I want it to throw an error in API services if IsLock=true. How would you suggest I do this, considering best practices?

What is your product version? v10.2.0 What is your product type (Angular or MVC)? Angular What is product framework type (.net framework or .net core)? .Net Core

Hi everyone, I want to disable Paypal and Stripe methods and add bank transfer method. Tenant should be able to switch to any package they want without having to confirm the payment status.

Can you help me on how to do this?

Showing 1 to 10 of 21 entries