public async Task <Guid> CreateProjectAsync(DomainProject project) { try { var projects = this.database.GetCollection <Project>(Constants.PROJECTS_COLLECTION); var mongoProject = this.mapper.Map <Project>(project); await projects.InsertOneAsync(mongoProject); return(project.ProjectId); } catch (Exception e) { this.logger.LogError(e, e.Message); throw; } }
public async Task <DomainProject> GetByProjectIdAsync(Guid projectId) { // https://docs.mongodb.com/manual/tutorial/model-referenced-one-to-many-relationships-between-documents/ var projects = this.database.GetCollection <Project>(Constants.PROJECTS_COLLECTION); var proj = await projects.FindAsync(p => p.ProjectId == projectId).ConfigureAwait(false); var project = proj.FirstOrDefault(); if (project == null) { return(null); } var questions = await this.GetQuestionsByProjectIdAsync(project.ProjectId); var domainProject = new DomainProject(questions) { EndDate = project.EndDate, ProjectId = project.ProjectId, ProjectName = project.ProjectName, StartDate = project.StartDate }; return(domainProject); }
public Task UpdateProjectAsync(DomainProject requestProject) { throw new NotImplementedException(); }
public Task <PolicyResult> CreateAsync(Domain.Projects.Project project) { throw new NotImplementedException(); }