Exemplo n.º 1
0
        public ActionResult Create([Bind(Include = "Id,Nom,Description,Duree,Montant,GroupeForfaitId")] Forfait forfait)
        {
            if (ModelState.IsValid)
            {
                forfait.Id = Guid.NewGuid();
                db.Forfaits.Add(forfait);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(forfait));
        }
        public ActionResult Create([Bind(Include = "Id,Nom,Description")] GroupeForfait groupeForfait)
        {
            if (ModelState.IsValid)
            {
                groupeForfait.Id = Guid.NewGuid();
                db.GroupeForfaits.Add(groupeForfait);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(groupeForfait));
        }
Exemplo n.º 3
0
        public ActionResult Create([Bind(Include = "ID,Nom,Solde")] Caisse caisse)
        {
            if (ModelState.IsValid)
            {
                caisse.ID = Guid.NewGuid();
                db.Caisses.Add(caisse);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(caisse));
        }
Exemplo n.º 4
0
        public ActionResult Create([Bind(Include = "Id,ProduitId,Type,Amount,Date")] StockLog stockLog)
        {
            if (ModelState.IsValid)
            {
                stockLog.Id = Guid.NewGuid();
                db.StockLogs.Add(stockLog);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(stockLog));
        }
Exemplo n.º 5
0
 public bool AddClient(Client clt)
 {
     if (GetClientByName(clt) == null)
     {
         clt.ID = Guid.NewGuid();
         db.Clients.Add(clt);
         db.SaveChanges();
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 6
0
        public ActionResult Create(VenteVM vente, Guid clientId, string reglement)
        {
            if (ModelState.IsValid)
            {
                StockManager stockManager = new StockManager(db);
                Vente        newVente     = new Vente()
                {
                    Details       = new List <DetailVente>(),
                    Client        = db.Clients.Find(clientId),
                    Date          = DateTime.Now,
                    Id            = Guid.NewGuid(),
                    ClientId      = clientId,
                    MontantRegle  = 0,
                    DateOperation = DateTime.Now,
                    UserId        = User.Identity.GetUserId()
                };
                double total = 0;
                foreach (var detail in vente.Details)
                {
                    if (detail.Quantite > 0)
                    {
                        newVente.Details.Add(new DetailVente()
                        {
                            Produit        = db.Produits.Find(detail.ProduitId),
                            QuantiteVendue = detail.Quantite,
                            ProduitID      = detail.ProduitId,
                            ID             = Guid.NewGuid()
                        });
                    }
                    stockManager.RemoveStock(detail.ProduitId, detail.Quantite, OperationType.Vente);
                    total += detail.Quantite * db.Produits.Find(detail.ProduitId).PrixVente;
                }
                newVente.Montant        = total;
                newVente.MontantRestant = total;

                db.Operations.Add(newVente);
                db.SaveChanges();
                new CaisseManager(db).reglerVente(vente.MontantPaye, newVente, "Paiement de vente", reglement);
                return(RedirectToAction("Confirmer", new { id = newVente.Id }));
            }

            ViewBag.ClientId = new SelectList(db.Clients, "ID", "Nom", vente.ClientId);
            return(View(vente));
        }
        public ActionResult Create([Bind(Include = "Id,EmailNotifications,HourNotifications")] Parametre parametre)
        {
            if (ModelState.IsValid)
            {
                parametre.Id = Guid.NewGuid();
                if (parametre.HourNotifications > 24)
                {
                    parametre.HourNotifications = parametre.HourNotifications % 24;
                }
                db.Parametres.Add(parametre);
                db.SaveChanges();
                //RecurringJob.AddOrUpdate("chargement", () => cm.load(), Cron.MinuteInterval(20))
                RecurringJob.AddOrUpdate("notifications", () => Utilities.SendNotifications(), Cron.Daily(parametre.HourNotifications));

                return(RedirectToAction("Index"));
            }

            return(View(parametre));
        }
Exemplo n.º 8
0
        public ActionResult Create([Bind(Include = "ID,Nom,PrixAchat,PrixVente,ALouer,StockDisponible,PrixLocationParDefaut,DureeDeLocationParDefaut,Description,DateCreation,CreatorId")] Produit produit)
        {
            if (ModelState.IsValid)
            {
                produit.ID = Guid.NewGuid();
                produit.DureeDeLocationParDefaut = 1;
                produit.DateCreation             = DateTime.Now;
                produit.CreatorId = User.Identity.GetUserId();
                var stock = produit.StockDisponible;
                produit.StockDisponible = 0;
                db.Produits.Add(produit);
                db.SaveChanges();
                new StockManager(db).AddStock(produit.ID, stock, OperationType.Création);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(produit));
        }
Exemplo n.º 9
0
        public ActionResult Create([Bind(Include = "Id,ProduitId,ClientId,DateLocation,DateFinLocation,MontantPaye,DateSuspensionLocation,DateArretLocation,LocationRendue,QuantitePrise,QuantiteRendue,Montant,Date,UserId")] Location location)
        {
            if (ModelState.IsValid)
            {
                location.Id     = Guid.NewGuid();
                location.UserId = User.Identity.GetUserId();
                var produit = db.Produits.Find(location.ProduitId);
                if (produit == null || produit.StockDisponible < location.QuantitePrise)
                {
                    ModelState.AddModelError("QuantitePrise", "La quantité de produit à louer n'est pas disponible");
                    ViewBag.ProduitId = new SelectList(db.Produits, "ID", "Nom", location.ProduitId);
                    ViewBag.ClientId  = new SelectList(db.Clients, "ID", "Nom");
                    return(View(location));
                }
                new StockManager(db).RemoveStock(location.ProduitId, location.QuantitePrise, OperationType.Location);
                location.Date = DateTime.Now;
                location.DateArretLocation = location.DateFinLocation;
                location.LocationRendue    = false;
                location.UserId            = User.Identity.GetUserId();
                if (!User.IsInRole("Modifier les montants de location"))
                {
                    location.Montant = produit.PrixLocationParDefaut * (location.DateFinLocation - location.DateLocation).TotalDays * location.QuantitePrise;
                }
                location.QuantiteRendue = 0;
                location.MontantRestant = location.Montant - location.MontantPaye;

                if (location.MontantRestant < 0)
                {
                    location.MontantRestant = 0;
                }
                db.Operations.Add(location);
                db.SaveChanges();
                new CaisseManager(db).reglerLocation(location.Montant, location, "Paiement de location de " + location.QuantitePrise + " " + produit.Nom, "Especes");
                return(RedirectToAction("Confirmer", new { id = location.Id }));
            }

            ViewBag.ClientId  = new SelectList(db.Clients, "ID", "Nom");
            ViewBag.ProduitId = new SelectList(db.Produits, "ID", "Nom", location.ProduitId);
            return(View(location));
        }
Exemplo n.º 10
0
        public ActionResult CreateAchat(AchatCreateVM achat)
        {
            if (ModelState.IsValid)
            {
                Achat newAchat = new Achat()
                {
                    Details     = new List <DetailAchat>(),
                    Fournisseur = achat.Fournisseur,
                    Date        = DateTime.Now,
                    NumFacture  = achat.NumFactureFournisseur,
                    Id          = Guid.NewGuid(),
                    UserId      = User.Identity.GetUserId()
                };
                double total = 0;
                foreach (var detail in achat.Details)
                {
                    if (detail.Quantite > 0)
                    {
                        newAchat.Details.Add(new DetailAchat()
                        {
                            Produit         = db.Produits.Find(detail.ProduitId),
                            QuantiteAchetee = detail.Quantite,
                            ProduitID       = detail.ProduitId,
                            ID = Guid.NewGuid()
                        });
                    }
                    total += detail.Quantite * db.Produits.Find(detail.ProduitId).PrixAchat;
                }
                newAchat.Montant = total;
                //newAchat.MontantRestant = total;

                db.Operations.Add(newAchat);
                db.SaveChanges();
                //new CaisseManager(db).reglerVente(vente.MontantPaye, newVente);

                return(RedirectToAction("Index"));
            }

            return(View(achat));
        }
Exemplo n.º 11
0
        // GET: Abonnements
        public ActionResult Index()
        {
            checkAbonnements();
            ViewBag.caisseDefined = db.Caisses.Any();
            var abonnements = db.Operations.OfType <Abonnement>().Include(a => a.Forfait).OrderByDescending(a => a.Termine).OrderByDescending(l => l.Date).ToList();

            foreach (var abonnement in abonnements)
            {
                if ((abonnement.DateFin - DateTime.Now).TotalDays < -1 && !abonnement.Suspendu)
                {
                    abonnement.Termine         = true;
                    db.Entry(abonnement).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }

            return(View(abonnements));
        }