public object CreateProject(ProjectWithUsers newProject) { try { using (var db = new SqlConnection(ConnectionString)) { db.Open(); // create Project and select ID var projectId = db.ExecuteScalar(@" INSERT INTO [dbo].[Projects] ([Name], [isArchived], [Description]) VALUES (@name, @isArchived, @description) SELECT SCOPE_IDENTITY(); ", newProject); // create UsersToProjects for each user with ProjectId foreach (var uid in newProject.UserIds) { db.ExecuteScalar($@" INSERT INTO [dbo].[UsersToProjects] ([UserId], [ProjectId]) VALUES (${uid}, ${projectId}); "); } return(projectId); } } catch { return(null); } }
public IActionResult Post(ProjectWithUsers newProject) { object result = _storage.CreateProject(newProject); return(result != null?Ok(result) : (IActionResult)BadRequest()); }