public async Task AddProject(string username, KanbanProject newProject) { if (string.IsNullOrWhiteSpace(newProject.Name)) { throw new Exception("Project name cannot be empty"); } var user = await _context.Users.FirstOrDefaultAsync(x => x.Username == username); if (await _context.KanbanProjects.FirstOrDefaultAsync(x => x.Name == newProject.Name && x.ParentUser == user) != null) { throw new Exception("Project name must be unique"); } newProject.ParentUser = user; await _context.KanbanProjects.AddAsync(newProject); _context.SaveChanges(); }
public async Task <IActionResult> AddProject(KanbanProjectNewDTO projectToAdd) { var clientUsername = User.FindFirst(ClaimTypes.Name).Value; var newProject = new KanbanProject(); newProject.Name = projectToAdd.Name; newProject.Notes = projectToAdd.Notes; try { await _kanbanRepo.AddProject(clientUsername, newProject); } catch (Exception e) { return(BadRequest(e.Message)); } return(Ok()); }