Base solution for your next web application
Starts in:
01 DAYS
01 HRS
01 MIN
01 SEC

Activities of "fupanda"

I'm sorry for my late reply. Were having difficulties sending the project by email. We have been busy trying figuring it out. In de AccountController in the web project there is a method GetLoginResultAsync. The input to the methid is correct. But however, the _logInManager.LoginAsync is always returning with no success. The loginManager is the one from Assembly Abp.Zero, Version=2.0.1.0

private async Task<AbpLoginResult<Tenant, User>> GetLoginResultAsync(string usernameOrEmailAddress, string password, string tenancyName)
        {
            var loginResult = await _logInManager.LoginAsync(usernameOrEmailAddress, password, tenancyName);

            switch (loginResult.Result)
            {
                case AbpLoginResultType.Success:
                    return loginResult;
                default:
                    throw _abpLoginResultTypeHelper.CreateExceptionForFailedLoginAttempt(loginResult.Result, usernameOrEmailAddress, tenancyName);
            }
        }

We bought a AspNet Zero license. I was searching trough the sources code of ABP and zero on github and don't see the fields you mentioned on AbpUsers entity.

I also have to mention that a migration named "Added_Tenant_UI_Customization_Properties" is delivered within de zero 4.0.0 download, which is new in this version, but I don't see a migration for the AbpUsers table. I even created a new clean database and created all tables from scratch with the downloaded package.Even then I did not find the fields mentioned.

I also did a database compare old, new and saw no big differences.

I still think there is something missing.

Ok, but that means that other changes to the database are also not recognized. How do we know what database changes are made?

I also generated a new migration but the fields NormalizedUserName and NormalizedUserName do not show up. I actually can't find them anywhere.

Yes we use the default vs merge tool in combination with TFS

Thank you for your reply.

How do I know which fields are normalized in this version? Is there any documentation about that?

If there is a possibility to do it automatically I sure want to know. I always upgrade as follows: Assuming you have all checked in to source control (we use tfs)

  • Copy all files from the new version to your workspace, overwrite the existing files
  • Go to source control and compare and merge project files. To do this in an easy way, you have to unload the project from the solution.
  • When project files merged, the source control connection is also restored
  • You have to walk trough all files, but you will see in vs if you need to compare a file, because of the source control icon
  • In vs you have to check the "show all files" In solution explorer. In that way you will see if you missed files you have to add
  • When done, build your solutions and all new NuGet packages are downloaded. If not, you kan do in manually.
  • After that make a backup of your database and upgrade your database with package manager console. You may have to create a new migration.

It took me 3 hours to upgrade. But good testing is very hard and takes a lot of time.

Hopefully this will help you, good luck!

Thanks for the response, I think your right.

I ended up with the following code and this work fine, but is it the right way to do it?

[AbpAuthorize(AppPermissions.Pages_Tenant_Projects_Schedules_Edit)]
        protected virtual async Task UpdateProjectSchedules(CreateOrUpdateProjectScheduleInput input)
        {
            await _projectValidationManager.ValidateProjectDefaults(input.ProjectId);
            await _projectScheduleValidationManager.ValidateUpdateProjectSchedule(input);

            var existingProjectSchedule = await _scheduleRepository.GetAsync(input.Id.Value);
            existingProjectSchedule = Mapper.Map<CreateOrUpdateProjectScheduleInput, ProjectSchedules>(input, existingProjectSchedule);
        }

Hi,

Thank you for your reply. Getting the record first will work, but getting records before every update is an expensive database call. Especially when a lot of users use the application and do a lot of updates and it seems not really necsessary. I saw in debug mode that tenantId becomes 0 when doing the mapping, this is ok since it doen's know what value it should be. The strange thing is that it worked in an earlier release, and also it works with a create. Also in that case the tenantId becomes 0 when a mapping is done. Abp framework checks if it is empty or zero and adds the tenantid with the one from session.

We also have the same issue. We also using S1 from Azure. Warm up time is slow, after warmup it runs very well, but if de website is ide for about 1 min it is very slow again. I'm also curious if there is a tweak for this.

Hi Ismcagdas,

The problem still exists, but we solved it by setting the tenantId with the one from the session. But I don't think this is a nice solution. I think the tenantid is not set anymore in de abp filtering for updates. I just upgraded to the latest version 1.0.0

var projectDelivery = input.MapTo<ProjectDeliveries>();
            projectDelivery.TenantId = AbpSession.TenantId.Value;
            
            return await _deliveriesRepository.UpdateAsync(projectDelivery);
Showing 11 to 20 of 23 entries