public SQLitePersistentStorage( string workingFolderPath, string solutionFilePath, string databaseFile, IDisposable dbOwnershipLock, IPersistentStorageFaultInjector faultInjectorOpt) : base(workingFolderPath, solutionFilePath, databaseFile) { _dbOwnershipLock = dbOwnershipLock; _faultInjectorOpt = faultInjectorOpt; _solutionAccessor = new SolutionAccessor(this); _projectAccessor = new ProjectAccessor(this); _documentAccessor = new DocumentAccessor(this); _select_star_from_string_table = $@"select * from {StringInfoTableName}"; _insert_into_string_table_values_0 = $@"insert into {StringInfoTableName}(""{DataColumnName}"") values (?)"; _select_star_from_string_table_where_0_limit_one = $@"select * from {StringInfoTableName} where (""{DataColumnName}"" = ?) limit 1"; // Create a queue to batch up requests to flush. We'll won't flush more than every FlushAllDelayMS. The // actual information in the queue isn't relevant, so we pass in an equality comparer to just keep it down // to storing a single piece of data. _flushQueue = new AsyncBatchingWorkQueue <bool>( TimeSpan.FromMilliseconds(FlushAllDelayMS), FlushInMemoryDataToDiskIfNotShutdownAsync, EqualityComparer <bool> .Default, asyncListener: null, _shutdownTokenSource.Token); }
public SQLitePersistentStorage( string workingFolderPath, string solutionFilePath, string databaseFile, IDisposable dbOwnershipLock, IPersistentStorageFaultInjector?faultInjectorOpt) : base(workingFolderPath, solutionFilePath, databaseFile) { _dbOwnershipLock = dbOwnershipLock; _faultInjectorOpt = faultInjectorOpt; _solutionAccessor = new SolutionAccessor(this); _projectAccessor = new ProjectAccessor(this); _documentAccessor = new DocumentAccessor(this); _select_star_from_string_table = $@"select * from {StringInfoTableName}"; _insert_into_string_table_values_0 = $@"insert into {StringInfoTableName}(""{DataColumnName}"") values (?)"; _select_star_from_string_table_where_0_limit_one = $@"select * from {StringInfoTableName} where (""{DataColumnName}"" = ?) limit 1"; // Create a delay to batch up requests to flush. We'll won't flush more than every FlushAllDelayMS. _flushQueue = new AsyncBatchingDelay( TimeSpan.FromMilliseconds(FlushAllDelayMS), FlushInMemoryDataToDiskIfNotShutdownAsync, asyncListener: null, _shutdownTokenSource.Token); }
public IQueryable <SolutionVO> GetAll() { IQueryable <SolutionVO> qSolution; using (var solutionAccessor = new SolutionAccessor()) { qSolution = solutionAccessor.Repo.All; } return(qSolution); }
public List <SolutionVO> FindAll() { List <SolutionVO> catList; using (var solutionAccessor = new SolutionAccessor()) { catList = solutionAccessor.Repo.All.ToList(); } return(catList); }
public async Task <Unit> Handle(DeleteEntity request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); await solutionAccessor.DeleteEntityAsync(request.Id); return(Unit.Value); }
public SQLitePersistentStorage( IOptionService optionService, string workingFolderPath, string solutionFilePath, string databaseFile, Action <AbstractPersistentStorage> disposer) : base(optionService, workingFolderPath, solutionFilePath, databaseFile, disposer) { _solutionAccessor = new SolutionAccessor(this); _projectAccessor = new ProjectAccessor(this); _documentAccessor = new DocumentAccessor(this); }
public async Task <EntityModel> Handle(GetEntity request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); var entities = await solutionAccessor.GetEntitiesAsync(); var entity = entities.FirstOrDefault(e => e.Id == request.Id); return(_mapper.Map <Generator.Models.Entity, EntityModel>(entity)); }
public async Task <Unit> Handle(GenerateEnum request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); var @enum = (await solutionAccessor.GetEnumsAsync()).FirstOrDefault(e => e.Id == request.Id); await _codeGenerator.GenerateEnumAsync(solutionAccessor, @enum); await _codeGenerator.GenerateEnumViewAsync(solutionAccessor, new Generator.Models.View(), @enum); return(Unit.Value); }
public SQLitePersistentStorage( string workingFolderPath, string solutionFilePath, string databaseFile, IDisposable dbOwnershipLock, IPersistentStorageFaultInjector faultInjectorOpt) : base(workingFolderPath, solutionFilePath, databaseFile) { _dbOwnershipLock = dbOwnershipLock; _faultInjectorOpt = faultInjectorOpt; _solutionAccessor = new SolutionAccessor(this); _projectAccessor = new ProjectAccessor(this); _documentAccessor = new DocumentAccessor(this); }
public SQLitePersistentStorage( IOptionService optionService, string workingFolderPath, string solutionFilePath, string databaseFile, Action <AbstractPersistentStorage> disposer, IDisposable dbOwnershipLock, IPersistentStorageFaultInjector faultInjectorOpt) : base(optionService, workingFolderPath, solutionFilePath, databaseFile, disposer) { _dbOwnershipLock = dbOwnershipLock; _faultInjectorOpt = faultInjectorOpt; _solutionAccessor = new SolutionAccessor(this); _projectAccessor = new ProjectAccessor(this); _documentAccessor = new DocumentAccessor(this); }
public async Task <PageModel <EnumModel> > Handle(GetEnums request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); var enums = await solutionAccessor.GetEnumsAsync(); if (!string.IsNullOrEmpty(request.Filter?.Text)) { enums = enums.Where(e => e.Name.Contains(request.Filter.Text, StringComparison.CurrentCultureIgnoreCase) || e.DisplayName.Contains(request.Filter.Text, StringComparison.CurrentCultureIgnoreCase)).ToList(); } return(enums.ToPagedList(request.PageIndex, request.PageSize) .Map <Generator.Models.Enum, EnumModel>(_mapper)); }
public SQLitePersistentStorage( string workingFolderPath, string solutionFilePath, string databaseFile, IDisposable dbOwnershipLock, IPersistentStorageFaultInjector faultInjectorOpt) : base(workingFolderPath, solutionFilePath, databaseFile) { _dbOwnershipLock = dbOwnershipLock; _faultInjectorOpt = faultInjectorOpt; _solutionAccessor = new SolutionAccessor(this); _projectAccessor = new ProjectAccessor(this); _documentAccessor = new DocumentAccessor(this); _select_star_from_0 = $@"select * from ""{StringInfoTableName}"""; _insert_into_0_1_values = $@"insert into ""{StringInfoTableName}""(""{DataColumnName}"") values (?)"; _select_star_from_0_where_1_limit_one = $@"select * from ""{StringInfoTableName}"" where (""{DataColumnName}"" = ?) limit 1"; }
public async Task <Unit> Handle(UpdateEntity request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); var newEntity = _mapper.Map <UpdateEntity, Generator.Models.Entity>(request); var oldEntity = (await solutionAccessor.GetEntitiesAsync()).FirstOrDefault(e => e.Id == request.Id); await solutionAccessor.UpdateEntityAsync(newEntity); // reload Entity from Solution newEntity = (await solutionAccessor.GetEntitiesAsync()) .FirstOrDefault(e => e.Id == request.Id); await _codeGenerator.UpgradeEntityAsync(solutionAccessor, oldEntity, newEntity); await _codeGenerator.UpgradeViewAsync(solutionAccessor, new Generator.Models.View(), oldEntity, newEntity); return(Unit.Value); }
public async Task <Guid> Handle(CreateEntity request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); var entity = _mapper.Map <CreateEntity, Generator.Models.Entity>(request); entity.Id = Guid.NewGuid(); await solutionAccessor.CreateEntityAsync(entity); // reload Entity from Solution entity = (await solutionAccessor.GetEntitiesAsync()) .First(e => e.Id == entity.Id); await _codeGenerator.GenerateEntityAsync(solutionAccessor, entity); await _codeGenerator.GenerateViewAsync(solutionAccessor, new Generator.Models.View(), entity); return(entity.Id); }
public async Task <Guid> Handle(CreateEnum request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); var @enum = _mapper.Map <CreateEnum, Generator.Models.Enum>(request); @enum.Id = Guid.NewGuid(); await solutionAccessor.CreateEnumAsync(@enum); // reload Enum from Solution @enum = (await solutionAccessor.GetEnumsAsync()) .First(e => e.Id == @enum.Id); await _codeGenerator.GenerateEnumAsync(solutionAccessor, @enum); await _codeGenerator.GenerateEnumViewAsync(solutionAccessor, new Generator.Models.View(), @enum); return(@enum.Id); }
public SolutionBL() { _solutionAccessor = new SolutionAccessor(); }