Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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());
        }