示例#1
0
        public void Update(ProjectDocumentDTO projectDocumentDTO)
        {
            ProjectDocument projectDocument = new ProjectDocument();

            projectDocument.Id                    = projectDocumentDTO.Id;
            projectDocument.ProjectId             = projectDocumentDTO.ProjectId;
            projectDocument.Description           = projectDocumentDTO.Description;
            _context.Entry(projectDocument).State = EntityState.Modified;
        }
示例#2
0
        public ProjectDocumentDTO GetById(int id)
        {
            var projectDocument    = _context.projectDocuments.Include(d => d.Project).FirstOrDefault(d => d.Id == id);
            var projectDocumentDTO = new ProjectDocumentDTO()
            {
                Id           = projectDocument.Id,
                Description  = projectDocument.Description,
                DocumentName = projectDocument.DocumentName,
                DocumentFile = projectDocument.DocumentFile,
                ProjectId    = projectDocument.ProjectId,
                ProjectName  = projectDocument.Project.ProjectName
            };

            return(projectDocumentDTO);
        }
        public IActionResult PutProjectDocumentDTO(int id, ProjectDocumentDTO projectDocumentDTO)
        {
            if (id != projectDocumentDTO.Id)
            {
                return(BadRequest());
            }

            _projectDocumentRepository.Update(projectDocumentDTO);

            try
            {
                _projectDocumentRepository.Save();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string message = ex.Message;
            }

            return(NoContent());
        }
示例#4
0
        public async Task <GetProjectResponse> Handle(GetProjectRequest query, CancellationToken cancellationToken)
        {
            var result = new GetProjectResponse();

            if (query.IsExistProjectByMemberUsername != null)
            {
                result.IsExistProjectByMemberUsernameResult = false;

                var isExistProject = await _context.Projects
                                     .Where(x => x.MemberUsername == query.IsExistProjectByMemberUsername)
                                     .FirstOrDefaultAsync(cancellationToken);

                if (isExistProject != null)
                {
                    result.IsSuccessful = true;
                    result.IsExistProjectByMemberUsernameResult = true;
                    result.ProjectID = isExistProject.ProjectID;
                }

                return(result);
            }

            var project = await _context.Projects
                          .Where(x => x.ProjectID == query.ProjectID)
                          .Include(a => a.Blockchain)
                          .Include(a => a.Contributors)
                          .Include(a => a.ProjectDocuments)
                          .SingleOrDefaultAsync(cancellationToken);

            if (project == null)
            {
                result.IsSuccessful = false;

                throw new NotFoundException(nameof(Project), query.ProjectID);
            }

            result.IsSuccessful     = true;
            result.ProjectID        = query.ProjectID;
            result.MemberUsername   = project.MemberUsername;
            result.Name             = project.Name;
            result.BlockchainID     = project.Blockchain.BlockchainID;
            result.BlockchainName   = project.Blockchain.Name;
            result.Description      = project.Description;
            result.WalletAddress    = project.WalletAddress;
            result.ProjectStatus    = project.ProjectStatus;
            result.Contributors     = new List <ContributorDTO>();
            result.ProjectDocuments = new List <ProjectDocumentDTO>();

            foreach (var contributor in project.Contributors)
            {
                var contributorDTO = new ContributorDTO()
                {
                    ContributorID    = contributor.ContributorID,
                    MemberUsername   = contributor.MemberUsername,
                    InvitationStatus = contributor.InvitationStatus,
                    ProjectID        = contributor.ProjectID
                };

                result.Contributors.Add(contributorDTO);
            }

            foreach (var projectDocument in project.ProjectDocuments)
            {
                var projectDocumentDTO = new ProjectDocumentDTO()
                {
                    ProjectDocumentID = projectDocument.ProjectDocumentID,
                    DocumentID        = projectDocument.DocumentID,
                    Title             = projectDocument.Title,
                    OriginalFileName  = projectDocument.OriginalFileName
                };

                result.ProjectDocuments.Add(projectDocumentDTO);
            }

            return(result);
        }