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)
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);