Hi,
If your entity implements IHasCreationTime, ABP automatically sets CreationTime to Clock.Now. See SetCreationAuditProperties method here <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/a7cc09f5b1541b8543b91c6e74134a06d09c6ea7/src/Abp.EntityFramework/EntityFramework/AbpDbContext.cs">https://github.com/aspnetboilerplate/as ... Context.cs</a>.
If you look at the Clock class in ABP(<a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/0762989fcd0493e8dc55a50a7443e891d1bffe1f/src/Abp/Timing/Clock.cs">https://github.com/aspnetboilerplate/as ... g/Clock.cs</a>), you will see
public static DateTime Now
{
get { return Provider.Now; }
}
So, if you change Clock.Provider with your implementation, you can achieve what you want.
I hope this helps.
Hi,
Please take a look at this topic Hi,
Please take a look at this topic <a class="postlink-local" href="http://forum.aspnetboilerplate.com/viewtopic.php?f=6&t=325&p=1053&hilit=utc#p1053">viewtopic.php?f=6&t=325&p=1053&hilit=utc#p1053</a>. And this issue on ABP <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/issues/40#issuecomment-92051308">https://github.com/aspnetboilerplate/as ... t-92051308</a>.
Basically you need to change Clock.Provider with your implementation of IClockProvider.. And this issue on ABP <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/issues/40#issuecomment-92051308">https://github.com/aspnetboilerplate/as ... t-92051308</a>.
Basically you need to change Clock.Provider with your implementation of IClockProvider.
Hi,
Don't you create your ApplicationService with dependency injection ? In that way, repositories will be created by dependency injection too.
Hello,
Yes, in this solution "John Doe" needs to register in all the Tenants that he is working for/with :).
Hi,
It should work as you expected. Can you share your FormLayout entity definition ?
Hi,
Sorry for my late response. I couldn't find a clean answer to your problem.
I have tried with log4net 1.2.10.0 and Hangfire.Core 1.5.3 and it works as expected.
Do you also have Hangfire.SqlServer nuget package installed ? Is your web module depends on "AbpHangfireModule" ?
Hi,
@DunconWilson, I have replied your answer here #895@e63dbf3a-45c1-43a1-8e59-d04e6ae96ab5.
If it does not cover all of your questions, lets continue from that topic.
@Paddyfink, You can use the same scenario but if you want users to login without specifying tenant, you have to change AccountController's Login code.
I hope this helps.
Hi,
We have implemented similar case in ASP.NET Zero. You can test it on <a class="postlink" href="http://demo.aspnetzero.com">http://demo.aspnetzero.com</a> or you can check the documentation <a class="postlink" href="http://aspnetzero.com/Documents/Development-Guide#linked-accounts">http://aspnetzero.com/Documents/Develop ... d-accounts</a>.
Basically, there must be one user for each tenant or host. You must link users to each other, using a database table.
For changing to another user, just logout current user and login target user.
I hope this helps.
Hi,
For the constants, i would do the localization on the client as well. Lets assume you have consts for status like 'NotStarted', 'InProgress' etc.
Add localization with key 'Const_Status_InProgress', and add a function to localize in helper.js like
app.localizeStatus = function (status) {
return app.localize('Const_Status_' + status);
};
use app.localizeStatus in the client.
I hope this works for you.
Hi,
Exposing enums to client is in the roadmap of ABP but it doesn't have a determined release date yet.
For now, you can define your enums on the client like this. (This code is taken from <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/pull/378">https://github.com/aspnetboilerplate/as ... e/pull/378</a>, thakns to jefftindall :))
abp.constant.status = {
notStarted: 0,
inProgress: 10,
draft: 20,
cancelled: 90,
completed: 100,
values: [
{ name: 'NotStarted', value: 0, localizedName: 'Enum_Status_NotStarted' },
{ name: 'InProgress', value: 10, localizedName: 'Enum_Status_InProgress' },
{ name: 'Draft', value: 20, localizedName: 'Enum_Status_Draft' },
{ name: 'Cancelled', value: 90, localizedName: 'Enum_Status_Cancelled' },
{ name: 'Completed', value: 100, localizedName: 'Enum_Status_Completed' }]
};
Then in the angular grid, you can find localized name using underscore like this,
var localizedStatusName = _.where(abp.constant.status.values, { value:0 }).localizedName;
I hope this helps.