Starts in:
2 DAYS
6 HRS
52 MIN
8 SEC
Starts in:
2 D
6 H
52 M
8 S

Activities of "cleverplatform"

I'm checking your demo application Acme.BookStore - in Acme.BookStore.Web -

  1. the modal is prepared as razor page Pages/Books/CreateModal with get / post method where is:

public async Task<IActionResult> OnPostAsync() { await _bookAppService.CreateAsync(ObjectMapper.Map<CreateBookViewModel, CreateUpdateBookDto>(Book)); return NoContent(); } 2. in index.js I see createModal.onResult method where is only grid refresh.

createModal.onResult(function () { dataTable.ajax.reload(); });

  1. I want to send created entity Id into onResult js method, but im not sure how to set it even I try it:
  • send json object from OnPostSAsync which looks: new JsonResult(new { CategoryId = item.Id } )
  • createModal.setResult and createModal is defined as global
  • but still I don't know how to access it, because when onPost method ended I need to set setResult property but not sure where

I expected to use "UnobtrusiveJavaScript" approach to return JSON from Post into onSuccess jabvascript method, but it is not fired, even I rewrite Ajax.BeginForm into .net COre version (per source: https://www.aspsnippets.com/Articles/AjaxBeginForm-OnSuccess-not-firing-in-ASPNet-MVC.aspx)

<form class="layui-form" asp-action="CategoryAdd" data-ajax-success="onSuccess" data-ajax="true" data-ajax-method="POST"></form> (per https://dotnetthoughts.net/jquery-unobtrusive-ajax-helpers-in-aspnet-core/)

thanks

Hi - no - im not using one shared database for all tenants erik

Hi not sure if you have any progress with this issue but i found possible solution by using this fragment in "XXXDbContextModelCreatingExtensions.cs"

    builder.Entity<TenantConnectionString>().HasKey(lc => new { lc.TenantId, lc.Name});
    

could you pls. confirm if that is posible solution? or it is an issue on framework side, or should I set something differently.

thanks, let me know Erik

Hi, here are details - also i simulated it again today with a new version CLI 4.2.2, putting again detailed steps:

  1. CMD: abp new BookStore

  2. open solution BookStore.sln in VS -> rebuild -> run BookStore.DbMigrator - all ok - initial migration has been created + database created in SQL server (SQL Server 2014)

  3. created Book entity in domain + add into db.context + add additional information into BookStoreDbContextModelCreatingExtensions about book entity + created BookSeed (all changes in code i put below) :

    • Book Class: public class Book : FullAuditedAggregateRoot<Guid>, IMultiTenant { public Guid? TenantId { get; set; } [CanBeNull] public Tenant Tenant { get; set; } public string StoreName { get; set; } [Column(TypeName = "nvarchar(4000)")] public string Description { get; set; } [Column(TypeName = "nvarchar(MAX)")] public string Html { get; set; } protected Book() { } public Book(string storeName, Guid? tenantId) { StoreName = storeName; TenantId = tenantId; } }

    • added in BookStoreDbContext.cs: public DbSet<Book> Books { get; set; }

    • BookStoreConsts: public static class BookStoreConsts { public const string DbTablePrefix = "App"; public const string DbSchema = "bookstore"; }

    • added in BookStoreDbContextModelCreatingExtensions.cs builder.Entity<Book>(b => { b.ToTable(BookStoreConsts.DbTablePrefix + "Books", BookStoreConsts.DbSchema); b.ConfigureByConvention(); });

    • BooksSeed in Domain: public class BooksSeed : IDataSeedContributor,ITransientDependency { private readonly IRepository<Book, Guid> _bookRepository; public BooksSeed(IRepository<Book, Guid> bookRepository) { _bookRepository = bookRepository; } public async Task SeedAsync(DataSeedContext context) { if (await _bookRepository.GetCountAsync() <= 0) { //await _bookRepository.InsertAsync(new Book("book_name", null), autoSave: true); } } } )

  4. add migration using -> Add-Migration "books" + Update-Database - migration applied succesfully in migration folder and also into database

  5. run BookStore.DbMigrator - for applying a new BookSeed -> error occured:

System.InvalidOperationException: 'The entity type 'TenantConnectionString' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.'

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

  • ABP Framework version: v4.2.1

  • UI type: MVC

  • DB provider: EF Core

  • Tiered (MVC) or Identity Server Separated (Angular): no

  • Exception message and stack trace:

  • System.InvalidOperationException: 'The entity type 'TenantConnectionString' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.'

  • This exception was originally thrown at this call stack: [External Code] XXX.XXXSeed.SeedAsync(Volo.Abp.Data.DataSeedContext) in XXXSeed.cs [External Code] XXX.Data.ShopSplitterDbMigrationService.SeedDataAsync(Volo.Saas.Tenants.Tenant) in XXXDbMigrationService.cs [External Code] XXXData.XXXDbMigrationService.MigrateAsync() in XXXDbMigrationService.cs [External Code] XXX.DbMigrator.DbMigratorHostedService.StartAsync(System.Threading.CancellationToken) in DbMigratorHostedService.cs [External Code] ShopSplitter.DbMigrator.Program.Main(string[]) in Program.cs ... [Call Stack Truncated]

  • Steps to reproduce the issue:

  • create project with "abp new XXX"

  • build solution in VS and execute XXX.DBMigration - initial migration were created

  • run solution / login / logout /close app

  • in solution create a new entity "Book" and create add-migration and update-database - new entity was added into Migration and into database

  • create seed for a new entity "Book" in Domain project and have only this code public async Task SeedAsync(DataSeedContext context) { using (_currentTenant.Change(context?.TenantId)) { if (await _bookRepository.GetCountAsync() > 0) { return; } } }

  • run XXX.DBMigration and on method _bookRepository.GetCountAsync is logged error: System.InvalidOperationException: 'The entity type 'TenantConnectionString' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.'

Could you investigate that - I simulated that 3 times in separated project from scratch thanks Erik

Hello, I want to ask you how create records in Filemagement Module in FmDirectoryDescriptors table by accepting Multi-tenancy from application code.

from application code Im calling: _directoryDescriptorAppService.CreateAsync(new CreateDirectoryInput() { Name = project.Name, ParentId = rootId })

,but im not sure how to define/populate tenant id even that this attribure already exists in FmDirectoryDescriptors table.

in database this property is not populate when I created folder under tenant, like on picture below

also when im trying to create a new filemanagement directory from UI on FileManagement UI - folder is created but TenantID is not populated.

did I miss anything in confguration of this module?

thanks

  • ABP Framework version: v3.0.5
  • UI type: MVC
  • Tiered (MVC) or Identity Server Seperated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:

I solved using this module by myself.

Correct instructions should be in your documentation:

  1. if you want to use FileManagement you MUST install Blob Storing per documentation
  2. if you are using VS2019 you can install npm modules by right clicking on package.json file and choose 'Restore Packages'

Core of problem was that Blob Storing system has not been activated for solution.

Hallo,

I know where the documentation is located (even your link doesn't working). I have read it few times. there is no information about issues I got.

This support doesn't solve my problem! Are you sure that link above solve situation in FIleManagement module? there are no sections about 'errors', etc.

Where I could see a functional example using this module ?

Hi could you navigate me how to get logs ? - did you mean logs from abp suite or another specific detailed logs related to error?

As I said I added missing files manually, UI displayed content but when I clicked on any action on component errors are occured. Im not able to validate source code.

It will be really nice for these commercial modules (specially when you didn't activate them in some default template) to prepare separated samples specially when there can be specific issues and specific step. That save time on both sides.Otherwise I don't think any additional value why I bough commercial licence when I need to re-write whole existing module (FileManagement in that case)

Let me know

Hi, I implemented as you suggested, UI of File Management has been displayed, but nothing was working on fronend and there was js errors loged in browsers console. Did I missed anything? I read whole documentation to this, no other setting I found

Is here anybody for who this module is working? I expected that this simple module should be pretty straight forward to test your framework,

Could you pls. navigate me to right direction? could you pls. prepare sample for this module? It will be really helpull even for another commercial modules which aren't included in startup template and we can avoid situation that something is necessary to execute manually or set diferently

thanks

Showing 21 to 30 of 32 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 20, 2024, 13:06