public IActionResult AddFacture([FromBody] int CompteId)
        {
            try
            {
                Compte compte = _context.Comptes.Where(c => c.CompteId.Equals(CompteId)).FirstOrDefault();

                Panier panier = _context.Paniers.Where(p => p.CompteId.Equals(compte.CompteId)).FirstOrDefault();
                Client client = _context.Clients.Where(c => c.UtilisateurId.Equals(compte.ClientId)).FirstOrDefault();

                List <Article> articlesDansPanier = _context.Articles.Where(a => a.PanierId.Equals(panier.PanierId)).ToList();

                int montantTotal = 0;
                articlesDansPanier.ForEach(article =>
                {
                    montantTotal += article.Prix;
                });


                // Ne devrait jamais arriver puisque on fait la vérification coté client
                if (montantTotal > client.Solde)
                {
                    return(BadRequest());
                }
                else
                {
                    Facture facture = new Facture()
                    {
                        Compte       = compte,
                        DateEmission = DateTime.Now,
                        Montant      = montantTotal
                    };
                    _context.Factures.Add(facture);

                    // On retire les articles du panier
                    articlesDansPanier.ForEach(article =>
                    {
                        panier.SupprimerPanierArticle(article);
                        _context.Articles.Remove(article);
                    });

                    // Le gestionnaire associé gagne 15% du montant total
                    Gestionnaire gestionnaireAssocie = _context.Gestionnaires.Where(g => g.UtilisateurId.Equals(client.GestionnaireAssocieId)).FirstOrDefault();
                    gestionnaireAssocie.ajoutFacture(facture);

                    // On réduit évidemment le solde du client
                    client.GenererFacture(facture);

                    _context.SaveChanges();

                    return(Ok());
                }
            }
            catch (Exception) { }

            return(BadRequest());
        }
        public IActionResult AddRole([FromBody] RoleModel model)
        {
            try
            {
                Role role = new Role()
                {
                    Title = model.Title
                };

                _context.Roles.Add(role);
                _context.SaveChanges();
                return(Ok());
            }
            catch (Exception) { }

            return(BadRequest());
        }
Пример #3
0
        public IActionResult AddAbonnement([FromBody] AbonnementModel model)
        {
            try
            {
                Abonnement abonnement = new Abonnement()
                {
                    DureeAbonnement = model.DureeAbonnement
                };

                _context.Abonnements.Add(abonnement);
                _context.SaveChanges();
                return(Ok());
            }
            catch (Exception) { }

            return(BadRequest());
        }
Пример #4
0
        public static void Initialize(gestionAPI_DBContext context)
        {
            //On s'assure que la BDD a bien été créée
            context.Database.EnsureCreated();

            if (context.Roles.Any())
            {
                return;
            }

            // Ajout de rôles
            Role role1 = new Role()
            {
                Title = "Role1"
            };
            Role role2 = new Role()
            {
                Title = "Role2"
            };
            Role role3 = new Role()
            {
                Title = "Role3"
            };
            Role role4 = new Role()
            {
                Title = "Role4"
            };

            context.Roles.Add(role1);
            context.Roles.Add(role2);
            context.Roles.Add(role3);
            context.Roles.Add(role4);



            // Ajout de gestionnaires
            Gestionnaire gestionnaire1 = new Gestionnaire()
            {
                Login           = "******",
                Email           = "*****@*****.**",
                NomGestionnaire = "McCormick",
                Role            = role2,
                MotDePasse      = Utilitaire.HashPassword("gsnPsw1")
            };
            Gestionnaire gestionnaire2 = new Gestionnaire()
            {
                Login           = "******",
                Email           = "*****@*****.**",
                NomGestionnaire = "Marsh",
                Role            = role3,
                MotDePasse      = Utilitaire.HashPassword("gsnPsw2")
            };
            Gestionnaire gestionnaire3 = new Gestionnaire()
            {
                Login           = "******",
                Email           = "*****@*****.**",
                NomGestionnaire = "Broslovsky",
                Role            = role1,
                MotDePasse      = Utilitaire.HashPassword("gsnPsw3")
            };

            context.Gestionnaires.Add(gestionnaire1);
            context.Gestionnaires.Add(gestionnaire2);
            context.Gestionnaires.Add(gestionnaire3);



            // Ajout de stocks
            Stock stock1 = new Stock()
            {
                Titre = "stockClassique", ResponsableStock = gestionnaire2
            };
            Stock stock2 = new Stock()
            {
                Titre = "stockNouveautes", ResponsableStock = gestionnaire3
            };
            Stock stock3 = new Stock()
            {
                Titre = "stockAncien", ResponsableStock = gestionnaire1
            };

            context.Stocks.Add(stock1);
            context.Stocks.Add(stock2);
            context.Stocks.Add(stock3);


            // Ajout d'administrateur
            Administrateur administrateur1 = new Administrateur()
            {
                Login             = "******",
                NomAdministrateur = "Butters",
                Mail       = "*****@*****.**",
                MotDePasse = Utilitaire.HashPassword("adminPsw1")
            };

            context.Administrateurs.Add(administrateur1);


            // Ajout d'un abonnement nul
            Abonnement abonnement1 = new Abonnement()
            {
                DureeAbonnement = 0
            };

            context.Abonnements.Add(abonnement1);

            // Ajout d'un client nul
            Client client1 = new Client()
            {
                Login      = "******",
                Nom        = "Defaut",
                Mail       = "*****@*****.**",
                MotDePasse = Utilitaire.HashPassword("azegaze684qs3dqsd!:sdfàçzqè_"),
            };

            context.Clients.Add(client1);

            // Ajout d'un compte nul
            Compte compte1 = new Compte()
            {
                NomCompte = "CompteDefaut",
                ClientId  = 2,
            };

            context.Comptes.Add(compte1);

            // Ajout d'un panier nul
            Panier panier1 = new Panier()
            {
                Compte = compte1
            };

            context.Paniers.Add(panier1);



            context.SaveChanges();
        }