Lucie Bedouret 2 years ago
commit 6d1bbdff48

@ -0,0 +1,25 @@
**/.classpath
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/*.*proj.user
**/*.dbmdl
**/*.jfm
**/azds.yaml
**/bin
**/charts
**/docker-compose*
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
LICENSE
README.md

File diff suppressed because one or more lines are too long

@ -0,0 +1,76 @@
kind: pipeline
type: docker
#steps :
# - name: build
# image: mcr.microsoft.com/dotnet/sdk:6.0
# commands:
# - cd myBlazorApp/
# - dotnet restore myBlazorApp.sln
# - dotnet build myBlazorApp.sln -c Release --no-restore
# - name: tests
# image: mcr.microsoft.com/dotnet/sdk:6.0
# commands:
# - cd myBlazorApp/
# - dotnet restore myBlazorApp.sln
# - dotnet test myBlazorApp.sln --no-restore
# depends_on: [build]
# - name: code-analysis
# image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dronesonarplugin-dotnet6
# commands:
# - cd myBlazorApp/
# - dotnet restore myBlazorApp.sln
# - dotnet sonarscanner begin /k:$REPO_NAME /d:sonar.host.url=$$$${PLUGIN_SONAR_HOST} /d:sonar.coverageReportPaths="coveragereport/SonarQube.xml" /d:sonar.coverage.exclusions="Tests/**" /d:sonar.login=$$$${PLUGIN_SONAR_TOKEN}
# - dotnet build myBlazorApp.sln -c Release --no-restore
# - dotnet test myBlazorApp.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage"
# - reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport"
# - dotnet publish myBlazorApp.sln -c Release --no-restore -o $CI_PROJECT_DIR/build/release
# - dotnet sonarscanner end /d:sonar.login=$$$${PLUGIN_SONAR_TOKEN}
# secrets: [ SECRET_SONAR_LOGIN ]
# settings:
# # accessible en ligne de commande par $${PLUGIN_SONAR_HOST}
# sonar_host: https://codefirst.iut.uca.fr/sonar/
# # accessible en ligne de commande par $${PLUGIN_SONAR_TOKEN}
# sonar_token:
# from_secret: SECRET_SONAR_LOGIN
# depends_on: [tests]
## - name: generate-and-deploy-docs
## image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-docdeployer
## failure: ignore
## volumes:
## - name: docs
## path: /docs
## commands:
## - /entrypoint.sh
## when:
## branch:
## - master
## depends_on: [ build ]
### The volumes declaration appear at the end of the file, after all steps
##volumes:
##- name: docs
## temp: {}
# - name: docker-build
# image: plugins/docker
# settings:
# dockerfile: myBlazorApp/myBlazorApp/Dockerfile
# context: .
# registry: hub.codefirst.iut.uca.fr
# repo: hub.codefirst.iut.uca.fr/lucie.bedouret/blazorCourse
# username:
# from_secret: SECRET_REGISTRY_USERNAME
# password:
# from_secret: SECRET_REGISTRY_PASSWORD
# when:
# branch:
# - master

@ -0,0 +1,26 @@
##See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
#
##Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
##For more information, please see https://aka.ms/containercompat
#
#FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
#WORKDIR /app
#EXPOSE 80
#EXPOSE 443
#
#FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
#WORKDIR /src
#COPY ["nuget.config", "."]
#COPY ["myBlazorApp/myBlazorApp.csproj", "myBlazorApp/"]
#RUN dotnet restore "myBlazorApp/myBlazorApp.csproj"
#COPY . .
#WORKDIR "/src/myBlazorApp"
#RUN dotnet build "myBlazorApp.csproj" -c Release -o /app/build
#
#FROM build AS publish
#RUN dotnet publish "myBlazorApp.csproj" -c Release -o /app/publish
#
#FROM base AS final
#WORKDIR /app
#COPY --from=publish /app/publish .
#ENTRYPOINT ["dotnet", "myBlazorApp.dll"]

@ -1,5 +1,7 @@
@page "/inventory"
@using myBlazorApp.Components
@using System.Globalization
@using myBlazorApp.Models;
<h3>Inventory</h3>
@ -30,4 +32,41 @@
{
<CraftingItem Item="item" NoDrop="true" />
}
<p>
<b>CurrentCulture</b>: @CultureInfo.CurrentCulture
</p>
</div>
<div id="ItemList">
<div>
<p>
List of items
</p>
@*SearchBar*@
</div>
<DataGrid TItem="Item"
Data="@items"
ReadData="@OnReadData"
TotalItems="@totalItem"
PageSize="10"
ShowPager
Responsive>
<DataGridColumn TItem="Item" Field=""/>
<DataGridColumn TItem="Item" Field="@nameof(Item.DisplayName)" Caption="Display name" />
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="Image">
<DisplayTemplate>
@if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{context.Name}.png"))
{
<img src="images/@(context.Name).png" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="max-width: 150px"/>
}
else
{
<img src="images/default.png" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="max-width: 150px"/>
}
</DisplayTemplate>
</DataGridColumn>
</DataGrid>
</div>

@ -1,8 +1,10 @@
using System;
using System;
using Blazored.Modal;
using Blazored.Modal.Services;
using Blazorise.DataGrid;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using myBlazorApp.Modals;
using myBlazorApp.Models;
using myBlazorApp.Services;
@ -38,6 +40,40 @@ namespace myBlazorApp.Pages
itemsInventory= await DataService.List(0, await DataService.Count());
StateHasChanged();
}
private async Task OnReadData(DataGridReadDataEventArgs<Item> e)
{
if (e.CancellationToken.IsCancellationRequested)
{
return;
}
if (!e.CancellationToken.IsCancellationRequested)
{
itemsInventory = await DataService.List(e.Page, e.PageSize);
totalItem = await DataService.Count();
}
}
private async void OnDelete(int id)
{
var parameters = new ModalParameters();
parameters.Add(nameof(Item.Id), id);
var modal = Modal.Show<DeleteConfirmation>("Delete Confirmation", parameters);
var result = await modal.Result;
if (result.Cancelled)
{
return;
}
await DataService.Delete(id);
// Reload the page
NavigationManager.NavigateTo("list", true);
}
}
}

@ -20,8 +20,8 @@ namespace myBlazorApp.Pages
private int totalItem;
[Inject]
public IDataService DataService { get; set; }
[Inject]
public IDataService DataService { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }

@ -22,6 +22,12 @@
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"environmentVariables": {}
}
}
}

@ -4,6 +4,8 @@
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>57709e34-c352-46a7-8d9f-219f603ebc3d</UserSecretsId>
<DockerDefaultTargetOS>Windows</DockerDefaultTargetOS>
</PropertyGroup>
<ItemGroup>
@ -39,6 +41,7 @@
<PackageReference Include="Blazored.LocalStorage" Version="4.2.0" />
<PackageReference Include="Blazored.Modal" Version="7.1.0" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="7.0.0" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.15.1" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Resources\Pages.List.resx">

Loading…
Cancel
Save