Base solution for your next web application

Activities of "luizluan"

Works very well

public override  async void Initialize()
        {
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());

            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            await Configuration.IocManager.Resolve<IQuartzDomainManager>().ScheduleGeneral();
        }

Thanks :D

I need to start the quartz when I start the web site, I have two jobs one of them runs once a day and the other one every 6 hours.

The method that calls the Job is in an IDomainService, even if I take it from there I still need to resolve the dependencies.

public class QuartzDomainManager : IQuartzDomainManager
    {
        private readonly IQuartzScheduleJobManager _jobManager;
        private readonly IAbpQuartzConfiguration _quartzConfiguration;

        public QuartzDomainManager(IQuartzScheduleJobManager jobManager, IAbpQuartzConfiguration quartzConfiguration)
        {
            _jobManager = jobManager;
            _quartzConfiguration = quartzConfiguration;
        }
}

:|

Well I seem to have found the problem, since I have two open tabs, and I logout one, the system has several errors. But certain things work, exactly on two tables in my system. Both are as follows.

public abstract class PersonBase<TEntity, TPrimaryKey> : FullAuditedEntity<TPrimaryKey>
        where TEntity : class, IEntity<TPrimaryKey>
        where TPrimaryKey : struct

    {

        public const int MaxFirstNameLength = 50;
        public const int MaxLastNameLength = 50;
        public const int MaxMiddleNameLength = 150;

        [Required, MaxLength(MaxFirstNameLength)]
        public virtual string FirstName { get; set; }
        [Required, MaxLength(MaxLastNameLength)]
        public virtual string LastName { get; set; }
        [MaxLength(MaxMiddleNameLength)]
        public virtual string MiddleName { get; set; }
        [Required]
        public virtual DateTime BirthDate { get; set; }
        public virtual DateTime? DeathDate { get; set; }
        public virtual string OwnPersonCode { get; set; }
        [DefaultValue("/App/Main/images/faceless.jpeg")]
        public virtual string UrlPicture { get; set; }
}


 [Table("McTwPeople")]
    public class Person : PersonBase<Person, Guid>, IMustHaveTenant
    {
        public virtual SexType SexType { get; set; }
        public virtual SuffixType SuffixType { get; set; }
        public virtual EducationType EducationType { get; set; }
        public virtual MaritalType MaritalType { get; set; }
        public virtual RaceType RaceType { get; set; }
        public virtual ReligionType ReligionType { get; set; }
        public virtual int TenantId { get; set; }
        public Person()
        {
        }
    }

I have two tables like this, it seems that both give the same error, when the user is logged everything works perfectly, when the logout is done the gets in that table they start to bring data from other tenants.

The problem is not related to the time my team went wrong, I made several tests changing the time and date and it did not occur. It seems to be a bit random when the system loses the session, after leaving the browser with the site open for a long period.

I will do more tests and if I find out the cause I report here in this forum and github immediately.

up

My test team found this bug by accident, someone picked up a laptop that was stored and had a battery problem and tried to access the system.

My site uses digital certificate. When the user's computer time or date is incorrect, the system does not log in, so far so good, the problem is that sometimes the login works, most system functionality fails, and some queries bring other tenants' data. Is there any way to solve this easy. Or I will have to go by the hard way that would check the date of the client in javascript and compare with that of the server.

:mrgreen:

If someone has a transaction error while backing up, just add 'Enlist = false;' At the end of the string connection. :mrgreen:

Also I am not good with database scripts. My friend set the script for me.

I the script does the following: Database Backup Delete everything that is with the different Tenant

Then I did some extra scripts to clean tables that have no tenants.

After that I generate a bak and drop the temporary database, after that I have a backup only with the tenant data I passed as a parameter.

You can add the stored procedure to the migration file.

Happy End.

Showing 1 to 10 of 20 entries