diff --git a/src/CalculateurMoyanne/BSN/BSN.csproj b/src/CalculateurMoyanne/BSN/Bussness.csproj similarity index 89% rename from src/CalculateurMoyanne/BSN/BSN.csproj rename to src/CalculateurMoyanne/BSN/Bussness.csproj index 7fed0b7..ef6377b 100644 --- a/src/CalculateurMoyanne/BSN/BSN.csproj +++ b/src/CalculateurMoyanne/BSN/Bussness.csproj @@ -4,6 +4,7 @@ net6.0 enable enable + AnyCPU;x64 diff --git a/src/CalculateurMoyanne/BSN/Manager.cs b/src/CalculateurMoyanne/BSN/Manager.cs new file mode 100644 index 0000000..4fbbbc3 --- /dev/null +++ b/src/CalculateurMoyanne/BSN/Manager.cs @@ -0,0 +1,106 @@ +using ClassCalculateurMoyenne; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BSN +{ + public class Manager + { + #region propriétés + public ReadOnlyCollection maquette { get; private set; } + private readonly List maquettes = new(); + public ReadOnlyCollection bloc { get; private set; } + private readonly List blocs = new(); + public ReadOnlyCollection ue { get; private set; } + private readonly List ues = new(); + public ReadOnlyCollection matiere { get; private set; } + private readonly List matieres = new(); + + + + public IDataManager MaquetteDbDataManager => maquetteDbDataManager; + private readonly IDataManager maquetteDbDataManager; + public IDataManager BlocDbDataManager => blocDbDataManager; + private readonly IDataManager blocDbDataManager; + public IDataManager UeDbDataManager => ueDbDataManager; + private readonly IDataManager ueDbDataManager; + // private IDataManager matiereDbDataManager; + + public IDataManager MatiereDbDataManager => matiereDbDataManager; + private readonly IDataManager matiereDbDataManager; + + + #endregion + + + #region Constructeurs + + public Manager(IDataManager maquettemanager) + { + this.maquetteDbDataManager = maquettemanager; + maquette = new ReadOnlyCollection(maquettes); + } + public Manager(IDataManagerblocmanager) + { + this.blocDbDataManager = blocmanager; + bloc = new ReadOnlyCollection(blocs); + } + public Manager(IDataManager UeManager) + { + this.ueDbDataManager = UeManager; + ue = new ReadOnlyCollection(ues); + } + public Manager(IDataManager matiereDbDataManager) + { + this.matiereDbDataManager = matiereDbDataManager; + matiere = new ReadOnlyCollection(matieres); + } + + public Manager(IDataManager matiereManager,IDataManager UeManager, IDataManager blocmanager, IDataManager maquettemanager,) + { + + + this.matiereDbDataManager = matiereManager; + Matiere = new ReadOnlyCollection(matieres); + // this.maquettemanager = maquettemanager; + // MaquetteModel = new ReadOnlyCollection(maquettes); + // this.partieDataManager = partieDataManager; + // Parties = new ReadOnlyCollection(parties); + // this.joueurDataManager = joueurManager; + // Joueurs = new ReadOnlyCollection(joueurs); + } + + + + #endregion + + + + + + //public Task AddMaquette(MaquetteModel maqt) + //{ + // if (MaquetteDbDataManager == null) + // { + // return Task.FromResult(false); + // } + // return MaquetteDbDataManager.Add(maqt); + + //} + + //public async Task Deletemqt(MaquetteModel maqt) + //{ + // if (MaquetteDbDataManager == null) + // { + // return false; + // } + // return await MaquetteDbDataManager.Delete(mqt); + //} + + + } +} diff --git a/src/CalculateurMoyanne/CalculateurApp/App.xaml.cs b/src/CalculateurMoyanne/CalculateurApp/App.xaml.cs index 4a7395a..495106b 100644 --- a/src/CalculateurMoyanne/CalculateurApp/App.xaml.cs +++ b/src/CalculateurMoyanne/CalculateurApp/App.xaml.cs @@ -13,7 +13,7 @@ namespace CalculateurApp MainPage = new NavigationPage(new HomePage()); //MainPage = new AppShell(BlocViewModel c); // MainPage = new Maquette (); - // MainPage = new UEPage1(); + // MainPage = new MatNote(); } } diff --git a/src/CalculateurMoyanne/CalculateurApp/CalculateurApp.csproj b/src/CalculateurMoyanne/CalculateurApp/CalculateurApp.csproj index 8bcc82d..622f298 100644 --- a/src/CalculateurMoyanne/CalculateurApp/CalculateurApp.csproj +++ b/src/CalculateurMoyanne/CalculateurApp/CalculateurApp.csproj @@ -1,7 +1,7 @@  - net6.0-android;net6.0-ios;net6.0-maccatalyst + net6.0-android;net6.0-maccatalyst $(TargetFrameworks);net6.0-windows10.0.19041.0 @@ -75,7 +75,7 @@ MSBuild:Compile - + MSBuild:Compile diff --git a/src/CalculateurMoyanne/CalculateurApp/View/EXE.xaml b/src/CalculateurMoyanne/CalculateurApp/View/EXE.xaml index a15274b..0c6b3dc 100644 --- a/src/CalculateurMoyanne/CalculateurApp/View/EXE.xaml +++ b/src/CalculateurMoyanne/CalculateurApp/View/EXE.xaml @@ -1,6 +1,7 @@ @@ -9,9 +10,9 @@ - @@ -21,9 +22,20 @@ - - - - - + + + + --> + + + + + + + + + + + + \ No newline at end of file diff --git a/src/CalculateurMoyanne/CalculateurApp/View/MaquettePage.xaml b/src/CalculateurMoyanne/CalculateurApp/View/MaquettePage.xaml index f7eea4e..dc91537 100644 --- a/src/CalculateurMoyanne/CalculateurApp/View/MaquettePage.xaml +++ b/src/CalculateurMoyanne/CalculateurApp/View/MaquettePage.xaml @@ -9,14 +9,14 @@ + Padding="2" + RowSpacing="4" + ColumnSpacing="4"> + /> - + @@ -38,7 +38,7 @@ - + - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/src/CalculateurMoyanne/CalculateurApp/View/MatNote.xaml b/src/CalculateurMoyanne/CalculateurApp/View/MatNote.xaml new file mode 100644 index 0000000..4d527e6 --- /dev/null +++ b/src/CalculateurMoyanne/CalculateurApp/View/MatNote.xaml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/CalculateurMoyanne/CalculateurApp/View/Matiere1.xaml.cs b/src/CalculateurMoyanne/CalculateurApp/View/MatNote.xaml.cs similarity index 50% rename from src/CalculateurMoyanne/CalculateurApp/View/Matiere1.xaml.cs rename to src/CalculateurMoyanne/CalculateurApp/View/MatNote.xaml.cs index 2e196be..f51b376 100644 --- a/src/CalculateurMoyanne/CalculateurApp/View/Matiere1.xaml.cs +++ b/src/CalculateurMoyanne/CalculateurApp/View/MatNote.xaml.cs @@ -1,8 +1,8 @@ namespace CalculateurApp.View; -public partial class Matiere1 : TabbedPage +public partial class MatNote : ContentPage { - public Matiere1() + public MatNote() { InitializeComponent(); } diff --git a/src/CalculateurMoyanne/CalculateurApp/View/Matiere1.xaml b/src/CalculateurMoyanne/CalculateurApp/View/Matiere1.xaml deleted file mode 100644 index c1faa35..0000000 --- a/src/CalculateurMoyanne/CalculateurApp/View/Matiere1.xaml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/CalculateurMoyanne/CalculateurApp/View/Start.xaml b/src/CalculateurMoyanne/CalculateurApp/View/Start.xaml index e04a9ee..978bf5a 100644 --- a/src/CalculateurMoyanne/CalculateurApp/View/Start.xaml +++ b/src/CalculateurMoyanne/CalculateurApp/View/Start.xaml @@ -222,6 +222,18 @@ BackgroundColor="AliceBlue" VerticalOptions="Start" /> + + + + + + + + + + + + diff --git a/src/CalculateurMoyanne/CalculateurEF/CalculateurEF.csproj b/src/CalculateurMoyanne/CalculateurEF/CalculateurEF.csproj index 6cbac50..67c64d6 100644 --- a/src/CalculateurMoyanne/CalculateurEF/CalculateurEF.csproj +++ b/src/CalculateurMoyanne/CalculateurEF/CalculateurEF.csproj @@ -4,6 +4,7 @@ net6.0 enable enable + AnyCPU;x64 diff --git a/src/CalculateurMoyanne/CalculateurEF/Context/CalculContext.cs b/src/CalculateurMoyanne/CalculateurEF/Context/CalculContext.cs index c25c9d0..7384672 100644 --- a/src/CalculateurMoyanne/CalculateurEF/Context/CalculContext.cs +++ b/src/CalculateurMoyanne/CalculateurEF/Context/CalculContext.cs @@ -16,9 +16,10 @@ namespace CalculateurEF.Context public DbSet Ue { get; set; } public DbSet matier { get; set; } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - optionsBuilder.UseSqlite("Data Source=clacul.db"); + optionsBuilder.UseSqlite("Data Source=calcul.db"); } } } diff --git a/src/CalculateurMoyanne/CalculateurEF/Entities/BlocEntity.cs b/src/CalculateurMoyanne/CalculateurEF/Entities/BlocEntity.cs index 39a3b72..11faafa 100644 --- a/src/CalculateurMoyanne/CalculateurEF/Entities/BlocEntity.cs +++ b/src/CalculateurMoyanne/CalculateurEF/Entities/BlocEntity.cs @@ -11,14 +11,16 @@ namespace CalculateurEF.Entities #region Propriétés public int Id { get; set; } public string Nom { get; set; } - public ICollection ue { get; set; } - - #endregion - #region Constructeurs - public BlocEntity() - { - ue = new List(); - } + + //public ICollection ue { get; set; } + + + //#region Constructeurs + //public BlocEntity() + //{ + // ue = new List(); + //} #endregion + } } diff --git a/src/CalculateurMoyanne/CalculateurEF/Migrations/20221128083948_clacul.Designer.cs b/src/CalculateurMoyanne/CalculateurEF/Migrations/20221203193812_TestCalc.Designer.cs similarity index 80% rename from src/CalculateurMoyanne/CalculateurEF/Migrations/20221128083948_clacul.Designer.cs rename to src/CalculateurMoyanne/CalculateurEF/Migrations/20221203193812_TestCalc.Designer.cs index ee42d93..3e05c89 100644 --- a/src/CalculateurMoyanne/CalculateurEF/Migrations/20221128083948_clacul.Designer.cs +++ b/src/CalculateurMoyanne/CalculateurEF/Migrations/20221203193812_TestCalc.Designer.cs @@ -11,8 +11,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace CalculateurEF.Migrations { [DbContext(typeof(CalculContext))] - [Migration("20221128083948_clacul")] - partial class clacul + [Migration("20221203193812_TestCalc")] + partial class TestCalc { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -26,7 +26,7 @@ namespace CalculateurEF.Migrations .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); - b.Property("MaquetteEntityid") + b.Property("MaquetteEntityId") .HasColumnType("INTEGER"); b.Property("Nom") @@ -35,14 +35,14 @@ namespace CalculateurEF.Migrations b.HasKey("Id"); - b.HasIndex("MaquetteEntityid"); + b.HasIndex("MaquetteEntityId"); b.ToTable("Bloc"); }); modelBuilder.Entity("CalculateurEF.Entities.MaquetteEntity", b => { - b.Property("id") + b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); @@ -50,7 +50,7 @@ namespace CalculateurEF.Migrations .IsRequired() .HasColumnType("TEXT"); - b.HasKey("id"); + b.HasKey("Id"); b.ToTable("Maquettes"); }); @@ -87,9 +87,6 @@ namespace CalculateurEF.Migrations .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); - b.Property("BlocEntityId") - .HasColumnType("INTEGER"); - b.Property("Coefficient") .HasColumnType("INTEGER"); @@ -99,8 +96,6 @@ namespace CalculateurEF.Migrations b.HasKey("Id"); - b.HasIndex("BlocEntityId"); - b.ToTable("Ue"); }); @@ -108,7 +103,7 @@ namespace CalculateurEF.Migrations { b.HasOne("CalculateurEF.Entities.MaquetteEntity", null) .WithMany("Bloc") - .HasForeignKey("MaquetteEntityid"); + .HasForeignKey("MaquetteEntityId"); }); modelBuilder.Entity("CalculateurEF.Entities.MatiereEntity", b => @@ -118,18 +113,6 @@ namespace CalculateurEF.Migrations .HasForeignKey("UEentityId"); }); - modelBuilder.Entity("CalculateurEF.Entities.UEentity", b => - { - b.HasOne("CalculateurEF.Entities.BlocEntity", null) - .WithMany("ue") - .HasForeignKey("BlocEntityId"); - }); - - modelBuilder.Entity("CalculateurEF.Entities.BlocEntity", b => - { - b.Navigation("ue"); - }); - modelBuilder.Entity("CalculateurEF.Entities.MaquetteEntity", b => { b.Navigation("Bloc"); diff --git a/src/CalculateurMoyanne/CalculateurEF/Migrations/20221128083948_clacul.cs b/src/CalculateurMoyanne/CalculateurEF/Migrations/20221203193812_TestCalc.cs similarity index 78% rename from src/CalculateurMoyanne/CalculateurEF/Migrations/20221128083948_clacul.cs rename to src/CalculateurMoyanne/CalculateurEF/Migrations/20221203193812_TestCalc.cs index b5a72e6..ab2553a 100644 --- a/src/CalculateurMoyanne/CalculateurEF/Migrations/20221128083948_clacul.cs +++ b/src/CalculateurMoyanne/CalculateurEF/Migrations/20221203193812_TestCalc.cs @@ -5,7 +5,7 @@ namespace CalculateurEF.Migrations { /// - public partial class clacul : Migration + public partial class TestCalc : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) @@ -14,51 +14,45 @@ namespace CalculateurEF.Migrations name: "Maquettes", columns: table => new { - id = table.Column(type: "INTEGER", nullable: false) + Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), NomMaquette = table.Column(type: "TEXT", nullable: false) }, constraints: table => { - table.PrimaryKey("PK_Maquettes", x => x.id); + table.PrimaryKey("PK_Maquettes", x => x.Id); }); migrationBuilder.CreateTable( - name: "Bloc", + name: "Ue", columns: table => new { - Id = table.Column(type: "INTEGER", nullable: false) + Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), - Nom = table.Column(type: "TEXT", nullable: false), - MaquetteEntityid = table.Column(type: "INTEGER", nullable: true) + Coefficient = table.Column(type: "INTEGER", nullable: false), + intitulé = table.Column(type: "TEXT", nullable: false) }, constraints: table => { - table.PrimaryKey("PK_Bloc", x => x.Id); - table.ForeignKey( - name: "FK_Bloc_Maquettes_MaquetteEntityid", - column: x => x.MaquetteEntityid, - principalTable: "Maquettes", - principalColumn: "id"); + table.PrimaryKey("PK_Ue", x => x.Id); }); migrationBuilder.CreateTable( - name: "Ue", + name: "Bloc", columns: table => new { - Id = table.Column(type: "INTEGER", nullable: false) + Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), - Coefficient = table.Column(type: "INTEGER", nullable: false), - intitulé = table.Column(type: "TEXT", nullable: false), - BlocEntityId = table.Column(type: "INTEGER", nullable: true) + Nom = table.Column(type: "TEXT", nullable: false), + MaquetteEntityId = table.Column(type: "INTEGER", nullable: true) }, constraints: table => { - table.PrimaryKey("PK_Ue", x => x.Id); + table.PrimaryKey("PK_Bloc", x => x.Id); table.ForeignKey( - name: "FK_Ue_Bloc_BlocEntityId", - column: x => x.BlocEntityId, - principalTable: "Bloc", + name: "FK_Bloc_Maquettes_MaquetteEntityId", + column: x => x.MaquetteEntityId, + principalTable: "Maquettes", principalColumn: "Id"); }); @@ -84,35 +78,30 @@ namespace CalculateurEF.Migrations }); migrationBuilder.CreateIndex( - name: "IX_Bloc_MaquetteEntityid", + name: "IX_Bloc_MaquetteEntityId", table: "Bloc", - column: "MaquetteEntityid"); + column: "MaquetteEntityId"); migrationBuilder.CreateIndex( name: "IX_matier_UEentityId", table: "matier", column: "UEentityId"); - - migrationBuilder.CreateIndex( - name: "IX_Ue_BlocEntityId", - table: "Ue", - column: "BlocEntityId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( - name: "matier"); + name: "Bloc"); migrationBuilder.DropTable( - name: "Ue"); + name: "matier"); migrationBuilder.DropTable( - name: "Bloc"); + name: "Maquettes"); migrationBuilder.DropTable( - name: "Maquettes"); + name: "Ue"); } } } diff --git a/src/CalculateurMoyanne/CalculateurEF/Migrations/CalculContextModelSnapshot.cs b/src/CalculateurMoyanne/CalculateurEF/Migrations/CalculContextModelSnapshot.cs index 95aef93..c61abe8 100644 --- a/src/CalculateurMoyanne/CalculateurEF/Migrations/CalculContextModelSnapshot.cs +++ b/src/CalculateurMoyanne/CalculateurEF/Migrations/CalculContextModelSnapshot.cs @@ -23,7 +23,7 @@ namespace CalculateurEF.Migrations .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); - b.Property("MaquetteEntityid") + b.Property("MaquetteEntityId") .HasColumnType("INTEGER"); b.Property("Nom") @@ -32,14 +32,14 @@ namespace CalculateurEF.Migrations b.HasKey("Id"); - b.HasIndex("MaquetteEntityid"); + b.HasIndex("MaquetteEntityId"); b.ToTable("Bloc"); }); modelBuilder.Entity("CalculateurEF.Entities.MaquetteEntity", b => { - b.Property("id") + b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); @@ -47,7 +47,7 @@ namespace CalculateurEF.Migrations .IsRequired() .HasColumnType("TEXT"); - b.HasKey("id"); + b.HasKey("Id"); b.ToTable("Maquettes"); }); @@ -84,9 +84,6 @@ namespace CalculateurEF.Migrations .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); - b.Property("BlocEntityId") - .HasColumnType("INTEGER"); - b.Property("Coefficient") .HasColumnType("INTEGER"); @@ -96,8 +93,6 @@ namespace CalculateurEF.Migrations b.HasKey("Id"); - b.HasIndex("BlocEntityId"); - b.ToTable("Ue"); }); @@ -105,7 +100,7 @@ namespace CalculateurEF.Migrations { b.HasOne("CalculateurEF.Entities.MaquetteEntity", null) .WithMany("Bloc") - .HasForeignKey("MaquetteEntityid"); + .HasForeignKey("MaquetteEntityId"); }); modelBuilder.Entity("CalculateurEF.Entities.MatiereEntity", b => @@ -115,18 +110,6 @@ namespace CalculateurEF.Migrations .HasForeignKey("UEentityId"); }); - modelBuilder.Entity("CalculateurEF.Entities.UEentity", b => - { - b.HasOne("CalculateurEF.Entities.BlocEntity", null) - .WithMany("ue") - .HasForeignKey("BlocEntityId"); - }); - - modelBuilder.Entity("CalculateurEF.Entities.BlocEntity", b => - { - b.Navigation("ue"); - }); - modelBuilder.Entity("CalculateurEF.Entities.MaquetteEntity", b => { b.Navigation("Bloc"); diff --git a/src/CalculateurMoyanne/CalculateurEF/clacul.db b/src/CalculateurMoyanne/CalculateurEF/calcul.db similarity index 88% rename from src/CalculateurMoyanne/CalculateurEF/clacul.db rename to src/CalculateurMoyanne/CalculateurEF/calcul.db index 3fc2c9c..7e4a0ec 100644 Binary files a/src/CalculateurMoyanne/CalculateurEF/clacul.db and b/src/CalculateurMoyanne/CalculateurEF/calcul.db differ diff --git a/src/CalculateurMoyanne/CalculateurMapping/BlocDbDataManager.cs b/src/CalculateurMoyanne/CalculateurMapping/BlocDbDataManager.cs index 13514e4..44bc628 100644 --- a/src/CalculateurMoyanne/CalculateurMapping/BlocDbDataManager.cs +++ b/src/CalculateurMoyanne/CalculateurMapping/BlocDbDataManager.cs @@ -20,15 +20,15 @@ namespace CalculateurMapping public async Task Delete(BlocModel bloc) { - bool result = false; - using (var context = new CalculContext()) - { - BlocEntity entity = context.Bloc.Find(bloc.Nom); - context.Bloc.Remove(entity); - result = await context.SaveChangesAsync() > 0; + //bool result = false; + //using (var context = new CalculContext()) + //{ + // BlocEntity entity = context.Bloc.Find(bloc.Nom); + // context.Bloc.Remove(entity); + // result = await context.SaveChangesAsync() > 0; - } - return result; + //} + return true; } public async Task> GetAll() @@ -51,8 +51,7 @@ namespace CalculateurMapping return await context.Bloc.Where(e => e.Nom == name).Select(e => new BlocModel ( - e.Nom, - + e.Nom, e.ue.Select(j => new UE(j.intitulé)).ToArray() )).FirstOrDefaultAsync(); } diff --git a/src/CalculateurMoyanne/CalculateurMapping/CalculateurMapping.csproj b/src/CalculateurMoyanne/CalculateurMapping/CalculateurMapping.csproj index 300d564..07c5c5f 100644 --- a/src/CalculateurMoyanne/CalculateurMapping/CalculateurMapping.csproj +++ b/src/CalculateurMoyanne/CalculateurMapping/CalculateurMapping.csproj @@ -4,6 +4,7 @@ net6.0 enable enable + AnyCPU;x64 diff --git a/src/CalculateurMoyanne/CalculateurMapping/MaquetteDbDataManager.cs b/src/CalculateurMoyanne/CalculateurMapping/MaquetteDbDataManager.cs index 2f4f947..ceaf0c2 100644 --- a/src/CalculateurMoyanne/CalculateurMapping/MaquetteDbDataManager.cs +++ b/src/CalculateurMoyanne/CalculateurMapping/MaquetteDbDataManager.cs @@ -20,7 +20,7 @@ namespace CalculateurMapping { MaquetteEntity entity = new MaquetteEntity { - NomMaquette = mqt.NomMaquette, + NomMaquette = mqt.GetNomMaquette(), }; for (int i = 0; i < mqt.BLOCS.Count; i++) { @@ -46,7 +46,7 @@ namespace CalculateurMapping bool result = false; using (var context = new CalculContext()) { - MaquetteEntity entity = context.Maquettes.Find(maquette.NomMaquette); + MaquetteEntity entity = context.Maquettes.Find(maquette.GetNomMaquette()); context.Maquettes.Remove(entity); result = await context.SaveChangesAsync() > 0; @@ -56,27 +56,36 @@ namespace CalculateurMapping public async Task> GetAll() { - using (var context = new CalculContext()) - { - return await context.Maquettes.Select(e => new MaquetteModel - ( e.Id, - e.NomMaquette, - e.Bloc.Select(j => new BlocModel(j.Nom)).ToArray() - )).ToListAsync(); - } + //using (var context = new CalculContext()) + //{ + // return await context.Maquettes.Select(e => new MaquetteModel + // (e.Id, + // e.NomMaquette, + // e.Bloc.Select(u => + // u.ue.Select(uee => new UE(uee.Id, uee.Coefficient, uee.intitulé, + // uee.mat.Select(ma => new Matiere(ma.id, ma.Note,ma.Nommatiere,ma.Coef)).ToArray() + + // )).ToList() + // ), + // e.Bloc.Select(j => new BlocModel(j.Nom)).ToArray() + // )).ToListAsync(); + //} + return null; } public async Task GetDataWithName(string name) { - using (var context = new CalculContext()) - { - return await context.Maquettes.Where(e => e.NomMaquette == name).Select(e => new MaquetteModel - ( - e.Id, - e.NomMaquette, - e.Bloc.Select(j => new BlocModel(j.Nom)).ToArray() - )).FirstOrDefaultAsync(); - } + //using (var context = new CalculContext()) + //{ + // return await context.Maquettes.Where(e => e.NomMaquette == name).Select(e => new MaquetteModel + // ( + // // e.Id, + // //e.NomMaquette, + // //e.Bloc.Select(u => u.ue).ToList(), + // //e.Bloc.Select(j => new BlocModel(j.Nom)).ToArray() + // )).FirstOrDefaultAsync(); + //} + return null; } public async Task Update(MaquetteModel data) @@ -85,7 +94,7 @@ namespace CalculateurMapping using (var context = new CalculContext()) { MaquetteEntity entity = context.Maquettes.Find(data.Id); - entity.NomMaquette = data.NomMaquette; + entity.NomMaquette = data.GetNomMaquette(); entity.Bloc = data.BLOCS.Select(j => new BlocEntity { Nom=j.Nom, diff --git a/src/CalculateurMoyanne/CalculateurMapping/MatiereDbManager.cs b/src/CalculateurMoyanne/CalculateurMapping/MatiereDbDataManager.cs similarity index 95% rename from src/CalculateurMoyanne/CalculateurMapping/MatiereDbManager.cs rename to src/CalculateurMoyanne/CalculateurMapping/MatiereDbDataManager.cs index 4acbe2d..bd385e8 100644 --- a/src/CalculateurMoyanne/CalculateurMapping/MatiereDbManager.cs +++ b/src/CalculateurMoyanne/CalculateurMapping/MatiereDbDataManager.cs @@ -10,7 +10,7 @@ using System.Threading.Tasks; namespace CalculateurMapping { - public class MatiereDbManager : IDataManager + public class MatiereDbDataManager : IDataManager { //Maping entre la classe Matier et MatiereEntity public Task Add(Matiere data) { diff --git a/src/CalculateurMoyanne/CalculateurMapping/UeDataManager.cs b/src/CalculateurMoyanne/CalculateurMapping/UeDbDataManager.cs similarity index 93% rename from src/CalculateurMoyanne/CalculateurMapping/UeDataManager.cs rename to src/CalculateurMoyanne/CalculateurMapping/UeDbDataManager.cs index 64b3779..ba777fe 100644 --- a/src/CalculateurMoyanne/CalculateurMapping/UeDataManager.cs +++ b/src/CalculateurMoyanne/CalculateurMapping/UeDbDataManager.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; namespace CalculateurMapping { - public class UeDataManager : IDataManager + public class UeDbDataManager : IDataManager { public Task Add(UE data) { diff --git a/src/CalculateurMoyanne/CalculateurMoyanne.sln b/src/CalculateurMoyanne/CalculateurMoyanne.sln index 279ba26..5827474 100644 --- a/src/CalculateurMoyanne/CalculateurMoyanne.sln +++ b/src/CalculateurMoyanne/CalculateurMoyanne.sln @@ -17,7 +17,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CalculateurMapping", "Calcu EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BSN", "BSN\BSN.csproj", "{EE834623-6D68-4016-94B9-FF3AC58C0E15}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testttt", "testttt\testttt.csproj", "{3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "testpourEf", "testpourEf\testpourEf.csproj", "{48B8C47A-AC35-473C-A9A9-CE9C8D5F6344}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -55,10 +55,10 @@ Global {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Debug|Any CPU.Build.0 = Debug|Any CPU {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Release|Any CPU.ActiveCfg = Release|Any CPU {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Release|Any CPU.Build.0 = Release|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Release|Any CPU.Build.0 = Release|Any CPU + {48B8C47A-AC35-473C-A9A9-CE9C8D5F6344}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {48B8C47A-AC35-473C-A9A9-CE9C8D5F6344}.Debug|Any CPU.Build.0 = Debug|Any CPU + {48B8C47A-AC35-473C-A9A9-CE9C8D5F6344}.Release|Any CPU.ActiveCfg = Release|Any CPU + {48B8C47A-AC35-473C-A9A9-CE9C8D5F6344}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/CalculateurMoyanne/CalculateurMoyanne_sansMaui.sln b/src/CalculateurMoyanne/CalculateurMoyanne_sansMaui.sln index 18e4a62..699f480 100644 --- a/src/CalculateurMoyanne/CalculateurMoyanne_sansMaui.sln +++ b/src/CalculateurMoyanne/CalculateurMoyanne_sansMaui.sln @@ -15,42 +15,72 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CalculateurMapping", "Calcu EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BSN", "BSN\BSN.csproj", "{EE834623-6D68-4016-94B9-FF3AC58C0E15}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "testttt", "testttt\testttt.csproj", "{3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestProject2", "TestProject2\TestProject2.csproj", "{B4FC7261-2A1E-41C0-B9A7-226115C67F3B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {707F316F-3141-4201-82FA-76E8B1E6A16C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {707F316F-3141-4201-82FA-76E8B1E6A16C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {707F316F-3141-4201-82FA-76E8B1E6A16C}.Debug|x64.ActiveCfg = Debug|x64 + {707F316F-3141-4201-82FA-76E8B1E6A16C}.Debug|x64.Build.0 = Debug|x64 {707F316F-3141-4201-82FA-76E8B1E6A16C}.Release|Any CPU.ActiveCfg = Release|Any CPU {707F316F-3141-4201-82FA-76E8B1E6A16C}.Release|Any CPU.Build.0 = Release|Any CPU + {707F316F-3141-4201-82FA-76E8B1E6A16C}.Release|x64.ActiveCfg = Release|x64 + {707F316F-3141-4201-82FA-76E8B1E6A16C}.Release|x64.Build.0 = Release|x64 {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Debug|Any CPU.Build.0 = Debug|Any CPU + {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Debug|x64.ActiveCfg = Debug|x64 + {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Debug|x64.Build.0 = Debug|x64 {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Release|Any CPU.ActiveCfg = Release|Any CPU {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Release|Any CPU.Build.0 = Release|Any CPU + {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Release|x64.ActiveCfg = Release|x64 + {546A7EF0-BA4F-44A5-A4C3-2B173703A417}.Release|x64.Build.0 = Release|x64 {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Debug|x64.ActiveCfg = Debug|x64 + {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Debug|x64.Build.0 = Debug|x64 {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Release|Any CPU.ActiveCfg = Release|Any CPU {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Release|Any CPU.Build.0 = Release|Any CPU + {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Release|x64.ActiveCfg = Release|x64 + {FF7D3A70-4FDD-47BF-859E-A25F88593F62}.Release|x64.Build.0 = Release|x64 {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Debug|x64.ActiveCfg = Debug|x64 + {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Debug|x64.Build.0 = Debug|x64 {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Release|Any CPU.ActiveCfg = Release|Any CPU {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Release|Any CPU.Build.0 = Release|Any CPU + {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Release|x64.ActiveCfg = Release|x64 + {E265F701-B0ED-4EFF-ADAF-17B3E65E007F}.Release|x64.Build.0 = Release|x64 {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Debug|x64.ActiveCfg = Debug|x64 + {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Debug|x64.Build.0 = Debug|x64 {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Release|Any CPU.ActiveCfg = Release|Any CPU {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Release|Any CPU.Build.0 = Release|Any CPU + {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Release|x64.ActiveCfg = Release|x64 + {2CF7DDB5-2FD8-4D80-9D5F-9C8DD12B8518}.Release|x64.Build.0 = Release|x64 {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Debug|x64.ActiveCfg = Debug|x64 + {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Debug|x64.Build.0 = Debug|x64 {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Release|Any CPU.ActiveCfg = Release|Any CPU {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Release|Any CPU.Build.0 = Release|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3030B3CE-5F2F-451A-9F07-AE2CA9351BD0}.Release|Any CPU.Build.0 = Release|Any CPU + {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Release|x64.ActiveCfg = Release|x64 + {EE834623-6D68-4016-94B9-FF3AC58C0E15}.Release|x64.Build.0 = Release|x64 + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Debug|x64.ActiveCfg = Debug|Any CPU + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Debug|x64.Build.0 = Debug|Any CPU + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Release|Any CPU.Build.0 = Release|Any CPU + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Release|x64.ActiveCfg = Release|Any CPU + {B4FC7261-2A1E-41C0-B9A7-226115C67F3B}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/CalculateurMoyanne/CalculateurStub/Stub/StubMaquette.cs b/src/CalculateurMoyanne/CalculateurStub/Stub/StubMaquette.cs index 7222040..014970f 100644 --- a/src/CalculateurMoyanne/CalculateurStub/Stub/StubMaquette.cs +++ b/src/CalculateurMoyanne/CalculateurStub/Stub/StubMaquette.cs @@ -49,7 +49,6 @@ namespace StubCalculateur.Stub { if (data != null) { - int index = lstmqt.FindIndex(x => x.BLOCS == data.BLOCS); lstmqt[index] = data; } @@ -67,7 +66,7 @@ namespace StubCalculateur.Stub { listb.Add(new BlocModel("")); } - // lstmqt.Add(new Maquette(ues,listb)); + lstmqt.Add(new MaquetteModel(ues,listb)); ues.Clear(); } return lstmqt; diff --git a/src/CalculateurMoyanne/CalculateurStub/StubCalculateur.csproj b/src/CalculateurMoyanne/CalculateurStub/StubCalculateur.csproj index 7fed0b7..ef6377b 100644 --- a/src/CalculateurMoyanne/CalculateurStub/StubCalculateur.csproj +++ b/src/CalculateurMoyanne/CalculateurStub/StubCalculateur.csproj @@ -4,6 +4,7 @@ net6.0 enable enable + AnyCPU;x64 diff --git a/src/CalculateurMoyanne/ClassCalculateurMoyenne/ClassCalculateurMoyenne.csproj b/src/CalculateurMoyanne/ClassCalculateurMoyenne/ClassCalculateurMoyenne.csproj index 9529674..0c4b293 100644 --- a/src/CalculateurMoyanne/ClassCalculateurMoyenne/ClassCalculateurMoyenne.csproj +++ b/src/CalculateurMoyanne/ClassCalculateurMoyenne/ClassCalculateurMoyenne.csproj @@ -4,6 +4,7 @@ net6.0 enable enable + AnyCPU;x64 diff --git a/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/BlocModel.cs b/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/BlocModel.cs index 961fdcb..ce4240e 100644 --- a/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/BlocModel.cs +++ b/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/BlocModel.cs @@ -8,11 +8,12 @@ using System.Threading.Tasks; namespace ClassCalculateurMoyenne { - public partial class BlocModel : ObservableObject + public partial class BlocModel : ObservableObject,IEquatable { [ObservableProperty] private string nom; public long Id; + [ObservableProperty] private UE[] uEs; public ReadOnlyCollection ue { get; private set; } @@ -90,5 +91,17 @@ namespace ClassCalculateurMoyenne return false; } + public bool Equals(BlocModel other) + { + return Equals(other.Nom); + + } + public override bool Equals(object obj) + { + if (ReferenceEquals(obj, null)) return false; + if (ReferenceEquals(obj, this)) return true; + if (GetType() != obj.GetType()) return false; + return Equals(obj as BlocModel); + } } } diff --git a/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/MaquetteModel.cs b/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/MaquetteModel.cs index 55c463d..bad4886 100644 --- a/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/MaquetteModel.cs +++ b/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/MaquetteModel.cs @@ -16,28 +16,49 @@ namespace ClassCalculateurMoyenne private readonly List ues = new List(); public ReadOnlyCollection BLOCS { get; private set; } - public string NomMaquette { get; set; } - private readonly List blocs = new List(); - private object value; - public MaquetteModel(List u, List blc) + public string NomMaquette; + public string GetNomMaquette() + { + return GetNomMaquette(); + } + private void SetNomMaquette(string value) + { + + if (string.IsNullOrWhiteSpace(GetNomMaquette())) + + { + throw new ArgumentException("Le Nom de la maquette est obligatoire"); + } + + } + + + public MaquetteModel(int id, string nomMaquette, List u, List blc) { - UES = new ReadOnlyCollection(u); - BLOCS = new ReadOnlyCollection(blc); + Id = id; + NomMaquette = nomMaquette; + UES = u.AsReadOnly(); + BLOCS = blc.AsReadOnly(); } + public MaquetteModel(List u, List blc) + { + UES = u.AsReadOnly(); + BLOCS = blc.AsReadOnly(); + } - public MaquetteModel(long id,string nomMaquette, object value) + public MaquetteModel(long id,string nomMaquette) { Id = Id; - NomMaquette = nomMaquette; - this.value = value; + SetNomMaquette(nomMaquette); + } public MaquetteModel( string nomMaquette) { - - NomMaquette = nomMaquette; + + SetNomMaquette(nomMaquette); } @@ -92,26 +113,30 @@ namespace ClassCalculateurMoyenne public bool Equals(MaquetteModel other) { - return Equals(other.NomMaquette); + return Equals(other.GetNomMaquette()); } public override bool Equals(object obj) { if (ReferenceEquals(obj, null)) return false; if (ReferenceEquals(obj, this)) return true; if (GetType() != obj.GetType()) return false; - return Equals(obj as UE); + return Equals(obj as MaquetteModel); } public MaquetteModel(string nomMaquette, int id) { - NomMaquette = nomMaquette; + SetNomMaquette(nomMaquette); Id = id; } public void setNomMaquete(string nom) { - NomMaquette =nom; + SetNomMaquette(nom); } + + + } + } diff --git a/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/UE.cs b/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/UE.cs index e5eb76a..5a23761 100644 --- a/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/UE.cs +++ b/src/CalculateurMoyanne/ClassCalculateurMoyenne/Modele/UE.cs @@ -13,12 +13,13 @@ namespace ClassCalculateurMoyenne private string intitulé; - public UE ( long id,List _matieres, int coefficient, string intitulé) + public UE ( long id, int coefficient, string intitulé,params Matiere[] matieres) { Id = id; - Matieres = new ReadOnlyCollection(_matieres); Coefficient = coefficient; Intitulé = intitulé; + Matieres = new ReadOnlyCollection(matieres); + } public void setIntitulé(string intitulé) { @@ -52,7 +53,7 @@ namespace ClassCalculateurMoyenne public bool Equals(UE other) { - return Equals(other.Intitulé); + return matieres.Equals(other.matieres); } public override bool Equals(object obj) { diff --git a/src/CalculateurMoyanne/TestProject1/TestProject1.csproj b/src/CalculateurMoyanne/TestProject1/TestProject1.csproj new file mode 100644 index 0000000..dbb7830 --- /dev/null +++ b/src/CalculateurMoyanne/TestProject1/TestProject1.csproj @@ -0,0 +1,29 @@ + + + + net6.0-windows10.0.19041.0 + enable + enable + + false + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + diff --git a/src/CalculateurMoyanne/TestProject1/UnitTest1.cs b/src/CalculateurMoyanne/TestProject1/UnitTest1.cs new file mode 100644 index 0000000..2b79095 --- /dev/null +++ b/src/CalculateurMoyanne/TestProject1/UnitTest1.cs @@ -0,0 +1,11 @@ +namespace TestProject1 +{ + public class UnitTest1 + { + [Fact] + public void Test1() + { + Assert.True(true); + } + } +} \ No newline at end of file diff --git a/src/CalculateurMoyanne/TestProject1/Usings.cs b/src/CalculateurMoyanne/TestProject1/Usings.cs new file mode 100644 index 0000000..8c927eb --- /dev/null +++ b/src/CalculateurMoyanne/TestProject1/Usings.cs @@ -0,0 +1 @@ +global using Xunit; \ No newline at end of file diff --git a/src/CalculateurMoyanne/TestProject2/TestProject2.csproj b/src/CalculateurMoyanne/TestProject2/TestProject2.csproj new file mode 100644 index 0000000..f952522 --- /dev/null +++ b/src/CalculateurMoyanne/TestProject2/TestProject2.csproj @@ -0,0 +1,25 @@ + + + + net6.0 + enable + enable + + false + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + diff --git a/src/CalculateurMoyanne/TestProject2/UnitTest1.cs b/src/CalculateurMoyanne/TestProject2/UnitTest1.cs new file mode 100644 index 0000000..2e7a3d1 --- /dev/null +++ b/src/CalculateurMoyanne/TestProject2/UnitTest1.cs @@ -0,0 +1,11 @@ +namespace TestProject2 +{ + public class UnitTest1 + { + [Fact] + public void Test1() + { + + } + } +} \ No newline at end of file diff --git a/src/CalculateurMoyanne/TestProject2/Usings.cs b/src/CalculateurMoyanne/TestProject2/Usings.cs new file mode 100644 index 0000000..8c927eb --- /dev/null +++ b/src/CalculateurMoyanne/TestProject2/Usings.cs @@ -0,0 +1 @@ +global using Xunit; \ No newline at end of file diff --git a/src/CalculateurMoyanne/testpourEf/Program.cs b/src/CalculateurMoyanne/testpourEf/Program.cs new file mode 100644 index 0000000..4e05cea --- /dev/null +++ b/src/CalculateurMoyanne/testpourEf/Program.cs @@ -0,0 +1,14 @@ +// See https://aka.ms/new-console-template for more information +using CalculateurEF.Context; +using CalculateurEF.Entities; + +Console.WriteLine("Hello, World!"); +namespace testpourEF +{ class Program + { + static + } +} + + + diff --git a/src/CalculateurMoyanne/testpourEf/testpourEf.csproj b/src/CalculateurMoyanne/testpourEf/testpourEf.csproj new file mode 100644 index 0000000..a43bdde --- /dev/null +++ b/src/CalculateurMoyanne/testpourEf/testpourEf.csproj @@ -0,0 +1,26 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + diff --git a/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestBloc.cs b/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestBloc.cs index 5a5f1f4..10ed59b 100644 --- a/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestBloc.cs +++ b/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestBloc.cs @@ -1,12 +1,62 @@ -using System; +using ClassCalculateurMoyenne; +using StubCalculateur.Stub; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Xunit; namespace TestCalculateurMoyanne.LesTests { public class UnitTestBloc { + // BlocModel b = new BlocModel(); + // [Fact] + // public void Test() + // { + // Assert.NotNull(b); + // Assert.Equal("L3", b.Nom); + // Assert.NotEqual("E3", b.Nom); + // } + // [Fact] + // public void TestInvalidBloc() + // { + // Assert.Throws(() => new BlocModel(null)); + // } + + + // public class Bloc_InlineData + // { + // [Theory] + // [InlineData(false, "L6", 2, "L3", 2)] + // [InlineData(false, "", 0, "", 0)] + // [InlineData(true, "M1", 0, "M1", 0)] + + // public void TestConstructeur(bool isValid, string expectedNom, int expectedId, + // string Nom, int id) + // { + // if (!isValid) + // { + // Assert.Throws(() => new MaquetteModel(Nom, id)); + // return; + // } + // BlocModel m = new BlocModel(Nom, id); + // Assert.Equal(expectedNom, m.Nom); + // Assert.Equal(expectedId, m.Id); + // } + // [Fact] + // public void TestBlocStub() + // { + // StubBloc stub = new StubBloc(); + // // Assert.Equal(10, stub.GetAllUE(10).Result.Count()); + // } + + // } + + } + + + + } -} diff --git a/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestMaquette.cs b/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestMaquette.cs index 4ce6843..36719a4 100644 --- a/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestMaquette.cs +++ b/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestMaquette.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Xunit; namespace TestCalculateurMoyanne.LesTests { @@ -15,37 +16,31 @@ namespace TestCalculateurMoyanne.LesTests public void Test() { Assert.NotNull(m); - Assert.Equal("L3", m.NomMaquette); - Assert.NotEqual("E3", m.NomMaquette); + Assert.Equal("L3", m.GetNomMaquette()); + Assert.NotEqual("E3", m.GetNomMaquette()); } [Fact] public void TestInvalidMaquette() { - Assert.Throws(() => new MaquetteModel(null)); - } - public class maquette_InlineData - { + } [Theory] - [InlineData(false, "L6", 2, "L3", 2)] - [InlineData(false, "", 0, "", 0)] - [InlineData(true, "M1", 0, "M1", 0)] - - - public void TestConstructor(bool isValid, string expectedNomMaquette, int expectedId, - string NomMaquette, int id) + [InlineData(false, "L6" ,"L3")] + [InlineData(false, "", "")] + [InlineData(true, "M1", "M1" )] + public void TestConstructor(bool isValid, string expectedNomMaquette, + string NomMaquette) { if (!isValid) { - Assert.Throws( - () => new UE(NomMaquette, id)); + Assert.Throws( () => new MaquetteModel(NomMaquette)); return; } - MaquetteModel m = new MaquetteModel(NomMaquette, id); - Assert.Equal(expectedNomMaquette, m.NomMaquette); - Assert.Equal(expectedId, m.Id); + MaquetteModel m = new MaquetteModel(NomMaquette); + Assert.Equal(expectedNomMaquette, m.GetNomMaquette()); + } // test avec stub @@ -65,16 +60,17 @@ namespace TestCalculateurMoyanne.LesTests //Compter le nombre de Maq dans un objet IEnumerable Assert.Equal(0, stub.GetAll().Result.Count()); } + [Fact] public void TestUpdate() { StubMaquette stub = new StubMaquette(); MaquetteModel e = new MaquetteModel("E1"); stub.Add(e); - e.setNomMaquete ("L1"); + e.setNomMaquete("L1"); stub.Update(e); - Assert.Equal("L1", stub.GetAll().Result.First().NomMaquette); + Assert.Equal("L1", stub.GetAll().Result.First().GetNomMaquette()); } } } -} + diff --git a/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestUE.cs b/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestUE.cs index 2c2b54a..a8eee8a 100644 --- a/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestUE.cs +++ b/src/Tests/TestCalculateurMoyanne/LesTests/UnitTestUE.cs @@ -2,6 +2,7 @@ using StubCalculateur.Stub; using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -11,76 +12,142 @@ namespace TestCalculateurMoyanne.LesTests { public class UnitTestUE { - UE e = new UE("E2"); - private bool isEqual; - [Fact] - public void Test() + public static IEnumerable Data_AddMatiereToUE() { - Assert.NotNull(e); - Assert.Equal("E2", e.Intitulé); - Assert.NotEqual("E3", e.Intitulé); - } - [Fact] - public void TestInvalidUE() - { - - Assert.Throws(() => new UE(null)); - - } - public class Artist_InlineData_UT - { - [Theory] - [InlineData(false, "Mathematique", 2, "MTH", 2)] - [InlineData(false, "", 0, "", 0)] - [InlineData(true, "Mathematique", 0, "Mathematique", 0)] - + yield return new object[] + { + true, + new Matiere[] + { + new Matiere( 1,20,"mat",2), + new Matiere(2,3,"histoire",4), + new Matiere(4,12,"geo",2) + }, + new UE(1,2,"UE2", + new Matiere( 1,20,"mat",2), + new Matiere(2,3,"histoire",4)), + new Matiere(4,12,"geo",2) - public void TestConstructor(bool isValid, string expectedMatiere, int expectedcoef, - string intitulé, int coefficient) + }; + yield return new object[] { - if (!isValid) + false, + new Matiere[] { - Assert.Throws( - () => new UE(intitulé, coefficient)); - return; - } + new Matiere( 1,20,"mat",2), + new Matiere(2,3,"histoire",4), + new Matiere(4,12,"geo",2) + }, + new UE(1,2,"UE2", + new Matiere( 1,20,"mat",2), + new Matiere(2,3,"histoire",4)), + new Matiere(4,12,"geo",2), + new Matiere(5,2,"arithmetique",3) + }; + } + [Theory] + [MemberData(nameof(Data_AddMatiereToUE))] + public void Test_AddMatiereToUE(bool expectedResult, + IEnumerable expectedMatiere, + UE ue, + Matiere matiere) { - UE e = new UE(intitulé, coefficient); - Assert.Equal(expectedMatiere,e.Intitulé); - Assert.Equal(expectedcoef, e.Coefficient); - } + // true si l'ajout est réussi et false sinon + bool result = ue.AjouterMatiere(matiere); - // test avec stub + // comparaison avec le resultat qu'on espert avoir + Assert.Equal(expectedResult, result); + + // + Assert.Equal(expectedMatiere.Count(), ue.Matieres.Count()); + Assert.All(expectedMatiere, j => ue.Matieres.Contains(j)); - [Fact] - public void TestUeStub() - { - stubUE stub = new stubUE(); - Assert.Equal(10, stub.GetAllUE(10).Result.Count()); - } - [Fact] - public void TestRemove() - { - stubUE stub = new stubUE(); - UE e = new UE("E1"); - stub.Add(e); - stub.Delete(e); - //Compter le nombre de UE dans un objet IEnumerable - Assert.Equal(0, stub.GetAll().Result.Count()); - } - public void TestUpdate() - { - stubUE stub = new stubUE(); - UE e = new UE("E1"); - stub.Add(e); - e.setIntitulé("UE1"); - stub.Update(e); - Assert.Equal("UE1", stub.GetAll().Result.First().Intitulé); - } } } + + + + + } - \ No newline at end of file + + + //true, + //new Artist[] + //{ + // new Artist("Miles", "Davis"), + // new Artist("Wayne", "Shorter"), + // new Artist("Herbie", "Hancock"), + // new Artist("Ron", "Carter"), + // new Artist("Tony", "Williams") + //}, + //new Album("Miles Smiles", new DateTime(1967, 1, 1), + // new Artist("Miles", "Davis"), + // new Artist("Wayne", "Shorter"), + // new Artist("Herbie", "Hancock"), + // new Artist("Ron", "Carter")), + //new Artist("Tony", "Williams") + + + + + + + + + //{ + // [Theory] + // [InlineData(false, "Mathematique", 2, "MTH", 2)] + // [InlineData(false, "", 0, "", 0)] + // [InlineData(true, "Mathematique", 0, "Mathematique", 0)] + + + // public void TestConstructor(bool isValid, string expectedMatiere, int expectedcoef, + // string intitulé, int coefficient) + // { + // if (!isValid) + // { + // Assert.Throws( + // () => new UE(intitulé, coefficient)); + // return; + // } + + // UE e = new UE(intitulé, coefficient); + // Assert.Equal(expectedMatiere,e.Intitulé); + // Assert.Equal(expectedcoef, e.Coefficient); + // } + + // // test avec stub + + // [Fact] + // public void TestUeStub() + // { + // stubUE stub = new stubUE(); + // Assert.Equal(10, stub.GetAllUE(10).Result.Count()); + // } + // [Fact] + // public void TestRemove() + // { + // stubUE stub = new stubUE(); + // UE e = new UE("E1"); + // stub.Add(e); + // stub.Delete(e); + // //Compter le nombre de UE dans un objet IEnumerable + // Assert.Equal(0, stub.GetAll().Result.Count()); + // } + // public void TestUpdate() + // { + // stubUE stub = new stubUE(); + // UE e = new UE("E1"); + // stub.Add(e); + // e.setIntitulé("UE1"); + // stub.Update(e); + // Assert.Equal("UE1", stub.GetAll().Result.First().Intitulé); + // } + + //} + + \ No newline at end of file diff --git a/src/Tests/TestCalculateurMoyanne/TestCalculateurMoyanne.csproj b/src/Tests/TestCalculateurMoyanne/TestCalculateurMoyanne.csproj index 65f62f8..ed12298 100644 --- a/src/Tests/TestCalculateurMoyanne/TestCalculateurMoyanne.csproj +++ b/src/Tests/TestCalculateurMoyanne/TestCalculateurMoyanne.csproj @@ -6,19 +6,21 @@ enable false + - + + runtime; build; native; contentfiles; analyzers; buildtransitive all - +