push de Fournisseur + base de style (logo bou
tons)
This commit is contained in:
parent
b8f9c55b66
commit
a2f833d35d
@ -20,6 +20,7 @@ namespace MauiAppStock.Data
|
||||
await db.CreateTableAsync<Appareil>();
|
||||
await db.CreateTableAsync<Piece>();
|
||||
await db.CreateTableAsync<AppareilPiece>(); // Table de liaison
|
||||
await db.CreateTableAsync<Fournisseur>();
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,6 +66,29 @@ namespace MauiAppStock.Data
|
||||
return db.DeleteAsync(piece);
|
||||
}
|
||||
|
||||
|
||||
// CRUD pour Fournisseur
|
||||
public static Task<int> AddFournisseurAsync(Fournisseur fournisseur)
|
||||
{
|
||||
return db.InsertAsync(fournisseur);
|
||||
}
|
||||
|
||||
public static Task<List<Fournisseur>> GetFournisseursAsync()
|
||||
{
|
||||
return db.Table<Fournisseur>().ToListAsync();
|
||||
}
|
||||
|
||||
public static Task<int> UpdateFournisseursync(Fournisseur fournisseur)
|
||||
{
|
||||
return db.UpdateAsync(fournisseur);
|
||||
}
|
||||
|
||||
public static Task<int> DeleteFournisseurAsync(Fournisseur fournisseur)
|
||||
{
|
||||
return db.DeleteAsync(fournisseur);
|
||||
}
|
||||
|
||||
|
||||
// Liaison entre Appareil et Piece
|
||||
public static Task<int> AddAppareilPieceAsync(AppareilPiece appareilPiece)
|
||||
{
|
||||
|
13
MauiAppStock/Models/Fournisseur.cs
Normal file
13
MauiAppStock/Models/Fournisseur.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using SQLite;
|
||||
|
||||
namespace MauiAppStock.Models
|
||||
{
|
||||
public class Fournisseur
|
||||
{
|
||||
[PrimaryKey, AutoIncrement]
|
||||
public int Id { get; set; }
|
||||
public string Nom { get; set; }
|
||||
public string Numtel { get; set; }
|
||||
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true"></application>
|
||||
<application android:allowBackup="true" android:icon="@mipmap/image" android:roundIcon="@mipmap/image" android:supportsRtl="true"></application>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
</manifest>
|
BIN
MauiAppStock/Platforms/Android/Resources/mipmap/image.png
Normal file
BIN
MauiAppStock/Platforms/Android/Resources/mipmap/image.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
BIN
MauiAppStock/Resources/Images/logo.png
Normal file
BIN
MauiAppStock/Resources/Images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
42
MauiAppStock/ViewModels/FournisseursViewModel.cs
Normal file
42
MauiAppStock/ViewModels/FournisseursViewModel.cs
Normal file
@ -0,0 +1,42 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using MauiAppStock.Models;
|
||||
using MauiAppStock.Data;
|
||||
using MauiAppStock.Helpers;
|
||||
|
||||
namespace MauiAppStock.ViewModels
|
||||
{
|
||||
public class FournisseursViewModel : BaseViewModel
|
||||
{
|
||||
public ObservableCollection<Fournisseur> Fournisseurs { get; set; }
|
||||
public ICommand LoadFournisseursCommand { get; }
|
||||
public ICommand DeleteFournisseurCommand { get; }
|
||||
|
||||
public FournisseursViewModel()
|
||||
{
|
||||
Fournisseurs = new ObservableCollection<Fournisseur>();
|
||||
LoadFournisseursCommand = new AsyncCommand(LoadFournisseurs);
|
||||
DeleteFournisseurCommand = new AsyncCommand<Fournisseur>(DeleteFournisseur);
|
||||
}
|
||||
|
||||
private async Task LoadFournisseurs()
|
||||
{
|
||||
Fournisseurs.Clear();
|
||||
var fournisseursList = await Database.GetFournisseursAsync();
|
||||
foreach (var fournisseur in fournisseursList)
|
||||
{
|
||||
Fournisseurs.Add(fournisseur);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task DeleteFournisseur(Fournisseur fournisseur)
|
||||
{
|
||||
if (fournisseur != null)
|
||||
{
|
||||
await Database.DeleteFournisseurAsync(fournisseur);
|
||||
Fournisseurs.Remove(fournisseur);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
MauiAppStock/Views/AddFournisseurPage.xaml
Normal file
11
MauiAppStock/Views/AddFournisseurPage.xaml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentPage x:Class="MauiAppStock.Views.AddFournisseurPage"
|
||||
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
|
||||
<StackLayout Padding="10">
|
||||
<Label Text="Ajouter un Fournisseur" FontSize="24" HorizontalOptions="Center"/>
|
||||
<Entry x:Name="NomEntry" Placeholder="Nom"/>
|
||||
<Entry x:Name="NumEntry" Placeholder="NumTel" Keyboard="Numeric"/>
|
||||
<Button Text="Enregistrer" Clicked="OnSaveClicked"/>
|
||||
</StackLayout>
|
||||
</ContentPage>
|
29
MauiAppStock/Views/AddFournisseurPage.xaml.cs
Normal file
29
MauiAppStock/Views/AddFournisseurPage.xaml.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using MauiAppStock.Models;
|
||||
using MauiAppStock.Data;
|
||||
|
||||
namespace MauiAppStock.Views
|
||||
{
|
||||
public partial class AddFournisseurPage : ContentPage
|
||||
{
|
||||
public AddFournisseurPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private async void OnSaveClicked(object sender, EventArgs e)
|
||||
{
|
||||
{
|
||||
var fournisseur = new Fournisseur
|
||||
{
|
||||
Nom = NomEntry.Text,
|
||||
Numtel = NumEntry.Text
|
||||
|
||||
}
|
||||
;
|
||||
await Database.AddFournisseurAsync(fournisseur);
|
||||
await Navigation.PopAsync();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
29
MauiAppStock/Views/FournisseursPage.xaml
Normal file
29
MauiAppStock/Views/FournisseursPage.xaml
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentPage
|
||||
x:Class="MauiAppStock.Views.FournisseursPage"
|
||||
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:vm="clr-namespace:MauiAppStock.ViewModels">
|
||||
|
||||
<ContentPage.BindingContext>
|
||||
<vm:FournisseursViewModel/>
|
||||
</ContentPage.BindingContext>
|
||||
|
||||
<ContentPage.ToolbarItems>
|
||||
<ToolbarItem Text="+" Clicked="OnAddFournisseurClicked"/>
|
||||
</ContentPage.ToolbarItems>
|
||||
|
||||
<StackLayout Padding="10">
|
||||
<Label Text="Liste des Fournisseurs" FontSize="24" HorizontalOptions="Center"/>
|
||||
<ListView x:Name="FournisseursListView" ItemsSource="{Binding Fournisseurs}"
|
||||
IsPullToRefreshEnabled="True"
|
||||
RefreshCommand="{Binding LoadFournisseursCommand}"
|
||||
>
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextCell Text="{Binding Nom}"/>
|
||||
</DataTemplate>
|
||||
</ListView.ItemTemplate>
|
||||
</ListView>
|
||||
</StackLayout>
|
||||
</ContentPage>
|
26
MauiAppStock/Views/FournisseursPage.xaml.cs
Normal file
26
MauiAppStock/Views/FournisseursPage.xaml.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using MauiAppStock.Models;
|
||||
using MauiAppStock.ViewModels;
|
||||
|
||||
namespace MauiAppStock.Views
|
||||
{
|
||||
public partial class FournisseursPage : ContentPage
|
||||
{
|
||||
public FournisseursPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnAppearing()
|
||||
{
|
||||
base.OnAppearing();
|
||||
var viewModel = BindingContext as FournisseursViewModel;
|
||||
viewModel.LoadFournisseursCommand.Execute(null);
|
||||
}
|
||||
|
||||
private async void OnAddFournisseurClicked(object sender, EventArgs e)
|
||||
{
|
||||
// Navigation vers la page d'ajout
|
||||
await Navigation.PushAsync(new AddFournisseurPage());
|
||||
}
|
||||
}
|
||||
}
|
@ -4,8 +4,17 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
|
||||
<StackLayout Padding="20" Spacing="20" VerticalOptions="Center">
|
||||
<Label Text="Menu Principal" FontSize="30" HorizontalOptions="Center" />
|
||||
<Button Text="Gestion des Appareils" Clicked="OnAppareilsClicked" />
|
||||
<Button Text="Gestion des Pièces" Clicked="OnPiecesClicked" />
|
||||
<Button Text="Associer une Pièce à un Appareil" Clicked="OnAssocierPieceClicked" />
|
||||
<Button Text="Gestion des Appareils" BackgroundColor="Black" Clicked="OnAppareilsClicked" />
|
||||
<Button Text="Gestion des Pièces" BackgroundColor="Black" Clicked="OnPiecesClicked" />
|
||||
<Button Text="Gestion des Fournisseurs" BackgroundColor="Black" Clicked="OnFournisseursClicked" />
|
||||
<Button Text="Associer une Pièce à un Appareil" BackgroundColor="Black" Clicked="OnAssocierPieceClicked" />
|
||||
<VerticalStackLayout Padding="20" Spacing="20">
|
||||
<Image Source="logo.png"
|
||||
HeightRequest="200"
|
||||
Aspect="AspectFit" />
|
||||
</VerticalStackLayout>
|
||||
</StackLayout>
|
||||
|
||||
|
||||
|
||||
</ContentPage>
|
@ -20,6 +20,12 @@ namespace MauiAppStock.Views
|
||||
await Navigation.PushAsync(new PiecesPage());
|
||||
}
|
||||
|
||||
private async void OnFournisseursClicked(object sender, EventArgs e)
|
||||
{
|
||||
await Navigation.PushAsync(new FournisseursPage());
|
||||
}
|
||||
|
||||
|
||||
private async void OnAssocierPieceClicked(object sender, EventArgs e)
|
||||
{
|
||||
// On navigue vers une page qui permet de sélectionner un appareil pour ensuite associer une pièce.
|
||||
|
Loading…
x
Reference in New Issue
Block a user