22using HueEntertainmentPro . Database . Models ;
33using HueEntertainmentPro . Services . Extensions ;
44using HueEntertainmentPro . Shared . Interfaces ;
5+ using HueEntertainmentPro . Shared . Models ;
56using HueEntertainmentPro . Shared . Models . Requests ;
67using Microsoft . EntityFrameworkCore ;
78using ProtoBuf . Grpc ;
@@ -42,7 +43,12 @@ public class ProAreaDataService(HueEntertainmentProDbContext dbContext) : IProAr
4243
4344 await dbContext . SaveChangesAsync ( ) ;
4445
45- return await GetProArea ( new GuidRequest { Id = proArea . Id } , context ) ;
46+ var area = await GetProArea ( new GuidRequest { Id = proArea . Id } , context ) ;
47+ if ( area == null )
48+ {
49+ throw new NullReferenceException ( $ "Area is null. Id: { proArea . Id } ") ;
50+ }
51+ return area ;
4652 }
4753
4854 public async Task DeleteBridgeGroup ( GuidRequest req , CallContext context = default )
@@ -78,12 +84,17 @@ public async Task DeleteProArea(GuidRequest req, CallContext context = default)
7884 await dbContext . SaveChangesAsync ( ) ;
7985 }
8086
81- return await GetProArea ( new GuidRequest { Id = req . Id } , context ) ;
87+ var area = await GetProArea ( new GuidRequest { Id = req . Id } , context ) ;
88+ if ( area == null )
89+ {
90+ throw new NullReferenceException ( $ "Area is null. Id: { req . Id } ") ;
91+ }
92+ return area ;
8293 }
8394
8495 public async Task < HueEntertainmentPro . Shared . Models . ProArea > CreateProArea ( CreateProAreaRequest req , CallContext context = default )
8596 {
86- var newArea = new ProArea
97+ var newArea = new Database . Models . ProArea
8798 {
8899 Id = Guid . NewGuid ( ) ,
89100 Name = req . Name ,
@@ -93,11 +104,16 @@ public async Task DeleteProArea(GuidRequest req, CallContext context = default)
93104 dbContext . ProAreas . Add ( newArea ) ;
94105 await dbContext . SaveChangesAsync ( ) ;
95106
96- return await GetProArea ( new GuidRequest { Id = newArea . Id } , context ) ;
107+ var area = await GetProArea ( new GuidRequest { Id = newArea . Id } , context ) ;
108+ if ( area == null )
109+ {
110+ throw new NullReferenceException ( $ "Area is null. Id: { newArea . Id } ") ;
111+ }
112+ return area ;
97113
98114 }
99115
100- public async Task < HueEntertainmentPro . Shared . Models . ProArea > GetProArea ( GuidRequest req , CallContext context = default )
116+ public async Task < HueEntertainmentPro . Shared . Models . ProArea ? > GetProArea ( GuidRequest req , CallContext context = default )
101117 {
102118 if ( req . Id == demo1Id )
103119 {
@@ -159,8 +175,9 @@ public async Task DeleteProArea(GuidRequest req, CallContext context = default)
159175 var area = await dbContext . ProAreas
160176 . Include ( x => x . ProAreaBridgeGroups ) . ThenInclude ( bg => bg . Bridge )
161177 . FirstOrDefaultAsync ( pa => pa . Id == req . Id ) ;
178+
162179 if ( area == null )
163- return null ! ;
180+ return null ;
164181
165182 return area . ToApiModel ( ) ;
166183 }
0 commit comments