public None Execute(InMemoryDocumentStore inMemoryDocumentStore, UpsertFrameworks request) { foreach (var record in request.Records) { inMemoryDocumentStore.Frameworks.CreateOrUpdate( d => d.FrameworkCode == record.FrameworkCode && d.ProgType == record.ProgType && d.PathwayCode == record.PathwayCode, () => new Core.DataStore.CosmosDb.Models.Framework() { Id = Guid.NewGuid(), FrameworkCode = record.FrameworkCode, ProgType = record.ProgType, PathwayCode = record.PathwayCode, CreatedDateTimeUtc = request.Now, }, framework => { framework.EffectiveFrom = record.EffectiveFrom; framework.EffectiveTo = record.EffectiveTo; framework.ModifiedDateTimeUtc = request.Now; framework.NasTitle = record.NasTitle; framework.RecordStatusId = 2; // Live framework.SectorSubjectAreaTier1 = record.SectorSubjectAreaTier1; framework.SectorSubjectAreaTier2 = record.SectorSubjectAreaTier2; }); } return(new None()); }
public OneOf <NotFound, Success> Execute(InMemoryDocumentStore inMemoryDocumentStore, DeleteCourseRun request) { var course = inMemoryDocumentStore.Courses.All.SingleOrDefault(c => c.Id == request.CourseId); if (course == null) { return(new NotFound()); } var courseRun = course.CourseRuns.SingleOrDefault(cr => cr.Id == request.CourseRunId); if (courseRun == null || courseRun.RecordStatus == CourseStatus.Archived || courseRun.RecordStatus == CourseStatus.Deleted) { return(new NotFound()); } courseRun.RecordStatus = CourseStatus.Archived; course.CourseStatus = course.CourseRuns .Select(cr => cr.RecordStatus) .Aggregate((CourseStatus)0, (l, r) => l | r); inMemoryDocumentStore.Courses.Save(course); return(new Success()); }
public void CanInitializeDocumentStore() { var store = new InMemoryDocumentStore(new MvxWpfSqLiteConnectionFactory()); store.Initialize(); Assert.IsNotNull(store.Connection); }
public None Execute(InMemoryDocumentStore inMemoryDocumentStore, UpsertStandards request) { foreach (var record in request.Records) { inMemoryDocumentStore.Standards.CreateOrUpdate( d => d.StandardCode == record.StandardCode && d.Version == record.Version, () => new Core.DataStore.CosmosDb.Models.Standard() { Id = Guid.NewGuid(), StandardCode = record.StandardCode, Version = record.Version }, standard => { standard.StandardCode = record.StandardCode; standard.Version = record.Version; standard.StandardName = record.StandardName; standard.StandardSectorCode = record.StandardSectorCode; standard.NotionalEndLevel = record.NotionalEndLevel; standard.EffectiveFrom = record.EffectiveFrom; standard.EffectiveTo = record.EffectiveTo; standard.URLLink = record.URLLink; standard.SectorSubjectAreaTier1 = record.SectorSubjectAreaTier1; standard.SectorSubjectAreaTier2 = record.SectorSubjectAreaTier2; standard.OtherBodyApprovalRequired = record.OtherBodyApprovalRequired; standard.RecordStatusId = 2; // Live }); } return(new None()); }
public CreateProviderResult Execute(InMemoryDocumentStore inMemoryDocumentStore, CreateProvider request) { var provider = new Provider() { Id = request.ProviderId, UnitedKingdomProviderReferenceNumber = request.Ukprn.ToString(), ProviderType = request.ProviderType, ProviderName = request.ProviderName, ProviderStatus = request.ProviderStatus, MarketingInformation = request.MarketingInformation, CourseDirectoryName = request.CourseDirectoryName, Alias = request.Alias, ProviderContact = request.ProviderContact?.ToList() ?? new List <ProviderContact>(), Status = request.Status, DateUpdated = request.DateUpdated, UpdatedBy = request.UpdatedBy, BulkUploadStatus = request.BulkUploadInProgress.HasValue ? new ProviderBulkUploadStatus { InProgress = request.BulkUploadInProgress.Value } : null }; inMemoryDocumentStore.Providers.Save(provider); return(CreateProviderResult.Ok); }
public OneOf <NotFound, Success> Execute(InMemoryDocumentStore inMemoryDocumentStore, UpdateVenue request) { var venue = inMemoryDocumentStore.Venues.All.SingleOrDefault(venue => venue.Id == request.VenueId); if (venue == null) { return(new NotFound()); } venue.VenueName = request.Name; venue.Email = request.Email; venue.PHONE = request.PhoneNumber; venue.Website = request.Website; venue.AddressLine1 = request.AddressLine1; venue.AddressLine2 = request.AddressLine2; venue.Town = request.Town; venue.County = request.County; venue.Postcode = request.Postcode; venue.Latitude = request.Latitude; venue.Longitude = request.Longitude; venue.UpdatedBy = request.UpdatedBy.Email; venue.DateUpdated = request.UpdatedDate; inMemoryDocumentStore.Venues.Save(venue); return(new Success()); }
public int?Execute(InMemoryDocumentStore inMemoryDocumentStore, GetProviderUkprnForCourse request) { var course = inMemoryDocumentStore.Courses.All .SingleOrDefault(c => c.Id == request.CourseId && c.CourseStatus != CourseStatus.Archived && c.CourseStatus != CourseStatus.Deleted); return(course?.ProviderUKPRN); }
public IReadOnlyCollection <Course> Execute( InMemoryDocumentStore inMemoryDocumentStore, GetAllCoursesForProvider request) { return(inMemoryDocumentStore.Courses.All .Where(c => c.ProviderUKPRN == request.ProviderUkprn) .Where(c => (c.CourseStatus & request.CourseStatuses) != 0) .ToList()); }
public Success Execute(InMemoryDocumentStore inMemoryDocumentStore, CreateCourse request) { var course = new Course() { Id = request.CourseId, ProviderId = request.ProviderId, ProviderUKPRN = request.ProviderUkprn, QualificationCourseTitle = request.QualificationCourseTitle, LearnAimRef = request.LearnAimRef, NotionalNVQLevelv2 = request.NotionalNVQLevelv2, AwardOrgCode = request.AwardOrgCode, QualificationType = request.QualificationType, CourseDescription = request.CourseDescription, EntryRequirements = request.EntryRequirements, WhatYoullLearn = request.WhatYoullLearn, HowYoullLearn = request.HowYoullLearn, WhatYoullNeed = request.WhatYoullNeed, HowYoullBeAssessed = request.HowYoullBeAssessed, WhereNext = request.WhereNext, AdultEducationBudget = request.AdultEducationBudget, AdvancedLearnerLoan = request.AdvancedLearnerLoan, CourseRuns = request.CourseRuns.Select(cr => new CourseRun() { Id = cr.CourseRunId, VenueId = cr.VenueId, CourseName = cr.CourseName, DeliveryMode = cr.DeliveryMode, FlexibleStartDate = cr.FlexibleStartDate, StartDate = cr.StartDate, CourseURL = cr.CourseUrl, Cost = cr.Cost, CostDescription = cr.CostDescription, DurationUnit = cr.DurationUnit, DurationValue = cr.DurationValue, StudyMode = cr.StudyMode, AttendancePattern = cr.AttendancePattern, National = cr.National, Regions = cr.Regions, RecordStatus = request.CourseStatus, CreatedDate = request.CreatedDate, CreatedBy = request.CreatedByUser.UserId, UpdatedDate = request.CreatedDate, UpdatedBy = request.CreatedByUser.UserId, ProviderCourseID = cr.ProviderCourseId }), CourseStatus = request.CourseStatus, CreatedBy = request.CreatedByUser.UserId, CreatedDate = request.CreatedDate, UpdatedBy = request.CreatedByUser.UserId, UpdatedDate = request.CreatedDate }; inMemoryDocumentStore.Courses.Save(course); return(new Success()); }
public void CanRegisterIndex() { var store = new InMemoryDocumentStore(new MvxWpfSqLiteConnectionFactory()).Initialize(); store.RegisterIndex(new PersonIndexMap()); var map = store.GetIndexMapByEntityType(typeof(Person)); Assert.IsNotNull(map); }
public int?Execute( InMemoryDocumentStore inMemoryDocumentStore, GetProviderUkprnForApprenticeship request) { var doc = inMemoryDocumentStore.Apprenticeships.All .SingleOrDefault(a => a.Id == request.ApprenticeshipId && a.RecordStatus != 4 && a.RecordStatus != 8); return(doc?.ProviderUKPRN); }
public IDictionary <Guid, Apprenticeship> Execute(InMemoryDocumentStore inMemoryDocumentStore, GetApprenticeships request) { var query = inMemoryDocumentStore.Apprenticeships.All.AsQueryable(); if (request.Predicate != null) { query = query.Where(request.Predicate); } return(query.ToDictionary(a => a.Id, a => a)); }
public OneOf <NotFound, Success> Execute( InMemoryDocumentStore inMemoryDocumentStore, UpdateApprenticeshipStatus request) { var app = inMemoryDocumentStore.Apprenticeships.All.SingleOrDefault(a => a.Id == request.ApprenticeshipId); if (app == null) { return(new NotFound()); } else { app.RecordStatus = request.Status; return(new Success()); } }
public Success Execute(InMemoryDocumentStore inMemoryDocumentStore, CreateFramework request) { var framework = new Framework() { Id = request.Id, FrameworkCode = request.FrameworkCode, ProgType = request.ProgType, PathwayCode = request.PathwayCode, NasTitle = request.NasTitle, RecordStatusId = 2 }; inMemoryDocumentStore.Frameworks.Save(framework); return(new Success()); }
public Success Execute(InMemoryDocumentStore inMemoryDocumentStore, CreateStandard request) { var standard = new Standard() { Id = request.Id, StandardCode = request.StandardCode, Version = request.Version, StandardName = request.StandardName, NotionalEndLevel = request.NotionalEndLevel, OtherBodyApprovalRequired = request.OtherBodyApprovalRequired, RecordStatusId = 2 }; inMemoryDocumentStore.Standards.Save(standard); return(new Success()); }
public OneOf <NotFound, Success> Execute(InMemoryDocumentStore inMemoryDocumentStore, DeleteVenue request) { var venue = inMemoryDocumentStore.Venues.All.FirstOrDefault(v => v.Id == request.VenueId); if (venue == null) { return(new NotFound()); } venue.Status = VenueStatus.Archived; venue.DateUpdated = request.UpdatedDate; venue.UpdatedBy = request.UpdatedBy.UserId; inMemoryDocumentStore.Venues.Save(venue); return(new Success()); }
public OneOf <NotFound, Success> Execute( InMemoryDocumentStore inMemoryDocumentStore, UpdateProviderType request) { var provider = inMemoryDocumentStore.Providers.All.SingleOrDefault(p => p.Id == request.ProviderId); if (provider == null) { return(new NotFound()); } provider.ProviderType = request.ProviderType; inMemoryDocumentStore.Providers.Save(provider); return(new Success()); }
public OneOf <NotFound, Success> Execute( InMemoryDocumentStore inMemoryDocumentStore, UpdateProviderInfo request) { var provider = inMemoryDocumentStore.Providers.All.SingleOrDefault(p => p.Id == request.ProviderId); if (provider == null) { return(new NotFound()); } provider.MarketingInformation = request.MarketingInformation; provider.DateUpdated = request.UpdatedOn; provider.UpdatedBy = request.UpdatedBy.UserId; inMemoryDocumentStore.Providers.Save(provider); return(new Success()); }
public Success Execute(InMemoryDocumentStore inMemoryDocumentStore, CreateProviderFromUkrlpData request) { var newProvider = new Provider() { Id = request.ProviderId, UnitedKingdomProviderReferenceNumber = request.Ukprn.ToString(), ProviderName = request.ProviderName, ProviderAliases = request.Aliases.ToList(), ProviderContact = request.Contacts.ToList(), Alias = request.Alias, ProviderStatus = request.ProviderStatus, ProviderType = request.ProviderType, DateUpdated = request.DateUpdated, UpdatedBy = request.UpdatedBy, }; inMemoryDocumentStore.Providers.Save(newProvider); return(new Success()); }
public CreateProviderResult Execute(InMemoryDocumentStore inMemoryDocumentStore, CreateProvider request) { var provider = new Provider() { Id = request.ProviderId, UnitedKingdomProviderReferenceNumber = request.Ukprn.ToString(), ProviderType = request.ProviderType, ProviderName = request.ProviderName, ProviderStatus = request.ProviderStatus, MarketingInformation = request.MarketingInformation, CourseDirectoryName = request.CourseDirectoryName, Alias = request.Alias, ProviderContact = request.ProviderContact?.ToList() ?? new List <ProviderContact>(), Status = Core.Models.ProviderStatus.Onboarded, DateUpdated = request.DateUpdated, UpdatedBy = request.UpdatedBy }; inMemoryDocumentStore.Providers.Save(provider); return(CreateProviderResult.Ok); }
public OneOf <NotFound, Success> Execute( InMemoryDocumentStore inMemoryDocumentStore, UpdateProviderFromUkrlpData request) { var provider = inMemoryDocumentStore.Providers.All.SingleOrDefault(p => p.Id == request.ProviderId); if (provider == null) { return(new NotFound()); } provider.ProviderName = request.ProviderName; provider.ProviderAliases = request.Aliases.ToList(); provider.ProviderContact = request.Contacts.ToList(); provider.Alias = request.Alias; provider.ProviderStatus = request.ProviderStatus; provider.DateUpdated = request.DateUpdated; provider.UpdatedBy = request.UpdatedBy; inMemoryDocumentStore.Providers.Save(provider); return(new Success()); }
public OneOf <NotFound, AlreadyOnboarded, Success> Execute(InMemoryDocumentStore inMemoryDocumentStore, UpdateProviderOnboarded request) { var provider = inMemoryDocumentStore.Providers.All.FirstOrDefault(p => p.Id == request.ProviderId); if (provider == null) { return(new NotFound()); } if (provider.Status == ProviderStatus.Onboarded) { return(new AlreadyOnboarded()); } provider.Status = ProviderStatus.Onboarded; provider.DateOnboarded = request.UpdatedDateTime; provider.DateUpdated = request.UpdatedDateTime; provider.UpdatedBy = request.UpdatedBy.UserId; inMemoryDocumentStore.Providers.Save(provider); return(new Success()); }
public int Execute(InMemoryDocumentStore inMemoryDocumentStore, ArchiveCoursesForProvider request) { var providerCourses = inMemoryDocumentStore.Courses.All .Where(a => a.ProviderUKPRN == request.Ukprn && a.CourseStatus != CourseStatus.Archived); var updated = 0; foreach (var app in providerCourses) { app.CourseStatus = CourseStatus.Archived; foreach (var courseRun in app.CourseRuns) { courseRun.RecordStatus = CourseStatus.Archived; } inMemoryDocumentStore.Courses.Save(app); updated++; } return(updated); }
public int Execute(InMemoryDocumentStore inMemoryDocumentStore, ArchiveApprenticeshipsForProvider request) { var providerApprenticeships = inMemoryDocumentStore.Apprenticeships.All .Where(a => a.ProviderUKPRN == request.Ukprn && a.RecordStatus != 4); var updated = 0; foreach (var app in providerApprenticeships) { app.RecordStatus = (int)ApprenticeshipStatus.Archived; foreach (var location in app.ApprenticeshipLocations) { location.RecordStatus = 4; } inMemoryDocumentStore.Apprenticeships.Save(app); updated++; } return(updated); }
public Success Execute(InMemoryDocumentStore inMemoryDocumentStore, CreateVenue request) { var venue = new Venue() { Id = request.VenueId, Status = Core.Models.VenueStatus.Live, Ukprn = request.ProviderUkprn, VenueName = request.Name, Email = request.Email, PHONE = request.Telephone, Website = request.Website, AddressLine1 = request.AddressLine1, AddressLine2 = request.AddressLine2, Town = request.Town, County = request.County, Postcode = request.Postcode, Latitude = request.Latitude, Longitude = request.Longitude }; inMemoryDocumentStore.Venues.Save(venue); return(new Success()); }
public None Execute(InMemoryDocumentStore inMemoryDocumentStore, UpsertStandardSectorCodes request) { foreach (var record in request.Records) { inMemoryDocumentStore.StandardSectorCodes.CreateOrUpdate( d => d.StandardSectorCodeId == record.StandardSectorCodeId, () => new Core.DataStore.CosmosDb.Models.StandardSectorCode() { Id = Guid.NewGuid(), StandardSectorCodeId = record.StandardSectorCodeId, CreatedDateTimeUtc = request.Now }, ssc => { ssc.EffectiveFrom = record.EffectiveFrom; ssc.EffectiveTo = record.EffectiveTo; ssc.ModifiedDateTimeUtc = request.Now; ssc.StandardSectorCodeDesc = record.StandardSectorCodeDesc; ssc.StandardSectorCodeDesc2 = record.StandardSectorCodeDesc2; }); } return(new None()); }
public None Execute(InMemoryDocumentStore inMemoryDocumentStore, UpsertSectorSubjectAreaTier2s request) { foreach (var record in request.Records) { inMemoryDocumentStore.SectorSubjectAreaTier2s.CreateOrUpdate( d => d.SectorSubjectAreaTier2Id == record.SectorSubjectAreaTier2Id, () => new Core.DataStore.CosmosDb.Models.SectorSubjectAreaTier2() { Id = Guid.NewGuid(), SectorSubjectAreaTier2Id = record.SectorSubjectAreaTier2Id, CreatedDateTimeUtc = request.Now }, s => { s.EffectiveFrom = record.EffectiveFrom; s.EffectiveTo = record.EffectiveTo; s.ModifiedDateTimeUtc = request.Now; s.SectorSubjectAreaTier2Desc = record.SectorSubjectAreaTier2Desc; s.SectorSubjectAreaTier2Desc2 = record.SectorSubjectAreaTier2Desc2; }); } return(new None()); }
public None Execute(InMemoryDocumentStore inMemoryDocumentStore, UpsertProgTypes request) { foreach (var record in request.Records) { inMemoryDocumentStore.ProgTypes.CreateOrUpdate( d => d.ProgTypeId == record.ProgTypeId, () => new Core.DataStore.CosmosDb.Models.ProgType() { Id = Guid.NewGuid(), ProgTypeId = record.ProgTypeId, CreatedDateTimeUtc = request.Now }, progType => { progType.EffectiveFrom = record.EffectiveFrom; progType.EffectiveTo = record.EffectiveTo; progType.ModifiedDateTimeUtc = request.Now; progType.ProgTypeDesc = record.ProgTypeDesc; progType.ProgTypeDesc2 = record.ProgTypeDesc2; }); } return(new None()); }
public Course Execute(InMemoryDocumentStore inMemoryDocumentStore, GetCourseById request) { return(inMemoryDocumentStore.Courses.All.SingleOrDefault(c => c.Id == request.CourseId)); }
public IDictionary <Guid, Apprenticeship> Execute(InMemoryDocumentStore inMemoryDocumentStore, GetApprenticeshipsByIds request) => inMemoryDocumentStore.Apprenticeships.All .Where(p => request.ApprenticeshipIds.Contains(p.Id)) .Where(p => p.RecordStatus != 4 && p.RecordStatus != 8) .ToDictionary(p => p.Id, p => p);