예제 #1
0
        public async Task <ResultModel> AddProjectAsync(AddProjectRequestModel requestModel)
        {
            var model = _mapper.Map <AddProjectModel>(requestModel);
            await _projectService.AddProjectAsync(model);

            return(ResultModel.Success("添加成功"));
        }
예제 #2
0
        public async Task <IActionResult> AddProject([FromBody] UpsertProjectParams ps)
        {
            if (!await _permissionService.HasGlobalPermissionAsync(Permission.Admin))
            {
                return(StatusCode(403, "You have no permission to add project."));
            }

            return(Ok(await _projectService.AddProjectAsync(ps)));
        }
예제 #3
0
        public async Task <IActionResult> CreateProjectAsync(CreateProjectRequest request)
        {
            var mappedProject = Mapper.Map <CreateProjectRequest, Project>(request);

            mappedProject.DateCreatedUtc = DateTime.UtcNow;
            var project = await _projectService.AddProjectAsync(mappedProject);

            return(Ok(project));
        }
예제 #4
0
        public async Task <ActionResult <BaseResponse> > Add(string GroupId, ProjectAddDto req)
        {
            var    GId     = User.Claims.FirstOrDefault(a => a.Type == "GroupId").Value;
            var    isAdmin = User.Claims.FirstOrDefault(a => a.Type == "IsAdmin").Value.ToLower() == "true" ? true : false;
            string Code    = User.Claims.FirstOrDefault(a => a.Type == "Code").Value;
            string Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value;
            string Roles   = User.Claims.FirstOrDefault(a => a.Type == "Role").Value;

            if (req.ProjectType == 1 && !req.ParentId.HasValue)
            {
                return(new BaseResponse {
                    Success = false, Message = "场站必须添加在项目下"
                });
            }
            //是否管理员
            if (isAdmin)
            {
                if (GroupId != GId && Code != _config["Group"])
                {
                    return(new BaseResponse {
                        Success = false, Message = "用户没有权限添加此项目"
                    });
                }
            }
            else
            {
                if (req.ParentId.HasValue && req.ParentId.Value != 0)
                {
                    return(new BaseResponse {
                        Success = false, Message = "用户没有权限添加顶级项目"
                    });
                }
                else//非顶级项目
                {
                    string fullPath;
                    fullPath = await _ps.GetPathId(req.ParentId.Value);

                    if (fullPath == null)
                    {
                        return(new BaseResponse {
                            Success = false, Message = "输入的父项目不存在"
                        });
                    }
                    var bRet = await _rp.IsAuth(Roles, fullPath, 3);

                    if (!bRet)
                    {
                        return(new BaseResponse {
                            Success = false, Message = "用户没有权限添加此项目或者场站"
                        });
                    }
                }
            }
            var ret = await _ps.AddProjectAsync(req, Account, GroupId);

            return(ret);
        }
예제 #5
0
 public async Task <ActionResult <int> > AddProject([FromBody] ProjectDTO project)
 {
     try
     {
         return(Ok(await _projectService.AddProjectAsync(project)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex.GetBaseException().Message));
     }
 }
예제 #6
0
        public async Task <IActionResult> Add(Project project)
        {
            if (!ModelState.IsValid)
            {
                return(View("Add", project));
            }

            var result = await _projectService
                         .AddProjectAsync(project);

            return(RedirectToAction("Index", "Projects"));
        }
예제 #7
0
        public async Task GivenProject_ShouldSaveAndReturn_ServiceResponse()
        {
            _tableContextMock.Setup(e => e.InsertOrMergeEntityAsync(It.IsAny <ProjectEntity>()))
            .ReturnsAsync(_projectEntity);
            var result = await _sut.AddProjectAsync(_project);

            var expectedResult = new ServiceResponse
            {
                ServiceResponseStatus = ServiceResponseStatus.Ok,
                Message = $"The project {Constants.REPO_NAME} was added."
            };

            result.Should().BeEquivalentTo(expectedResult);
        }
        public async Task <IActionResult> CreateAsync([FromBody] NewProject newProject)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var successful = await _projectService.AddProjectAsync(newProject);

            if (!successful)
            {
                return(BadRequest(new { error = "Could not add item." }));
            }

            return(Ok(successful));
        }
예제 #9
0
        public async Task <IActionResult> PostProject([FromBody] ProjectDTO project)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            OperationResult result = await _projectService.AddProjectAsync(project);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            return(CreatedAtAction("GetProject", new { id = project.ID }, project));
        }
예제 #10
0
        public async Task <ResultModel> AddProject(AddProjectModel model)
        {
            try
            {
                await projectService.AddProjectAsync(model);

                return(ResultModel.Success("添加成功"));
            }
            catch (AspectInvocationException ex)
            {
                return(ResultModel.Fail(ex.InnerException?.Message));
            }
            catch (MateralConfigCenterException ex)
            {
                return(ResultModel.Fail(ex.Message));
            }
        }
예제 #11
0
        public async Task <IHttpActionResult> AddProject([FromBody] AddProjectViewModel model)
        {
            if (model == null)
            {
                model = new AddProjectViewModel();
                Validate(model);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var project = await _projectService.AddProjectAsync(model, CancellationToken.None);

            return(Ok(project));
        }
예제 #12
0
        public async Task <ActionResult> CreateProject(ProjectView project)
        {
            if (ModelState.IsValid)
            {
                var mapped      = _mapper.Map <ProjectView, IProjectModel>(project);
                var projectInDb = await ProjectService.CompareProjects(mapped.ProjectName, mapped.Username);

                if (!(projectInDb == null))
                {
                    return(Content("<script language='javascript' type='text/javascript'>alert('Project already exists!');window.location.href='/Home/Login';</script>"));
                }
                else
                {
                    mapped.ProjectId = Guid.NewGuid();
                    var status = await ProjectService.AddProjectAsync(mapped);

                    return(RedirectToAction("AddCriterion", "Criterion", new { id = mapped.ProjectId }));
                }
            }
            return(View());
        }
예제 #13
0
 public async System.Threading.Tasks.Task HandleAsync(CreateProject command)
 {
     await _projectService.AddProjectAsync();
 }
예제 #14
0
 public async Task Post([FromBody] ProjectRequest value)
 {
     await _projectService.AddProjectAsync(value);
 }
예제 #15
0
 public async Task <ActionResult <Project> > AddProjectAsync([FromBody] ProjectDetailsDto projectDetails)
 {
     return(Ok(await _projectService.AddProjectAsync(projectDetails)));
 }