public async override Task <IEnumerable <Course> > GetAllAsync() { var result = await Query <Course> .Collection() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_GetAll]") .ExecuteAsync(); return(result.Records); }
protected override Command CreateDeleteCommand(Course entity, IAuthenticatedUser user, string selector) { return(Command .NonQuery() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_Delete]") .Parameters( p => p.Name("courseId").Value(entity.Id) )); }
public async override Task <(int, IEnumerable <Course>)> GetAsync(CollectionQueryParameters queryParameters) { var result = await Query <Course> .Collection() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_Get]") .QueryParameters(queryParameters) .Parameters(p => p.Name("count").Count()) .ExecuteAsync(); return(result.Count, result.Records); }
public IEnumerable <Course> GetAllIsRequiredByForCourse(int courseId) { var result = Query <Course> .Collection() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_GetAllIsRequiredBy]") .Parameters( p => p.Name("courseId").Value(courseId) ) .Execute(); return(result.Records); }
public async override Task <Course> GetByIdAsync(int courseId) { var result = await Query <Course> .Single() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_GetById]") .Parameters( p => p.Name("courseId").Value(courseId) ) .ExecuteAsync(); return(result.Record); }
public (int, IEnumerable <Course>) GetRequiresForCourse(int courseId, CollectionQueryParameters queryParameters) { var result = Query <Course> .Collection() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_GetRequires]") .QueryParameters(queryParameters) .Parameters(p => p.Name("count").Count()) .Parameters( p => p.Name("courseId").Value(courseId) ) .Execute(); return(result.Count, result.Records); }
protected override Command CreateUpdateCommand(Course entity, IAuthenticatedUser user, string selector) { if (user != null) { entity.UpdatedBy = (int)user.Id; } return(Command .NonQuery() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_Update]") .Parameters( p => p.Name("courseId").Value(entity.Id), p => p.Name("description").Value(entity.Description), p => p.Name("updatedBy").Value(entity.UpdatedBy) )); }
protected override Command CreateInsertCommand(Course entity, IAuthenticatedUser user, string selector) { if (user != null) { entity.CreatedBy = (int)user.Id; } var command = Query <Course> .Single() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_Insert]") .Parameters( p => p.Name("description").Value(entity.Description), p => p.Name("createdBy").Value(entity.CreatedBy) ) .RecordInstance(entity) .MapProperties( p => p.Name("Id").Index(0) ); return(command); }
protected override Command CreateDeleteLinksCommand(Course entity, IAuthenticatedUser user, string selector) { switch (selector) { case "UnlinkIsRequiredByFromCourse": return(Command .NonQuery() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_UnlinkIsRequiredBy]") .Parameters( p => p.Name("courseId").Value(entity.Id) )); case "UnlinkRequiresFromCourse": return(Command .NonQuery() .ThrowWhenNoRecordIsUpdated(false) .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pCourse_UnlinkRequires]") .Parameters( p => p.Name("courseId").Value(entity.Id) )); default: throw new InvalidOperationException(); } }
public CreatePreRequisiteCommandAggregate() : base(new DomainFramework.DataAccess.RepositoryContext(CourseWithPreRequisitesConnectionClass.GetConnectionName())) { }
public CreatePreRequisiteCommandAggregate(PreRequisiteInputDto preRequisite, EntityDependency[] dependencies = null) : base(new DomainFramework.DataAccess.RepositoryContext(CourseWithPreRequisitesConnectionClass.GetConnectionName())) { Initialize(preRequisite, dependencies); }
protected override Command CreateInsertCommand(PreRequisite entity, IAuthenticatedUser user, string selector) { if (user != null) { entity.CreatedBy = (int)user.Id; } var command = Command .NonQuery() .Connection(CourseWithPreRequisitesConnectionClass.GetConnectionName()) .StoredProcedure("[CourseBoundedContext].[pPreRequisite_Insert]") .Parameters( p => p.Name("createdBy").Value(entity.CreatedBy) ) .OnBeforeCommandExecuted(cmd => { var dependencies = Dependencies(); if (!dependencies.Any()) { cmd.Parameters( p => p.Name("requiredCourseId").Value(entity.Id.RequiredCourseId), p => p.Name("courseId").Value(entity.Id.CourseId) ); } else { switch (selector) { case "Requires": { var course = (Course)dependencies.ElementAt(0).Entity; cmd.Parameters( p => p.Name("requiredCourseId").Value(course.Id), p => p.Name("courseId").Value(course.Id) ); } break; case "IsRequiredBy": { var course = (Course)dependencies.ElementAt(0).Entity; cmd.Parameters( p => p.Name("requiredCourseId").Value(course.Id), p => p.Name("courseId").Value(course.Id) ); } break; default: { var requiresCourse = (Course)dependencies.Single(d => d.Selector == "Requires").Entity; var isRequiredByCourse = (Course)dependencies.Single(d => d.Selector == "IsRequiredBy").Entity; entity.Id = new PreRequisiteId { RequiredCourseId = requiresCourse.Id, CourseId = isRequiredByCourse.Id }; cmd.Parameters( p => p.Name("requiredCourseId").Value(requiresCourse.Id), p => p.Name("courseId").Value(isRequiredByCourse.Id) ); } break; } } }); return(command); }