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);
            }
        }
Пример #2
0
        public IActionResult Post(ProjectWithUsers newProject)
        {
            object result = _storage.CreateProject(newProject);

            return(result != null?Ok(result) : (IActionResult)BadRequest());
        }