public ScheduleSettingsDependingFactory( IRuleHandlerSettingsFactory decoratee , TypiconDBContext dbContext) { _decoratee = decoratee ?? throw new ArgumentNullException(nameof(decoratee)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); }
public ApproveTypiconClaimJobHandler( TypiconDBContext dbContext , IJobRepository jobs ) : base(jobs) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); }
public CalculateModifiedYearJobHandler(TypiconDBContext dbContext , [NotNull] IRuleHandlerSettingsFactory settingsFactory, IJobRepository jobs) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _settingsFactory = settingsFactory ?? throw new ArgumentNullException(nameof(settingsFactory)); _jobs = jobs ?? throw new ArgumentNullException(nameof(jobs)); }
public OutputDayQueryHandler(TypiconDBContext dbContext , IQueryProcessor queryProcessor , IJobRepository jobs) : base(dbContext, queryProcessor) { _jobs = jobs ?? throw new ArgumentNullException(nameof(jobs)); }
//[Test] //public void OutputForms_Get() //{ // var dbContext = TypiconDbContextFactory.Create(); // var outputForms = OutputFormsFactory.Create(dbContext); // DeleteAllOutputDays(dbContext, TYPICON_ID); // Result<LocalizedOutputDay> task = outputForms.GetDay(TYPICON_ID, new DateTime(2020, 1, 1), "cs-ru"); // Assert.IsTrue(task.Failure); //} private void DeleteAllOutputDays(TypiconDBContext dbContext, int typiconId) { var forms = dbContext.Set <OutputDay>().Where(c => c.TypiconId == typiconId); dbContext.Set <OutputDay>().RemoveRange(forms); dbContext.SaveChanges(); }
public ValidateJobHandlerBase(TypiconDBContext dbContext , IJobRepository jobs , IRuleSerializerRoot serializer) { DbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); Jobs = jobs ?? throw new ArgumentNullException(nameof(jobs)); Serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); }
/// <summary> /// Возвращает все непереходящие праздники /// </summary> /// <param name="dbContext"></param> /// <param name="typiconVersionId"></param> /// <returns></returns> public static IEnumerable <MenologyRule> GetAllModMenologyRules(this TypiconDBContext dbContext, int typiconVersionId) { return(dbContext.Set <MenologyRule>() .Where(c => c.TypiconVersionId == typiconVersionId && c.ModRuleDefinition != string.Empty) .ToList() .Where(c => !c.LeapDate.IsEmpty)); }
/// <summary> /// Возвращает указанную версию Устава (опубликованную или черновик). /// </summary> /// <param name="typiconVersionId"></param> /// <returns></returns> public static Result <TypiconVersion> GetTypiconVersion(this TypiconDBContext dbContext, int typiconId) { var version = dbContext.Set <TypiconVersion>().FirstOrDefault(c => c.TypiconId == typiconId); return((version != null) ? Result.Ok(version) : Result.Fail <TypiconVersion>("Указанный Устав либо не существует, либо не существует его опубликованная версия.")); }
public NonexistedOutputDayFactory(TypiconDBContext dbContext , IScheduleDataCalculator dataCalculator , IScheduleDayNameComposer nameComposer , ITypiconSerializer typiconSerializer , ScheduleHandler handler) : base(dataCalculator, nameComposer, typiconSerializer, handler) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); }
public TypiconXmlImportManager(IProjector <TypiconVersionProjection, TypiconEntity> projector , TypiconDBContext dbContext , ITypiconSerializer serializer) { _projector = projector ?? throw new ArgumentNullException(nameof(projector)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); }
public static bool IsModifiedYearExists(this TypiconDBContext dbContext, int typiconVersionId, int year) { lock (dbContext) { return(dbContext.Set <ModifiedYear>().Any(c => c.TypiconVersionId == typiconVersionId && c.Year == year)); } }
public Repository(TypiconDBContext dbContext) { if (dbContext == null) { throw new ArgumentNullException("TypiconDBContext in Repository"); } objectSet = dbContext.Set <DomainType>(); }
public static TriodionRule GetTriodionRule(this TypiconDBContext dbContext, int typiconVersionId, DateTime date) { var currentEaster = dbContext.GetCurrentEaster(date.Year); int daysFromEaster = date.Date.Subtract(currentEaster.Date).Days; return(dbContext.Set <TriodionRule>() .FirstOrDefault(c => c.TypiconVersionId == typiconVersionId && c.DaysFromEaster == daysFromEaster)); }
public void HostingService_MySql() { var date = new DateTime(2019, 2, 1); var optionsBuilder = new DbContextOptionsBuilder <TypiconDBContext>(); optionsBuilder.UseMySql("server=localhost;UserId=root;Password=z2LDCiiEQFDBlkl3eZyb;database=typicondb;", //optionsBuilder.UseMySql("server=31.31.196.160;UserId=u0351_mysqluser;Password=gl7fdQ45GZyqydXrr2BZ;database=u0351320_typicondb;", mySqlOptions => { mySqlOptions.ServerVersion(new Version(8, 0, 15), ServerType.MySql); }); optionsBuilder.EnableSensitiveDataLogging(); var dbContext = new TypiconDBContext(optionsBuilder.Options); var jobRepo = new JobRepository(); //var yearHandler = CalculateModifiedYearJobHandlerTest.Build(dbContext, jobRepo); var yearJob = new CalculateModifiedYearJob(1, 2019); jobRepo.Create(yearJob); //Task task = yearHandler.ExecuteAsync(yearJob); //task.Wait(); //var weekHandler = CalculateOutputFormWeekJobTest.Build(dbContext, jobRepo); var weekJob = new CalculateOutputFormWeekJob(1, 1, date); jobRepo.Create(weekJob); //task = weekHandler.ExecuteAsync(weekJob); //task.Wait(); var service = new JobAsyncHostedService(jobRepo, CommandProcessorFactory.CreateJobProcessor(dbContext, jobRepo)); var token = new CancellationTokenSource(); Task.Factory.StartNew(() => service.StartAsync(token.Token)); while (jobRepo.Create(weekJob).Failure) { Thread.Sleep(50); } token.Cancel(); var queryProcessor = QueryProcessorFactory.Create(); var week = queryProcessor.Process(new OutputWeekQuery(1, date, new OutputFilter() { Language = "cs-ru" })); Assert.AreEqual(true, week.Success); }
private static void Migrate(IUnitOfWork unitOfWork, TypiconDBContext dbContext, Action <DbContextOptionsBuilder> optionsBuilder, string folderPath) { ScheduleHandler sh = new ScheduleHandler("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\Programming\\Documentation\\TypiconOnline.Documentation\\Db\\ScheduleDB.mdb;"); var service = GetUserCreationService(optionsBuilder); TypiconMigration migration = new TypiconMigration(unitOfWork, dbContext, sh, service, folderPath); migration.Execute(); }
public (IUnitOfWork, TypiconDBContext, Action <DbContextOptionsBuilder>) GetPostgreSQLUnitOfWork() { var optionsBuilder = new DbContextOptionsBuilder <TypiconDBContext>(); DbOptions.CofigurePostgre(optionsBuilder); var dbContext = new TypiconDBContext(optionsBuilder.Options); return(new UnitOfWork(dbContext, new RepositoryFactory()), dbContext, DbOptions.CofigurePostgre); }
//private readonly ICommandProcessor _commandProcessor; public CalculateOutputFormWeekJobHandler(TypiconDBContext dbContext , IOutputDayFactory outputFormFactory , IJobRepository jobs /*, ICommandProcessor commandProcessor*/) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _outputFormFactory = outputFormFactory ?? throw new ArgumentNullException(nameof(outputFormFactory)); _jobs = jobs ?? throw new ArgumentNullException(nameof(jobs)); //_commandProcessor = commandProcessor ?? throw new ArgumentNullException(nameof(commandProcessor)); }
public OutputForms(TypiconDBContext dbContext , IScheduleDayNameComposer nameComposer , ITypiconSerializer serializer , IJobRepository jobs) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _nameComposer = nameComposer ?? throw new ArgumentNullException(nameof(nameComposer)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _jobs = jobs ?? throw new ArgumentNullException(nameof(jobs)); }
public static MenologyRule GetMenologyRule(this TypiconDBContext dbContext, int typiconVersionId, DateTime date) { return((DateTime.IsLeapYear(date.Year)) ? dbContext.Set <MenologyRule>().FirstOrDefault(c => c.TypiconVersionId == typiconVersionId && c.LeapDate.Day == date.Day && c.LeapDate.Month == date.Month) : dbContext.Set <MenologyRule>().FirstOrDefault(c => c.TypiconVersionId == typiconVersionId && c.Date.Day == date.Day && c.Date.Month == date.Month)); }
public (IUnitOfWork, TypiconDBContext, Action <DbContextOptionsBuilder, IConfiguration>) GetMySQLUnitOfWork(IConfiguration config) { var optionsBuilder = new DbContextOptionsBuilder <TypiconDBContext>(); DbOptions.ConfigureMySql(optionsBuilder, config); var dbContext = new TypiconDBContext(optionsBuilder.Options); return(new UnitOfWork(dbContext, new RepositoryFactory()), dbContext, DbOptions.ConfigureMySql); }
private static void Migrate(IUnitOfWork uof, TypiconDBContext dbContext, Action <DbContextOptionsBuilder, IConfiguration> optionsBuilder , string folderPath, IConfiguration config) { ScheduleHandler sh = new ScheduleHandler(config.GetConnectionString("Ole")); var service = GetUserCreationService(optionsBuilder, config); TypiconMigration migration = new TypiconMigration(uof, dbContext, sh, service, folderPath); migration.Execute(); }
public (IUnitOfWork, DbContextOptionsBuilder <TypiconDBContext>) GetPostgreSQLUnitOfWork() { var optionsBuilder = new DbContextOptionsBuilder <TypiconDBContext>(); optionsBuilder.UseNpgsql(_configuration.GetConnectionString("Postgre")); optionsBuilder.EnableSensitiveDataLogging(); var dbContext = new TypiconDBContext(optionsBuilder.Options); return(new UnitOfWork(dbContext, new RepositoryFactory()), optionsBuilder); }
/// <summary> /// Возвращает указанную версию Устава (опубликованную или черновик). /// </summary> /// <param name="typiconVersionId"></param> /// <returns></returns> public static Result <TypiconVersion> GetTypiconVersion(this TypiconDBContext dbContext, int typiconId, TypiconVersionStatus status) { var version = dbContext.Set <TypiconVersion>() .FirstOrDefault(c => (status == TypiconVersionStatus.Draft) ? c.TypiconId == typiconId && c.BDate == null && c.EDate == null : c.TypiconId == typiconId && c.BDate != null && c.EDate == null); return((version != null) ? Result.Ok(version) : Result.Fail <TypiconVersion>("Указанный Устав либо не существует, либо не существует его версия.")); }
public ModificationsRuleHandler(TypiconDBContext dbContext, int typiconVersionId, ModifiedYear modifiedYear) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _typiconVersionId = typiconVersionId; _modifiedYear = modifiedYear ?? throw new ArgumentNullException(nameof(modifiedYear)); AuthorizedTypes = new List <Type>() { typeof(ModifyDay) }; }
public static DateTime GetCurrentEaster(this TypiconDBContext dbContext, int year) { EasterItem easter = dbContext.Set <EasterItem>().FirstOrDefault(c => c.Date.Year == year); if (easter == null) { throw new NullReferenceException($"День празднования Пасхи не определен для года {year}."); } return(easter.Date); }
public static CalculateModifiedYearJobHandler Build(TypiconDBContext dbContext, JobRepository jobRepo) { var query = DataQueryProcessorFactory.Create(dbContext); var command = CommandProcessorFactory.Create(dbContext); var serializerRoot = TestRuleSerializer.Create(dbContext); var settingsFactory = new RuleHandlerSettingsFactory(serializerRoot); return(new CalculateModifiedYearJobHandler(dbContext, settingsFactory, jobRepo)); }
public static Result <TypiconClaim> GetTypiconClaim(this TypiconDBContext dbContext, int id) { var found = dbContext.Set <TypiconClaim>().FirstOrDefault(c => c.Id == id); if (found != null) { return(Result.Ok(found)); } return(Result.Fail <TypiconClaim>($"Заявка на создание Устава с заданным Id={id} не была найдена.")); }
public static ScheduleService Create(TypiconDBContext dbContext) { IRuleSerializerRoot serializerRoot = TestRuleSerializer.Create(dbContext); var settingsFactory = new RuleHandlerSettingsFactory(serializerRoot); var commandProcessor = CommandProcessorFactory.Create(dbContext); var queryProcessor = DataQueryProcessorFactory.Create(dbContext); return(new ScheduleService(new ScheduleDataCalculator(queryProcessor, settingsFactory) , new ScheduleDayNameComposer(serializerRoot.QueryProcessor))); }
public Migration(IUnitOfWork unitOfWork , TypiconDBContext dbContext , ScheduleHandler sh , UserCreationService userCreationService , string folderPath) { _unitOfWork = unitOfWork; _dbContext = dbContext; _sh = sh; _userCreationService = userCreationService; FOLDER_PATH = folderPath; }
public static void UpdateOutputDay(this TypiconDBContext dbContext, OutputDay outputDay) { var outputDays = dbContext.Set <OutputDay>() .Where(c => c.TypiconId == outputDay.TypiconId && c.Date.Date == outputDay.Date.Date); if (outputDays.Any()) { dbContext.Set <OutputDay>().RemoveRange(outputDays); } dbContext.Set <OutputDay>().Add(outputDay); dbContext.SaveChanges(); }