public void SaveJobWithContent(JobWithContent job) { _tracer.TraceEvent(TraceEventType.Start, 0); var contentRepository = new PageContentRepository(this._settings); using (contentRepository.AcquireLock(job.ID)) { using (var scope = new TransactionScope(TransactionScopeOption.Required)) { if (job.HasTestScraped) { string jsonZones = JsonConvert.SerializeObject(job.TestContent.AdZoneNodes); job.AdsInfo = jsonZones; } InternalSaveJob(job); // save content to files if (job.HasReferenceScraped) { contentRepository.SaveReferenceContent(job.ReferenceContent, job.ID); } if (job.HasTestScraped) { contentRepository.SaveTestContent(job.TestContent, job.ID); } scope.Complete(); } } _tracer.TraceEvent(TraceEventType.Stop, 0); }
public void AddOrUpdateSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var pageContents = TestDataRepository.GetPageContents(false); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); foreach (var item in pageContents) { item.ContentType.Properties = null; pageContentRepository.Create(item); } var itemToUpdate = pageContents.First(); itemToUpdate.SortOrder = 10; var pageContentsToUpdate = TestDataRepository.GetPageContents().First(); pageContents.Add(pageContentsToUpdate); //Act var initialCount = dbContext.PageContent.Count(); pageContentRepository.AddOrUpdate(pageContents); var afterCount = dbContext.PageContent.Count(); var updatedItem = pageContentRepository.Get(itemToUpdate.Id); //Assert Assert.True(afterCount > initialCount); Assert.True(updatedItem.SortOrder == itemToUpdate.SortOrder); //Clean dbContext.PageContent.RemoveRange(dbContext.PageContent); }
public void DeleteJobWithContent(int id) { _tracer.TraceEvent(TraceEventType.Start, 0); var contentRepository = new PageContentRepository(this._settings); using (contentRepository.AcquireLock(id)) { using (var scope = new TransactionScope(TransactionScopeOption.Required)) { Job job; using (var context = new CoreContext()) { var repository = new JobRepository(context); job = repository.Load(id); repository.Delete(job); context.SaveChanges(); } if (job.HasReferenceScraped) { contentRepository.DeleteReferenceContent(id); } if (job.HasTestScraped) { contentRepository.DeleteTestContent(id); } scope.Complete(); } } _tracer.TraceEvent(TraceEventType.Stop, 0); }
public void UpdateContentPermissionSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pageContent = TestDataRepository.GetPageContents(false).First(); pageContentRepository.Create(pageContent); var contentPermissions = TestDataRepository.GetContentPermissions(); foreach (var cp in contentPermissions) { cp.PageContentId = pageContent.Id; } pageContent.InheritEditPermissions = pageContent.InheritViewPermissions = true; pageContent.ContentPermissions = contentPermissions; //Act pageContentRepository.UpdateContentPermission(pageContent); var result = pageContentRepository.Get(pageContent.Id); //Assert Assert.NotNull(result); Assert.True(result.ContentPermissions.Count > 1); Assert.True(result.InheritViewPermissions); Assert.True(result.InheritEditPermissions); //Clean dbContext.ContentPermission.RemoveRange(dbContext.ContentPermission); }
public void CreatePageContentSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pageContents = TestDataRepository.GetPageContents(); var pageContent = pageContents.First(); //Act var result = pageContentRepository.Create(pageContent); //Assert Assert.NotNull(result); Assert.NotEqual(result.Id, Guid.Empty); Assert.NotNull(result.PageContentTranslation); Assert.NotNull(result.ContentType); Assert.NotNull(result.ContentPermissions); Assert.True(result.ContentPermissions.Count > 0); Assert.NotNull(result.Properties); Assert.True(result.Properties.Count > 0); Assert.True(result.SortOrder > 0); Assert.NotEqual(result.ContainerId, Guid.Empty); Assert.True(result.CreatedDate > DateTime.MinValue); Assert.True(result.LastModifiedDate > DateTime.MinValue); //Clean dbContext.PageContent.RemoveRange(dbContext.PageContent); }
public JobWithContent LoadWithContent(int id) { _tracer.TraceEvent(TraceEventType.Start, 0); var contentRepository = new PageContentRepository(this._settings); using (contentRepository.AcquireLock(id)) { Job job; using (var context = new CoreContext()) { var repository = new JobRepository(context); job = repository.Load(id); } PageContent referenceContent = null; if (job.HasReferenceScraped) { referenceContent = contentRepository.LoadReferenceContent(job.ID); } PageContent testContent = null; if (job.HasTestScraped) { testContent = contentRepository.LoadTestContent(job.ID); } _tracer.TraceEvent(TraceEventType.Stop, 0); return(new JobWithContent(job, referenceContent, testContent)); } }
private static void LoadFromFile(SettingsModel settingsModel) { while (true) { Console.Write("Enter passphrase: "); var passPhrase = EnterPassword(); Encrypter.PassPhrase = Encoding.UTF8.GetBytes(passPhrase); try { var encryptedData = File.ReadAllBytes(settingsModel.File); var json = encryptedData.Decrypt(settingsModel); var stateModel = Newtonsoft.Json.JsonConvert.DeserializeObject <StateModel>(json); NotebooksRepository.Init(stateModel.Notebooks); PagesRepository.Init(stateModel.Pages); PageContentRepository.Init(stateModel.Content); return; } catch (Exception) { Console.WriteLine("Invalid passphrase. Please try again..."); } } }
public void AddOrUpdateFail() { //Arrange var pageContentRepository = new PageContentRepository(_container); List <PageContent> itemToUpdate = null; //Act //Assert Assert.Throws(typeof(NullReferenceException), () => pageContentRepository.AddOrUpdate(itemToUpdate)); }
public void SetActivePage(Page page) { if (page == null) { Value.SetDataSource(null); return; } var dataSource = PageContentRepository.GetDataSource(page.Id); Value.SetDataSource(dataSource); }
public VmPageContent GetById(int id) { PageContentRepository PageContentRepository = UnitOfWork.GetRepository <PageContentRepository>(); var result = PageContentRepository.GetById(id); var vmPageContent = new VmPageContent { Id = result.Id, Content = result.Content, }; return(vmPageContent); }
public bool UpdatePageContent(VmPageContent pageContent) { PageContentRepository PageContentRepository = UnitOfWork.GetRepository <PageContentRepository>(); var updateablePageContent = new PageContent { Id = pageContent.Id, Content = pageContent.Content }; PageContentRepository.UpdatePageContent(updateablePageContent); UnitOfWork.Commit(); return(true); }
public void AddContentPermissionsFail() { //Arrange var pageContentRepository = new PageContentRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); List <ContentPermission> contentPermissions = null; //Act var result = pageContentRepository.AddContentPermissions(contentPermissions); //Assert Assert.Null(result); //Clean dbContext.ContentPermission.RemoveRange(dbContext.ContentPermission); }
public void AddContentPermissionsSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var contentPermissions = TestDataRepository.GetContentPermissions(); //Act var result = pageContentRepository.AddContentPermissions(contentPermissions); //Assert Assert.NotNull(result); Assert.True(result.Count > 0); //Clean dbContext.ContentPermission.RemoveRange(dbContext.ContentPermission); }
public void CreateTranslationFail() { //Arrange var pageContentRepository = new PageContentRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pageContents = TestDataRepository.GetPageContents(); PageContentTranslation pageContentTranslation = null; //Act var result = pageContentRepository.CreateTranslation(pageContentTranslation); //Assert Assert.Null(result); //Clean dbContext.PageContentTranslation.RemoveRange(dbContext.PageContentTranslation); }
public void UpdatePageContentFail() { //Arrange var pageContentRepository = new PageContentRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pageContents = TestDataRepository.GetPageContents(); PageContent pageContent = null; //Act var result = pageContentRepository.Update(pageContent); //Assert Assert.Null(result); //Clean dbContext.PageContent.RemoveRange(dbContext.PageContent); }
public void GetOptionListFail() { //Arrange var pageContentRepository = new PageContentRepository(_container); var pageContents = TestDataRepository.GetPageContents(); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); foreach (var item in pageContents) { pageContentRepository.Create(item); } var pageContentId = Guid.NewGuid(); //Act var result = pageContentRepository.Get(pageContentId); //Assert Assert.Null(result); }
public void GetByPageLocaleFail() { //Arrange var pageContentRepository = new PageContentRepository(_container); var pageContents = TestDataRepository.GetPageContents(); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); foreach (var item in pageContents) { pageContentRepository.Create(item); } var pageId = Guid.NewGuid(); //Act var result = pageContentRepository.Get(pageId, ""); //Assert Assert.NotNull(result); Assert.True(result.Count == 0); }
public static void SaveState() { var stateModel = new StateModel { Notebooks = NotebooksRepository.Get(), Pages = PagesRepository.Get(), Content = PageContentRepository.GetAll() }; var json = Newtonsoft.Json.JsonConvert.SerializeObject(stateModel); var settingsModel = GetSettingsModel(); var dataToSave = json.Encrypt(settingsModel); File.WriteAllBytes(settingsModel.File, dataToSave); UiNotifications.Notify(ConsoleColor.Red, ConsoleColor.Black, "Saved to Disk...", 5); Task.Run(() => dataToSave.SaveToBlobAsync(settingsModel)); }
public void GetByPageLocaleSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var pageContents = TestDataRepository.GetPageContents(); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); foreach (var item in pageContents) { pageContentRepository.Create(item); } var pageContentId = pageContents.First().PageId; var locale = pageContents.First().PageContentTranslation.First().CultureCode; //Act var result = pageContentRepository.Get(pageContentId, locale); var resultItem = result.First(); //Assert Assert.NotNull(result); Assert.True(result.Count > 0); Assert.NotNull(resultItem); Assert.NotEqual(resultItem.Id, Guid.Empty); Assert.NotNull(resultItem.PageContentTranslation); Assert.NotNull(resultItem.ContentType); //Assert.NotNull(resultItem.ContentType.ContentDataType); Assert.NotNull(resultItem.ContentType.Properties); Assert.True(resultItem.ContentType.Properties.Count > 0); Assert.NotNull(resultItem.ContentPermissions); Assert.True(resultItem.ContentPermissions.Count > 0); Assert.NotNull(resultItem.Properties); Assert.True(resultItem.Properties.Count > 0); Assert.True(resultItem.SortOrder > 0); Assert.NotEqual(resultItem.ContainerId, Guid.Empty); Assert.True(resultItem.CreatedDate > DateTime.MinValue); Assert.True(resultItem.LastModifiedDate > DateTime.MinValue); //Clean dbContext.PageContent.RemoveRange(dbContext.PageContent); }
public void GetTranslationByIdSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var pageContents = TestDataRepository.GetPageContents(); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); foreach (var item in pageContents) { pageContentRepository.Create(item); } var translationId = pageContents.First().PageContentTranslation.First().Id; //Act var result = pageContentRepository.GetTranslation(translationId); //Assert Assert.NotNull(result); Assert.NotEqual(result.Id, Guid.Empty); Assert.True(!string.IsNullOrEmpty(result.ContentData)); Assert.True(!string.IsNullOrEmpty(result.CultureCode)); }
public void UpdatePageContentSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var pageContents = TestDataRepository.GetPageContents(false); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); foreach (var item in pageContents) { item.ContentType.Properties = null; item.ContentPermissions = null; item.PageContentTranslation = null; pageContentRepository.Create(item); } var pageContent = pageContents.First(); var itemToUpdate = pageContentRepository.Get(pageContent.Id); itemToUpdate.IsDeleted = true; //Act var result = pageContentRepository.Update(itemToUpdate); //Assert Assert.NotNull(result); Assert.NotEqual(result.Id, Guid.Empty); Assert.NotNull(result.Properties); Assert.True(result.Properties.Count > 0); Assert.True(result.SortOrder > 0); Assert.NotEqual(result.ContainerId, Guid.Empty); Assert.True(result.CreatedDate > DateTime.MinValue); Assert.True(result.LastModifiedDate > DateTime.MinValue); Assert.True(result.IsDeleted == itemToUpdate.IsDeleted); //Clean dbContext.PageContent.RemoveRange(dbContext.PageContent); }
public void CreateTranslationSuccess() { //Arrange var pageContentRepository = new PageContentRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pageContents = TestDataRepository.GetPageContents(); var pageContentTranslation = pageContents.First().PageContentTranslation.First(); //Act var result = pageContentRepository.CreateTranslation(pageContentTranslation); //Assert Assert.NotNull(result); Assert.NotEqual(result.Id, Guid.Empty); Assert.True(!string.IsNullOrEmpty(result.ContentData)); Assert.True(!string.IsNullOrEmpty(result.CultureCode)); Assert.True(result.CreatedDate > DateTime.MinValue); Assert.True(result.LastModifiedDate > DateTime.MinValue); //Clean dbContext.PageContentTranslation.RemoveRange(dbContext.PageContentTranslation); }