コード例 #1
0
        public static Project ToDomainEntity(
            this MongoProject project,
            MongoUser author,
            IEnumerable <MongoRequirement> requirements = null,
            IEnumerable <MongoUseCase> useCases         = null)
        {
            var reqs = requirements?.Select(r =>
                                            new Project.Requirement(
                                                r.Id.ToDomainIdentity(),
                                                Enum.Parse <RequirementType>(r.Type),
                                                r.Title,
                                                r.OrderMarker)
                                            );

            var ucs = useCases?.Select(u =>
                                       new Project.UseCase(
                                           u.Id.ToDomainIdentity(),
                                           u.Title,
                                           u.OrderMarker)
                                       );

            return(new Project(
                       project.Id.ToDomainIdentity(),
                       new BasicUser(author.Id.ToDomainIdentity(), author.DisplayName),
                       project.Name,
                       project.Description,
                       reqs,
                       ucs));
        }
コード例 #2
0
        public async Task <bool> UpdateProject(string id, MongoProject projectIn)
        {
            var oldProject = await GetProjectById(id);

            oldProject.ProjectName = projectIn.ProjectName;
            var result = await _Projects.ReplaceOneAsync(project => project.Id == id, oldProject);

            return(result.IsAcknowledged);
        }
コード例 #3
0
        public void InsertMosaicFileReturnsErrorIfIdEmpty()
        {
            var request = new ProjectInsertMosaicFileRequest()
            {
                Id = String.Empty
            };
            var response = new MongoProject().InsertMosaicFile(MockMongoDatabase.Object, request);

            Assert.IsFalse(String.IsNullOrEmpty(response.Error));
        }
コード例 #4
0
        public void InsertLargeFileReturnsErrorIfNullMasterLocation()
        {
            var request = new ProjectInsertLargeFileRequest()
            {
                Id = ObjectId.GenerateNewId().ToString(), LargeFileId = ObjectId.GenerateNewId().ToString()
            };
            var response = new MongoProject().InsertLargeFile(MockMongoDatabase.Object, request);

            Assert.IsFalse(String.IsNullOrEmpty(response.Error));
        }
コード例 #5
0
        public void InsertSmallFilesReturnsErrorIfNullSmallImageIds()
        {
            var request = new ProjectInsertSmallFilesRequest()
            {
                Id = ObjectId.GenerateNewId().ToString()
            };
            var response = new MongoProject().InsertSmallFiles(MockMongoDatabase.Object, request);

            Assert.IsFalse(String.IsNullOrEmpty(response.Error));
        }
コード例 #6
0
        public async Task <bool> CreateProject(CreateProjectViewModel model)
        {
            var project = new MongoProject
            {
                ProjectName = model.Name
            };
            await _Projects.InsertOneAsync(project);

            return(true);
        }
        public async Task <IActionResult> UpdateProject([FromRoute] string projectId, [FromForm] CreateProjectViewModel model)
        {
            var updatedProject = new MongoProject
            {
                ProjectName = model.Name
            };
            var result = await _mongoProjectService.UpdateProject(projectId, updatedProject);

            if (result)
            {
                return(Ok(new { status = 1, message = "Updated successfully" }));
            }
            return(BadRequest(new { status = 0, message = "Not Updated" }));
        }
        public async Task <IActionResult> RemoveProject([FromForm] MongoProject project)
        {
            var result = await _mongoProjectService.RemoveProject(project);

            try
            {
                if (result)
                {
                    return(Ok(new { status = 1, message = "Project was deleted successfully" }));
                }
                return(NotFound(new { status = 0, message = "Not Found this item to delete" }));
            }
            catch (Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failure"));
            }
        }
コード例 #9
0
 public static Requirement ToDomainEntity(this MongoRequirement requirement, MongoUser author, MongoProject project)
 {
     return(new Requirement(
                requirement.Id.ToDomainIdentity(),
                new BasicProject(project.Id.ToDomainIdentity(), project.Name),
                new BasicUser(author.Id.ToDomainIdentity(), author.DisplayName),
                Enum.Parse <RequirementType>(requirement.Type),
                requirement.Title,
                requirement.Note
                ));
 }
コード例 #10
0
 public static UseCase ToDomainEntity(this MongoUseCase useCase, MongoUser author, MongoProject project)
 {
     return(new UseCase(
                useCase.Id.ToDomainIdentity(),
                new BasicProject(project.Id.ToDomainIdentity(), project.Name),
                new BasicUser(author.Id.ToDomainIdentity(), author.DisplayName),
                useCase.Title,
                useCase.Note,
                useCase.Steps.Select(x => new UseCase.UseCaseStep {
         Content = x
     })));                                                                    //OrderMarker probably isnt needed
 }
コード例 #11
0
        public async Task <bool> RemoveProject(MongoProject projectIn)
        {
            var result = await _Projects.DeleteOneAsync(project => project.Id == projectIn.Id);

            return(result.IsAcknowledged);
        }