Base solution for your next web application

Activities of "kansoftware"

We have upgraded aspnetzero project version from 9.1.0 to 13.0.0. We are getting errors like KTUtil.ready is not a function and KTUtil.getById is not a function

Project Detail : Aspnetzero core + jquery

Please find the below attached images for reference :

Hi, Project Details: Asp.net core + jQuery

I am trying to upgrade project version from 9.1.0 to 13.0.0 and after this signalR is not working please check below error.

Hi,

Are there any warnings or exceptions in the browser console ?

Hi,

"brackets" in text means missing localization most of the time. Is it possible to access your app somehow to reproduce this problem ?

This is not a localization issue because when the page loads, the brackets are automatically removed. We cannot provide access to our application due to restricted settings. Can you provide a clue or any solution to this problem?

We are experiencing an issue when enabling search menu items from settings. Currently, while the page is loading, brackets [ ] are displayed. However, after the page fully loads, it automatically sets correctly.

Thanks

Hi @kansoftware

We contact with them via email but as I can see, this is the default behaviour of Metronic and I think most likely they will not offer a solution to this problem.

Any update related this issue?

Hi @kansoftware

We will report this issue to Metronic but I think grouping menu items and decreasing the main menu item number will be more user friendly.

Have you created a ticket on the Metronic support portal? If Yes, what is the expected time for a response?

We are upgrading our project from ASP.NET Zero 8 to 12.1 (Metronic V6 to V8). Currently, we are encountering issues with the main header menu. Upon increasing the number of menu items in the list, some items have become invisible, and the scrollbar is not visible to check the bottom menu items. Project Type: ASP .NET Core + jQuery.

Thanks

Currently our application is a multi tenant with single host database. But now we are switching to multi database i.e. tenant specific database. We use stored procedures, user defined functions, triggers, and so on in sql for our application.

I there a way I can manage this scripts for tenant database, so that I don't need do it manually in sql each time I create a new tenant. Also how can I maintain that for all tenant database whenever I create a new procedure.

Currently our application is a multi tenant with single host database. But now we are switching to multi database i.e. tenant specific database. We were using stored procedures to perform task. I have a StoredProcedureCalling.cs class. So my doubt is, what changes are required to be made in my StoredProcedureCalling.cs for multi-database so that during execution it will use the tenant specific database.

Below is the definition of StoredProcedureCalling.cs

using Abp.Data; using Abp.EntityFrameworkCore; using Microsoft.Data.SqlClient; using System.Data; using System.Data.Common; using CDP.EntityFrameworkCore.Repositories; using CDP.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using Abp.Domain.Entities; using System.Threading.Tasks;

namespace CDP.StoredProcedures { public class StoredProcedureCalling<TEntity, TPrimaryKey> : CDPRepositoryBase<TEntity, TPrimaryKey>, IStoredProcedureCalling<TEntity, TPrimaryKey> where TEntity : class, IEntity<TPrimaryKey> { private readonly IActiveTransactionProvider _transactionProvider;

    public StoredProcedureCalling(IDbContextProvider&lt;CDPDbContext&gt; dbContextProvider, IActiveTransactionProvider transactionProvider)
        : base(dbContextProvider)
    {
        _transactionProvider = transactionProvider;
    }

    public DbCommand CreateCommand(string commandText, CommandType commandType, params SqlParameter[] parameters)
    {
        var command = Context.Database.GetDbConnection().CreateCommand();

        command.CommandText = commandText;
        command.CommandType = commandType;
        command.Transaction = GetActiveTransaction();

        foreach (var parameter in parameters)
        {
            command.Parameters.Add(parameter);
        }

        return command;
    }

    public void EnsureConnectionOpen()
    {
        var connection = Context.Database.GetDbConnection();

        if (connection.State != ConnectionState.Open)
        {
            connection.Open();
        }
    }

    public DbTransaction GetActiveTransaction()
    {
        return (DbTransaction)_transactionProvider.GetActiveTransaction(new ActiveTransactionProviderArgs
        {
            {"ContextType", typeof(CDPDbContext) },
            {"MultiTenancySide", MultiTenancySide }
        });
    }

}

}

And I have ActionItemAppService where I am calling the procedure

public class ActionItemsAppService : CDPAppServiceBase, IActionItemsAppService { private readonly IStoredProcedureCalling<Tenant, int> _storedProcedureCalling; public ActionItemsAppService(IDbContextProvider<CDPDbContext> dbContextProvider,IActiveTransactionProvider transactionProvider) { _storedProcedureCalling = new StoredProcedureCalling<Tenant, int>(dbContextProvider, transactionProvider); }

 public async Task&lt;List&lt;GetActionItemsForViewDto&gt;> GetAllActionItemsList(GetAllActionItemsInput input)
    {

        List&lt;GetActionItemsForViewDto&gt; ActionItemList = new List&lt;GetActionItemsForViewDto&gt;();

        _storedProcedureCalling.EnsureConnectionOpen();
        List&lt;IDataRecord&gt; outputPostDataReader = new List&lt;IDataRecord&gt;();

        SqlParameter[] parameters = new SqlParameter[]
        {
             new SqlParameter(){ Direction=ParameterDirection.Input, SqlDbType =SqlDbType.BigInt,ParameterName="@TenantID",Value=AbpSession.TenantId},
         };

        try
        {

            using (var command = _storedProcedureCalling.CreateCommand("GetAllActionItems", CommandType.StoredProcedure, parameters))
            {
                using (var dataReader = await command.ExecuteReaderAsync())
                {
                    if (dataReader.HasRows)
                    {
                        outputPostDataReader = dataReader.Cast&lt;IDataRecord&gt;().ToList();
                    }

                }

                foreach (var user in outputPostDataReader)
                {
                    var ActionItem = new GetActionItemsForViewDto
                    {
                        Id = user.GetInt64(user.GetOrdinal("Id")),
                        Title = user.GetString(user.GetOrdinal("Title")),
                    };
                    ActionItemList.Add(ActionItem);
                }

            }
        }
        catch (Exception ex)
        {
            throw new UserFriendlyException(ex.Message + " " + ex.StackTrace);
        }

        return ActionItemList;
    }

}

Showing 11 to 20 of 166 entries