pull/48/head
HMatheo 1 year ago
commit 8c92dfb826

@ -3,6 +3,8 @@ type: docker
name: MangaMap
trigger:
branche:
- master
event:
- push
@ -39,7 +41,6 @@ steps:
- dotnet sonarscanner begin /k:"MangaMap" /d:sonar.host.url=$${PLUGIN_SONAR_HOST} /d:sonar.login=$${PLUGIN_SONAR_TOKEN}
- dotnet build MangaMap.sln -c Release --no-restore
- dotnet test MangaMap.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage"
- find . -name coverage.cobertura.xml
- reportgenerator -reports:"../UnitTests/TestResults/**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport"
- dotnet publish MangaMap.csproj -c Release --no-restore -o $CI_PROJECT_DIR/build/release --framework net7.0
- dotnet sonarscanner end /d:sonar.login=$${PLUGIN_SONAR_TOKEN}

@ -51,6 +51,11 @@
Title="Creation oeuvre"
ContentTemplate="{DataTemplate Views:createOeuvre}"
Route="createOeuvrePage"/>
<ShellContent
Title="Modification oeuvre"
ContentTemplate="{DataTemplate Views:modifyOeuvre}"
Route="modifyOeuvrePage"/>
</Tab>
</TabBar>

@ -27,5 +27,6 @@ public partial class AppShell : Shell
Routing.RegisterRoute("fichePagedetails", typeof(ficheAnime));
Routing.RegisterRoute("connexionAdminPagedetails", typeof(loginAdminPage));
Routing.RegisterRoute("createPagedetails", typeof(createOeuvre));
Routing.RegisterRoute("modifyPagedetails", typeof(modifyOeuvre));
}
}

@ -278,6 +278,12 @@ namespace MangaMap.Views
List<int> x = new List<int>();
int nb = Convert.ToInt32(nombreEP.Text);
if (nb < 0 || nb > AnimeModel.NbEpisodes)
{
await DisplayAlert("Erreur", "Nombre d'épisodes vus incorrecte.", "OK");
return;
}
if (my_manager.UtilisateurActuel.notesNombres.ContainsKey(AnimeModel.Nom))
{
my_manager.UtilisateurActuel.notesNombres.Remove(AnimeModel.Nom, out x);

@ -24,8 +24,6 @@
</HorizontalStackLayout>
<Label Text="{Binding AnimeModel.Genre}" BackgroundColor="{StaticResource Primary}" TextColor="White" Margin="0,0,0,30"/>
<Grid x:Name="stars" ColumnDefinitions="80,80,80,80,80"/>
<HorizontalStackLayout>

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MangaMap.Views.modifyOeuvre"
Title="modifyOeuvre">
<VerticalStackLayout>
<Label Text="Modification d'une série" FontSize="Title" Margin="0,0,0,20" TextColor="#ffffff" HorizontalOptions="Center"/>
<Grid ColumnDefinitions="*,*" Margin="10" ColumnSpacing="10">
<Entry x:Name="nameEntry" Placeholder="Nom" Margin="0,0,0,10" Style="{StaticResource Champs}"/>
<Entry Grid.Column="1" x:Name="typeEntry" Placeholder="Type" Margin="0,0,0,10" Style="{StaticResource Champs}"/>
</Grid>
<Entry x:Name="descriptionEntry" Placeholder="Description" Margin="0,0,0,10" Style="{StaticResource Champs}"/>
<Entry x:Name="nbEpisodeEntry" Placeholder="Nombre d'épisodes" Margin="0,0,0,10" Style="{StaticResource Champs}"/>
<Button Text="Modifier série" Style="{StaticResource Bouton}" Clicked="AddClicked"/>
</VerticalStackLayout>
</ContentPage>

@ -0,0 +1,54 @@
using Models;
namespace MangaMap.Views;
public partial class modifyOeuvre : ContentPage
{
public Manager my_manager => (App.Current as App).MyManager;
public Oeuvre oeuvreModifie { get; set; }
public modifyOeuvre(Oeuvre anime)
{
oeuvreModifie = anime;
InitializeComponent();
BindingContext = oeuvreModifie;
}
/// <summary>
/// Gère l'événement de clic sur le bouton de modification d'une oeuvre.
/// </summary>
/// <param name="sender">L'objet déclencheur de l'événement.</param>
/// <param name="e">Les arguments de l'événement.</param>
private async void AddClicked(object sender, System.EventArgs e)
{
// Récupérer les valeurs des entrées
string nom = nameEntry.Text;
string type = typeEntry.Text;
int nbEp = Convert.ToInt32(nbEpisodeEntry.Text);
string description = descriptionEntry.Text;
if (nbEp < 0)
{
await DisplayAlert("Erreur", "Il faut avoir au moins 1 épisode pour l'application.", "OK");
return;
}
if (nom != null)
oeuvreModifie.Nom = nom;
if (type != null)
oeuvreModifie.Type = type;
if (description != null)
oeuvreModifie.Description = description;
if (nbEp > 0)
oeuvreModifie.NbEpisodes = nbEp;
my_manager.sauvegarder();
await Navigation.PushAsync(new homePage());
return;
}
}

@ -16,6 +16,9 @@
<Button Text="Ajouter une série" Clicked="AddClicked" Style="{StaticResource Bouton}"/>
<Entry x:Name="oeuvreEntry" Placeholder="Oeuvre à modifier" Margin="10" Style="{StaticResource Champs}"/>
<Button Text="Modifier l'ouvre" Clicked="ModifyClicked" Style="{StaticResource Bouton}"/>
</StackLayout>
</Grid>

@ -65,4 +65,34 @@ public partial class settingsPage : ContentPage
}
await Shell.Current.Navigation.PushAsync(new createOeuvre());
}
private async void ModifyClicked(object sender, System.EventArgs e)
{
if (!my_manager.isAdmin)
{
await DisplayAlert("Erreur", "Vous n'êtes pas connecté en tant qu'Administrateur.", "OK");
return;
}
// Récupérer les valeurs des entrées
string nom = oeuvreEntry.Text;
if (string.IsNullOrWhiteSpace(nom))
{
await DisplayAlert("Erreur", "Veuillez remplir le champs.", "OK");
return;
}
foreach (Oeuvre o in my_manager.Oeuvres)
{
if (o.Nom == nom)
{
await Navigation.PushAsync(new modifyOeuvre(o));
return;
}
}
await DisplayAlert("Erreur", "L'oeuvre n'existe pas.", "OK");
return;
}
}

@ -29,7 +29,7 @@ namespace Models
/// Obtient ou définit le nom de l'oeuvre.
/// </summary>
[DataMember]
public string Nom { get; private set; }
public string Nom { get; set; }
/// <summary>
/// Obtient ou définit les genres de l'oeuvre.
@ -41,13 +41,13 @@ namespace Models
/// Obtient ou définit le type de l'oeuvre.
/// </summary>
[DataMember]
public string Type { get; private set; }
public string Type { get; set; }
/// <summary>
/// Obtient ou définit la description de l'oeuvre.
/// </summary>
[DataMember]
public string Description { get; private set; }
public string Description { get; set; }
/// <summary>
/// Obtient ou définit la note de l'oeuvre.
@ -70,7 +70,7 @@ namespace Models
/// Obtient ou définit le nombre d'épisodes de l'oeuvre.
/// </summary>
[DataMember]
public int NbEpisodes { get; private set; }
public int NbEpisodes { get; set; }
/// <summary>
/// Obtient ou définit l'affiche de l'oeuvre.

Loading…
Cancel
Save