public async Task <ActionResult <Camera> > AddCamera(NewCamera camera) { int cameraId; Camera result; using (var tx = db.BeginTransaction()) { try { cameraId = await db.InsertCamera(camera); } catch (SqlException ex) when(ex.IsDuplicateKeyException()) { return(Conflict(new { Message = $"A camera with ID '' already exists." })); } result = await db.SelectCamera(cameraId); tx.Commit(); } return(result); }
public static Task <int> InsertCamera(this IDbConnection db, NewCamera camera) { return(db.QuerySingleAsync <int>(@"insert into Camera (Name, RtspUrl) values (@name, @rtspUrl); select @@identity", camera)); }