Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 public Task UpdateProjectAsync(DomainProject requestProject)
 {
     throw new NotImplementedException();
 }
Beispiel #4
0
 public Task <PolicyResult> CreateAsync(Domain.Projects.Project project)
 {
     throw new NotImplementedException();
 }