Base solution for your next web application

Activities of "demo.solaru"

I have sent several messages now and getting no response. We had a problem with buying your (discounted) product for our use as the payment gateway did not work ($999). I cant fathim why because we bought using the same Amex account in the past. Apprently this happened for others also. PLEASE GET IN TOUCH so that we can get the product and move on. If I had a phone number to call, I would call by now.
Thanks for your cooperation...

Demo Solaru +1216 978 2345 [email protected]

Prerequisites

Please answer the following questions before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • What is your product version?
  • What is your product type (Angular or MVC)?
  • What is product framework type (.net framework or .net core)?

If issue related with ABP Framework

  • What is ABP Framework version?

If issue is about UI

  • Which theme are you using?
  • What are the theme settings?
  • What is your product version? -- ASP NET ZERO 7.0.0
  • What is your product type (Angular or MVC)? -- Angular
  • What is product framework type (.net framework or .net core)? -- .Net Core

We have application running on prodcution environment and it was almost one and half month since last release, and all of sudden all calls to API started throwing following:

System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.Collections.Generic.Dictionary2.Initialize(Int32 capacity) at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at Abp.Web.Configuration.AbpUserConfigurationBuilder.GetUserLocalizationConfig() at Abp.Web.Configuration.AbpUserConfigurationBuilder.GetAll() at Abp.AspNetCore.Mvc.Controllers.AbpUserConfigurationController.GetAll() at lambda_method(Closure , Object ) at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult() at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()

Not sure what happened: but after restarting application on azure everything is working fine. Is there any way to find out root cuase for this problem ?

Hello @musa.demir,

After overriding SetModificationAuditProperties and GetAuditUserId functions its working fine and setting the correct modified properties. Thank you!

.Net Core 2.2 ASPNetZero 7.0.0

In our application one user from one tenant account can request something other tenant account and second tenant can approve something: so when SaveChanges is called for record which was created by tenant 1 updated by tenant 2 system is not saving lastmodifieduserid: for this I have override the function of GetAuditUserId in DbContext file but still its not saving modified user's Id.

Is there anything that I am doing wrong here?

protected override long? GetAuditUserId()
{
    if (AbpSession.UserId.HasValue &&
        CurrentUnitOfWorkProvider != null &&
        CurrentUnitOfWorkProvider.Current != null)
    {
        return AbpSession.UserId;
    }

    return null;
}

Hi @musa.demir,

Becuase of codebase security I won't be able to share the content but we can connect over zoom call or team viewer.

  • What is your product version? AspNetZero 7.0.0
  • What is your product type (Angular or MVC)? Angular
  • What is product framework type (.net framework or .net core)? .Net Core 2.2

When tenant is registered its been assigned to specific edition and based on that admin role has all granted feature's permissions automatically granted. Issue: When tenant is registered and logged in and if GetRoleForEdit is called it only give specific granted permissions(please see response after_registration_response.json) but after clearing cache(as host admin) and then call same api it gives all proper and correct granted permissions(please see after_registration_clearing_all_cache_response.json).

I already tried clearing cache after registration but its still gives same response. Not sure, what is wrong, any help would be appreciated. Thanks!

after_registration_response.json

{
  "result": {
    "role": {
      "id": 1091,
      "displayName": "Admin",
      "isDefault": false
    },
    "permissions": [
      "..."
    ],
    "grantedPermissionNames": [
      "Pages",
      "Pages.Administration",
      "Pages.Administration.Roles",
      "Pages.Administration.Roles.Create",
      "Pages.Administration.Roles.Edit",
      "Pages.Administration.Roles.Delete",
      "Pages.Administration.Users",
      "Pages.Administration.Users.Create",
      "Pages.Administration.Users.Edit",
      "Pages.Administration.Users.Delete",
      "Pages.Administration.Users.ChangePermissions"
    ]
  },
  "targetUrl": null,
  "success": true,
  "error": null,
  "unAuthorizedRequest": false,
  "__abp": true
}

after_registration_clearing_all_cache_response.json

{
  "result": {
    "role": {
      "id": 1091,
      "displayName": "Admin",
      "isDefault": false
    },
    "permissions": [
		"..."
    ],
    "grantedPermissionNames": [
      "Pages",
      "Pages.Administration",
      "Pages.Administration.Roles",
      "Pages.Administration.Roles.Create",
      "Pages.Administration.Roles.Edit",
      "Pages.Administration.Roles.Delete",
      "Pages.Administration.Users",
      "Pages.Administration.Users.Create",
      "Pages.Administration.Users.Edit",
      "Pages.Administration.Users.Delete",
      "Pages.Administration.Users.ChangePermissions",
      "Pages.Administration.AccountSetup",
      "Pages.Administration.AccountSetup.GeneralSettings",
      "Pages.Administration.AccountSetup.GLFormats",
      "Pages.Administration.AccountSetup.GLFormats.Create",
      "Pages.Administration.AccountSetup.GLFormats.Edit",
      "Pages.Administration.AccountSetup.GLFormats.Delete",
      "Pages.Administration.AccountSetup.RequireDocuments",
      "Pages.Administration.AccountSetup.RequireDocuments.Create",
      "Pages.Administration.AccountSetup.RequireDocuments.Edit",
      "Pages.Administration.AccountSetup.RequireDocuments.Delete",
      "Pages.Administration.AccountSetup.ReviewApproverGroups",
      "Pages.Administration.AccountSetup.ReviewApproverGroups.Create",
      "Pages.Administration.AccountSetup.ReviewApproverGroups.Edit",
      "Pages.Administration.AccountSetup.ReviewApproverGroups.Delete",
      "Pages.Administration.Tenant.Settings",
      "Pages.Administration.Tenant.Settings.General",
      "Pages.Administration.Tenant.Settings.InvoiceBillingInfo",
      "Pages.Administration.Tenant.SubscriptionManagement",
      "Pages.Tenant.Dashboard",
      "Pages.Tenant.Control",
      "Pages.Tenant.Control.Fund",
      "Pages.Tenant.Control.Fund.Create",
      "Pages.Tenant.Control.Fund.Edit",
      "Pages.Tenant.Control.Fund.Delete",
      "Pages.Tenant.Control.Fund.View",
      "Pages.Tenant.Control.ServiceTracking",
      "Pages.Tenant.Control.ServiceTracking.Create",
      "Pages.Tenant.Control.ServiceTracking.Edit",
      "Pages.Tenant.Control.ServiceTracking.Delete",
      "Pages.Tenant.Control.ServiceTracking.View",
      "Pages.Tenant.Control.ProgramTracking",
      "Pages.Tenant.Control.ProgramTracking.Create",
      "Pages.Tenant.Control.ProgramTracking.Edit",
      "Pages.Tenant.Control.ProgramTracking.Delete",
      "Pages.Tenant.Control.ProgramTracking.View",
      "Pages.Tenant.Control.GoalTracking",
      "Pages.Tenant.Control.GoalTracking.Create",
      "Pages.Tenant.Control.GoalTracking.Edit",
      "Pages.Tenant.Control.GoalTracking.Delete",
      "Pages.Tenant.Control.GoalTracking.View",
      "Pages.Tenant.Contract",
      "Pages.Tenant.Contract.Contracts",
      "Pages.Tenant.Contract.Contracts.Create",
      "Pages.Tenant.Contract.Contracts.Edit",
      "Pages.Tenant.Contract.Contracts.Delete",
      "Pages.Tenant.Contract.ContractorList",
      "Pages.Tenant.Contract.ContractorList.Invite",
      "Pages.Tenant.Contract.ContractDocuments",
      "Pages.Tenant.Contract.ContractDocuments.Create",
      "Pages.Tenant.Contract.ContractDocuments.Edit",
      "Pages.Tenant.Contract.ContractDocuments.Delete",
      "Pages.Tenant.Contract.ContractDocuments.View",
      "Pages.Tenant.Approval",
      "Pages.Tenant.Approval.ReviewInvoice",
      "Pages.Tenant.Approval.ApproveInvoice",
      "Pages.Tenant.Approval.AuthorizeService",
      "Pages.Tenant.Approval.AuthorizeService.Create",
      "Pages.Tenant.Approval.AuthorizeService.Edit",
      "Pages.Tenant.Approval.AuthorizeService.Delete",
      "Pages.Tenant.Approval.AuthorizeService.View",
      "Pages.Tenant.Approval.AuthorizeService.Process",
      "Pages.Tenant.Invoicing",
      "Pages.Tenant.Invoicing.ReportExpensesCharges",
      "Pages.Tenant.Invoicing.ChargeHistory",
      "Pages.Tenant.Invoicing.InvoiceDocuments",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Create",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Edit",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Delete",
      "Pages.Tenant.Invoicing.InvoiceDocuments.View",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Process",
      "Pages.Tenant.Invoicing.Invoice",
      "Pages.Tenant.Invoicing.Invoice.Create",
      "Pages.Tenant.Invoicing.Invoice.Edit",
      "Pages.Tenant.Invoicing.Invoice.Delete",
      "Pages.Tenant.Invoicing.Invoice.View",
      "Pages.Tenant.Invoicing.RequestAuthorization",
      "Pages.Tenant.Invoicing.RequestAuthorization.Create",
      "Pages.Tenant.Invoicing.RequestAuthorization.Edit",
      "Pages.Tenant.Invoicing.RequestAuthorization.Delete",
      "Pages.Tenant.Invoicing.RequestAuthorization.View",
      "Pages.Tenant.Reports",
      "Pages.Tenant.Reports.Contracts"
    ]
  },
  "targetUrl": null,
  "success": true,
  "error": null,
  "unAuthorizedRequest": false,
  "__abp": true
}

ASPNETZERO 7.0.0, Angular, .Net Code

Question(this is not a issue ticket): We are trying to implement IP validation on each request, and wanted to know how I can extend the Authorization so validate each request based on our business logic. I thought of implementaing when they login, but as we have SPA: once user login and change their IP address and now they can access application from IP restrictrictions.

Any help would be appriciated. Thanks!

Yes, please find attached!

Edited: URL removed due to sensitive data protection

Hello @ismcagdas!

Here is how I am trying to implement: error is being catched when exception occurs but still end up being in "message": "An internal error occurred during your request!",

`public async Task

        await CurrentUnitOfWork.SaveChangesAsync();

        if (input.SaveAndSubmit)
            await SubmitInvoice(invoiceId);
    }
    catch (Exception ex)
    {
        if (ex is AbpDbConcurrencyException)
        {
            var inv = await _invoiceRepo.FirstOrDefaultAsync(i => i.InvoiceNumber.ToLower().Equals(input.InvoiceNumber.ToLower()));
            if (inv != null)
                return inv.Id; // Here it returns the value but it throws the error instead of returning the invoiceId
            throw ex;
        }
        else
            throw ex;
    }
    return invoiceId;

}`

Response { "result": null, "targetUrl": null, "success": false, "error": { "code": 0, "message": "An internal error occurred during your request!", "details": null, "validationErrors": null }, "unAuthorizedRequest": false, "__abp": true }

Here actual response should be end up being returning InvoiceId.

Hello @ismcagdas

We tried implementing it but because of async transaction (I guess, but not sure) its not working as expcated ... Is there anything we can check in with current unit of work in term of concurrent transactions?

Showing 11 to 20 of 42 entries