/// <summary> /// Updates a project /// </summary> /// <param name="project">Project</param> /// <returns>Task</returns> public async Task UpdateProject(GoNorthProject project) { if (project.IsDefault) { await SetAllProjectsAsNonDefault(); } ReplaceOneResult result = await _ProjectCollection.ReplaceOneAsync(p => p.Id == project.Id, project); }
/// <summary> /// Creates a new project /// </summary> /// <param name="project">Project to create</param> /// <returns>Created project, with filled id</returns> public async Task <GoNorthProject> CreateProject(GoNorthProject project) { if (project.IsDefault) { await SetAllProjectsAsNonDefault(); } project.Id = Guid.NewGuid().ToString(); await _ProjectCollection.InsertOneAsync(project); return(project); }
/// <summary> /// Gets the default project /// </summary> /// <returns>Default project</returns> public async Task <GoNorthProject> GetDefaultProject() { GoNorthProject project = await _ProjectCollection.Find(p => p.IsDefault).FirstOrDefaultAsync(); return(project); }
/// <summary> /// Gets a project by it Id /// </summary> /// <param name="projectId">Project Id</param> /// <returns>Project</returns> public async Task <GoNorthProject> GetProjectById(string projectId) { GoNorthProject project = await _ProjectCollection.Find(p => p.Id == projectId).FirstOrDefaultAsync(); return(project); }
/// <summary> /// Deletes a project /// </summary> /// <param name="project">Project</param> /// <returns>Task</returns> public async Task DeleteProject(GoNorthProject project) { DeleteResult result = await _ProjectCollection.DeleteOneAsync(p => p.Id == project.Id); }
/// <summary> /// Deletes a project /// </summary> /// <param name="project">Project</param> /// <returns>Task</returns> public async Task DeleteProject(GoNorthProject project) { await _UserSelectedProjectCollection.DeleteManyAsync(p => p.ProjectId == project.Id); DeleteResult result = await _ProjectCollection.DeleteOneAsync(p => p.Id == project.Id); }