コード例 #1
0
ファイル: ProjectController.cs プロジェクト: Herocod3r/DocIT
        public async Task <ActionResult <ProjectViewModel> > Post([FromBody] ProjectPayload value)
        {
            try
            {
                var result = await service.CreateProject(value, this.UserId);

                return(Ok(result));
            }
            catch (ProjectException ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #2
0
ファイル: ProjectService.cs プロジェクト: Herocod3r/DocIT
        public async Task <ProjectViewModel> CreateProject(ProjectPayload payload, Guid userId)
        {
            var project = this.Map <Project, ProjectPayload>(payload);

            project.DateCreated     = DateTime.Now;
            project.CreatedByUserId = userId;
            project.PreviewLinks    = new System.Collections.Generic.List <string>();
            await Task.Run(() => this.repository.CreateNew(project));

            var item = this.repository.QueryAsync().FirstOrDefault(x => x.Id == project.Id);

            if (item is null)
            {
                throw new ProjectException("Failed to create project, please check back later");
            }
            return(this.Map <ProjectViewModel, ProjectListItem>(item));
        }