public bool AddUserToProject(int?projectId, int?userId) { if (!IsUserAUser(projectId, userId)) { _projectRepository.AddUserToProject(projectId.Value, userId.Value); } return(_projectRepository.Save()); }
public async Task <ActionResult> Create([FromBody] Dto.ProjectForCreate Project) { if (User.FindFirst(ClaimTypes.Role).Value == Config.GetSection("Role:Consultant:Name").Value) { return(Unauthorized()); } bool hasUsers = false; if (Project == null) { return(BadRequest()); } if (Project.UsersOnTheProject == null) { return(BadRequest()); } if (Project.UsersOnTheProject.Count > 0) { hasUsers = true; } List <Models.User> users = new List <Models.User>(); foreach (Dto.UserId user in Project.UsersOnTheProject) { users.Add(new Models.User { Id = user.Id }); } Models.Project ModelProject = new Models.Project { Name = Project.Name, CompanyId = Project.CompanyId, InProgress = Project.InProgress, Billable = Project.Billable, Overtime = Project.Overtime }; if (await Repo.Create(ModelProject)) { if (hasUsers) { if (await Repo.AddUserToProject(ModelProject, users)) { return(StatusCode(201)); } else { return(BadRequest()); } } else { return(StatusCode(201)); } } return(BadRequest()); }
public async Task <IActionResult> addUserToProject([FromBody] Project project, string userName) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var res = await _proRepo.AddUserToProject(project, userName); if (await _proRepo.SaveAll() && res != null) { return(NoContent()); } throw new Exception($"Fail to add user to project!"); }