Skip to content

Commit

Permalink
fix possible null references
Browse files Browse the repository at this point in the history
  • Loading branch information
yelizsevinc committed Jul 19, 2024
1 parent 02ba6e8 commit ae106d8
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 54 deletions.
33 changes: 19 additions & 14 deletions CineStream/Components/Pages/Platform/PlatformDetails.razor
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,14 @@
<CardBody>
<CardBlock>
<CardText>
@foreach (var appPlatformShow in appPlatformShows)
@if (appPlatformShows != null)
{
<ul>
<li>@appPlatformShow.Title</li>
</ul>
@foreach (var appPlatformShow in appPlatformShows)
{
<ul>
<li>@appPlatformShow.Title</li>
</ul>
}
}
</CardText>
</CardBlock>
Expand All @@ -56,11 +59,14 @@
<CardBody>
<CardBlock>
<CardText>
@foreach (var appPlatformUser in appPlatformUsers)
@if (appPlatformUsers != null)
{
<ul>
<li>@appPlatformUser.Username</li>
</ul>
@foreach (var appPlatformUser in appPlatformUsers)
{
<ul>
<li>@appPlatformUser.Username</li>
</ul>
}
}
</CardText>
</CardBlock>
Expand All @@ -72,11 +78,10 @@

@code
{
[Parameter]
public string? PlatformId { get; set; }
[Parameter] public string? PlatformId { get; set; }
private Platform? appPlatform { get; set; }
private ICollection<User>? appPlatformUsers = new List<User>();
private ICollection<Show>? appPlatformShows = new List<Show>();
private ICollection<User> appPlatformUsers = new List<User>();
private ICollection<Show> appPlatformShows = new List<Show>();
protected override async Task OnInitializedAsync()
{
await LoadDataAsync();
Expand All @@ -94,15 +99,15 @@
foreach (var platformUser in platformUsers)
{
var user = await context.Users!.FirstOrDefaultAsync(c => c.UserId == platformUser.UserId);
appPlatformUsers.Add(user);
if (user != null) appPlatformUsers.Add(user);
}

var platformShows = await context.PlatformShows!.Where(c => c.PlatformId == appPlatform.PlatformId).ToListAsync();

foreach (var platformShow in platformShows)
{
var show = await context.Shows!.FirstOrDefaultAsync(c => c.ShowId == platformShow.ShowId);
appPlatformShows.Add(show);
if (show != null) appPlatformShows.Add(show);
}
}
}
Expand Down
76 changes: 61 additions & 15 deletions CineStream/Components/Pages/Show/ShowDetails.razor
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,60 @@
</CardBody>
</Card>
</div>
<div class="clr-col-12">
<div class="clr-col-lg-6 clr-col-12">
<Card>
<CardHeader>
<i class="bi bi-tv-fill" aria-hidden="true"></i> Platform
<NavLink href=@($"platforms")><i class="bi bi-tv-fill" aria-hidden="true"></i> Platforms</NavLink>
</CardHeader>
<CardBody>
<CardBlock>
<CardText>
@appShowPlatform.Name
</CardText>
</CardBlock>
</CardBody>
</Card>
@if (appShowPlatforms != null)
{
@foreach (var appShowPlatform in appShowPlatforms)
{
<ul>
<li>@appShowPlatform.Name</li>
</ul>
}
}
</CardText>
</CardBlock>
</CardBody>
</Card>
</div>

<div class="clr-col-lg-6 clr-col-12">
<Card>
<CardHeader>
<NavLink href=@($"users")><i class="bi bi-people-fill" aria-hidden="true"></i> Users</NavLink>
</CardHeader>
<CardBody>
<CardBlock>
<CardText>
@if (appShowUsers != null)
{
@foreach (var appShowUser in appShowUsers)
{
<ul>
<li>@appShowUser.Username</li>
</ul>
}
}
</CardText>
</CardBlock>
</CardBody>
</Card>
</div>
</div>
</div>
}

@code
{
[Parameter]
public string? ShowId { get; set; }
[Parameter] public string? ShowId { get; set; }
private Show? appShow { get; set; }
private Platform? appShowPlatform;
private ICollection<Platform> appShowPlatforms = new List<Platform>();
private ICollection<User> appShowUsers = new List<User>();
protected override async Task OnInitializedAsync()
{
await LoadDataAsync();
Expand All @@ -60,10 +91,25 @@
appShow = await context.Shows!.FirstOrDefaultAsync(c => c.ShowId.ToString() == ShowId);
if (appShow != null)
{
var platformShow = await context.PlatformShows!.FirstOrDefaultAsync(c => c.ShowId == appShow.ShowId);
appShowPlatform = await context.Platforms!.FirstOrDefaultAsync(c => c.PlatformId == platformShow.PlatformId);
var showPlatforms = await context.PlatformShows!.Where(c => c.ShowId == appShow.ShowId).ToListAsync();

foreach (var showPlatform in showPlatforms)
{
var platform = await context.Platforms!.FirstOrDefaultAsync(c => c.PlatformId == showPlatform.PlatformId);
if (platform != null) appShowPlatforms.Add(platform);

}

var showUsers = await context.UserShows!.Where(c => c.ShowId == appShow.ShowId).ToListAsync();

foreach (var showUser in showUsers)
{
var user = await context.Users!.FirstOrDefaultAsync(c => c.UserId == showUser.UserId);
if (user != null) appShowUsers.Add(user);

}

}

}

}
}
56 changes: 31 additions & 25 deletions CineStream/Components/Pages/User/UserDetails.razor
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,14 @@
<CardBody>
<CardBlock>
<CardText>
@foreach (var appUserShow in appUserShows)
@if (appUserShows != null)
{
<ul>
<li>@appUserShow.Title</li>
</ul>
@foreach (var appUserShow in appUserShows)
{
<ul>
<li>@appUserShow?.Title</li>
</ul>
}
}
</CardText>
</CardBlock>
Expand All @@ -48,40 +51,43 @@
<div class="clr-col-lg-6 clr-col-12">
<Card>
<CardHeader>
<i class="bi bi-tv-fill" aria-hidden="true"></i> Platforms
</CardHeader>
<CardBody>
<NavLink href=@($"platforms")><i class="bi bi-tv-fill" aria-hidden="true"></i> Platforms</NavLink>
</CardHeader>
<CardBody>
<CardBlock>
<CardText>
@foreach (var appUserPlatform in appUserPlatforms)
{
<ul>
<li>@appUserPlatform.Name</li>
</ul>
}
</CardText>
</CardBlock>
</CardBody>
@if (appUserPlatforms != null)
{
@foreach (var appUserPlatform in appUserPlatforms)
{
<ul>
<li>@appUserPlatform?.Name</li>
</ul>
}
}
</CardText>
</CardBlock>
</CardBody>
</Card>
</div>
</div>
}

@code
{
[Parameter]
public string? UserId { get; set; }
[Parameter] public string? UserId { get; set; }
private User? appUser { get; set; }
private ICollection<Platform>? appUserPlatforms = new List<Platform>();
private ICollection<Show>? appUserShows = new List<Show>();
private ICollection<Platform> appUserPlatforms = new List<Platform>();
private ICollection<Show> appUserShows = new List<Show>();

protected override async Task OnInitializedAsync()
{
await LoadDataAsync();
}

private async Task LoadDataAsync()
{
using var context = DbFactory.CreateDbContext();
using var context = await DbFactory.CreateDbContextAsync();

appUser = await context.Users!.FirstOrDefaultAsync(c => c.UserId.ToString() == UserId);
if (appUser != null)
Expand All @@ -91,17 +97,17 @@
foreach (var platformUser in platformUsers)
{
var platform = await context.Platforms!.FirstOrDefaultAsync(c => c.PlatformId == platformUser.PlatformId);
appUserPlatforms.Add(platform);
if (platform != null) appUserPlatforms.Add(platform);

}

var showUsers = await context.UserShows!.Where(c => c.UserId == appUser.UserId).ToListAsync();

foreach (var showUser in showUsers)
{
var show = await context.Shows!.FirstOrDefaultAsync(c => c.ShowId == showUser.ShowId);
appUserShows.Add(show);
if (show != null) appUserShows.Add(show);
}
}
}

}
}

0 comments on commit ae106d8

Please sign in to comment.