public async Task <Guid> Create(Models.Projet proj)
        {
            try
            {
                var context = CreateContext();
                int Ti, Ts;
                Ts = proj.TypoStockageId switch
                {
                    TypoStockage.Distribue => Ts  = 0,
                    TypoStockage.Centralise => Ts = 1,
                    TypoStockage.Mixte => Ts      = 2,
                    _ => Ts = 0,
                };
                Ti = proj.TypoInscriptions switch
                {
                    TypoInscription.Invitation => Ti = 0,
                    TypoInscription.Publique => Ti   = 1,
                    TypoInscription.Mixte => Ti      = 2,
                    _ => Ti = 0,
                };
                var created = new Data.Projet
                {
                    Id               = proj.Id,
                    Nom              = proj.Nom,
                    UniversId        = proj.UniversId,
                    TypoStockageId   = Ts,
                    DateDébutJeu     = proj.DateDébutJeu,
                    DateFinJeu       = proj.DateFinJeu,
                    DateDebutInstal  = proj.DateDebutInstal,
                    DateFinRangement = proj.DateFinRangement,
                    NbPJ             = proj.NbPJ,
                    NbPNJ            = proj.NbPNJ,
                    NbOrgas          = proj.NbOrgas,
                    PrxPJ            = proj.PrxPJ,
                    PrxPNJ           = proj.PrxPNJ,
                    PrxOrga          = proj.PrxOrga,
                    RepasInclus      = proj.RepasInclus,
                    CouchagesInclus  = proj.CouchagesInclus,
                    NbCouchages      = proj.NbCouchages,
                    TypoInscriptions = Ti,
                    TerrainId        = proj.TerrainId,
                };
                var enr = await context
                          ._Projet
                          .AddAsync(created);

                await context.SaveChangesAsync();

                return(enr.Entity.Id);
            }
            catch (DbUpdateException e)
            {
                Console.WriteLine(e.Message);
                return(proj.Id);
            }
        }
        public async Task Update(Models.Projet proj)
        {
            try
            {
                var context  = CreateContext();
                var toUpdate = await context._Projet.FindAsync(proj.Id);

                int Ti, Ts;
                Ts = proj.TypoStockageId switch
                {
                    TypoStockage.Distribue => Ts  = 0,
                    TypoStockage.Centralise => Ts = 1,
                    TypoStockage.Mixte => Ts      = 2,
                    _ => Ts = 0,
                };
                Ti = proj.TypoInscriptions switch
                {
                    TypoInscription.Invitation => Ti = 0,
                    TypoInscription.Publique => Ti   = 1,
                    TypoInscription.Mixte => Ti      = 2,
                    _ => Ti = 0,
                };
                if (toUpdate != null)
                {
                    toUpdate.Id               = proj.Id;
                    toUpdate.Nom              = proj.Nom;
                    toUpdate.UniversId        = proj.UniversId;
                    toUpdate.TypoStockageId   = Ts;
                    toUpdate.DateDébutJeu     = proj.DateDébutJeu;
                    toUpdate.DateFinJeu       = proj.DateFinJeu;
                    toUpdate.DateDebutInstal  = proj.DateDebutInstal;
                    toUpdate.DateFinRangement = proj.DateFinRangement;
                    toUpdate.NbPJ             = proj.NbPJ;
                    toUpdate.NbPNJ            = proj.NbPNJ;
                    toUpdate.NbOrgas          = proj.NbOrgas;
                    toUpdate.PrxPJ            = proj.PrxPJ;
                    toUpdate.PrxPNJ           = proj.PrxPNJ;
                    toUpdate.PrxOrga          = proj.PrxOrga;
                    toUpdate.RepasInclus      = proj.RepasInclus;
                    toUpdate.CouchagesInclus  = proj.CouchagesInclus;
                    toUpdate.NbCouchages      = proj.NbCouchages;
                    toUpdate.TypoInscriptions = Ti;
                    toUpdate.TerrainId        = proj.TerrainId;

                    await context.SaveChangesAsync();
                }
            }
            catch (DbUpdateException e)
            {
                Console.WriteLine(e.Message);
            }
        }
        public async Task Delete(Models.Projet proj)
        {
            try
            {
                var context  = CreateContext();
                var toDelete = await context._Projet.FindAsync(proj.Id);

                if (toDelete != null)
                {
                    context._Projet.Remove(toDelete);
                    await context.SaveChangesAsync();
                }
            }
            catch (DbUpdateException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Esempio n. 4
0
 public ProjetView(Models.Projet projet)
 {
     InitializeComponent();
     BindingContext = new ViewModels.ProjetViewModel(projet);
 }