Base solution for your next web application

Activities of "gterdem"

This seems to be related with your PowerShell version.

I didn't test but can you try something like this:

Set-Location $ngFolder
yarn
ng build --prod
Copy-Item (Join-Path $ngFolder "dist") (Join-Path $outputFolder "ng/") -Recurse
# New-Item -ItemType directory -Path (Join-Path $outputFolder "ng" "nginx.conf")
$ngPath = Join-Path $outputFolder "ng"
$ngWithConfigPath = Join-Path $ngPath "nginx.conf"
New-Item -ItemType directory -Path $ngWithConfigPath
Copy-Item (Join-Path $ngFolder "Dockerfile") (Join-Path $outputFolder "ng")

Can you try creating different uow scopes for updating each entity when updating multiple entities like:

public async Task DailySync()
    {
        try
        {
            var queryString = _queryManager.Single(x => x.QueryName == "GetDaily_OCRD").QueryString;

            hanaConnection.Open();
            HanaDataReader reader = null;
            HanaCommand data = new HanaCommand(queryString, hanaConnection);
            reader = data.ExecuteReader();
            List<BusinessPartnerMasterData> existingDataList = new List<BusinessPartnerMasterData>();
            existingDataList = _businessPartnerMasterData.GetAll().ToList();


            if (reader != null)
            {
                while (reader.Read())
                {
                    using (var unitOfWork = UnitOfWorkManager.Begin(TransactionScopeOption.RequiresNew)) // Moved scope to here
                    {
                        bool isNew = false;
                        BusinessPartnerMasterData existingData = existingDataList
                            .Where(x => x.Id == Convert.ToString(reader.GetValue("CardCode"))).FirstOrDefault();
                        if (existingData == null)
                        {
                            existingData = new BusinessPartnerMasterData();
                            isNew = true;
                        }

                        existingData.Id = Convert.ToString(reader.GetValue("CardCode"));
                        existingData.BusinessPartnerTypeId = Convert.ToString(reader.GetValue("CardType"));
                        existingData.CardCode = Convert.ToString(reader.GetValue("CardCode"));
                        existingData.CardName = Convert.ToString(reader.GetValue("CardName"));
                        existingData.IsActive =
                            Convert.ToString(reader.GetValue("validFor")) == "Y" ? true : false;

                        await _businessPartnerMasterData.InsertOrUpdateAndGetIdAsync(existingData);
                        await unitOfWork.CompleteAsync(); // Complete it
                    }
                }
            }
        }
        catch (System.Exception ex)
        {
            //TODO: Notification logic (TBC)
        }
    }

You can try storing tokens in session storage instead of local storage. That should invalidate your session.

Answer

APB.IO on swagger say "Unable to fatch" and no auth completed.

You are getting CORS error. You need to add swagger url to authentication server allowed CORS urls on appsettings.

Is this issue solved?

Instead of running you need to create the images first with docker-compose build command and then run it.

Share the backend logs please.

It is probably related with libgdiplus which is not a part of .net core runtime docker image. Just add it inside docker build process:

FROM base AS final
WORKDIR /app
COPY --from=publish /app .

RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev

ENTRYPOINT ["dotnet", "MyApplication.dll"]

Or you can check related asked question in stackoverflow: https://stackoverflow.com/questions/55889999/using-system-drawing-inside-docker

Also related issues: https://github.com/dotnet/runtime/issues/38702 https://github.com/dotnet/dotnet-docker/issues/618

Can you try injecting IUnitOfWorkManager and try using like: <br>

public override void Execute(int x)
{
	_logger.LogInformation(L("JobExecutionStarted", args: $"{nameof(SyncBusinessPartners)}"));

        using(var unitOfWork = _unitOfWorkManager.Begin())
        {
            foreach (var t in _tenantManager.Tenants)
	    {
		var admin = _userManager.FindByNameAsync("admin").Result;
	    }

	    _logger.LogInformation(L("JobExecutionFinished", args: nameof(DocumentDto)));

            unitOfWork.Complete();
        }	
}

Or put  using(var unitOfWork = _unitOfWorkManager.Begin()) inside foreach if you want separate UoW for each userManager operation.

I failed to see any ERR in your logs. Can you explain your scenario in details?

It seems you are trying to login to an Authorization Server/Identity Server (https://smartsuitewebhost.azurewebsites.net) from a different application. By selecting IsEnabled = true for IdentityServer in your application, it will not make auto-magically register your application to identityserver and connect to it.

You need to save your application (as a client) to identity server and make open-id configuration in startup module with enabled scopes for it.

Selecting IsEnabled = true for IdentityServer in application means that, application will act/host as authorization server (IdentityServer) as well. Open-id connection configurations of other applications still need to be done manually.

Let me know if I misread your scenario.

This seems related with your recent EfCore fluent api configuration. You may be seeding null or non-existing data for CampaignId of EntityDefinitions.ActivationCode table.

Following these docs for Configuring IdentityServer4 in asp .net zero but we cant getting any error or output also. Could you please provide sample project or conduct call for the issue.

Do you get error in development but can't find the problem? Or do you get erros in production? Do you run identityserver on container?

Can you give more details about your issue? What do you intent to do and what do you come across?

Showing 1 to 10 of 30 entries