public async Task <IActionResult> Create([Bind("Id, ArticleFamilleId")] InventaireEntity item)
        {
            // Vérification si l'inventaire de la famille existe déjà
            var inventaire = await _service_inventaire.GetOneByIdByArticleFamilleId(item.ArticleFamilleId);

            // S'il existe, on redirige vers l'edit de l'inventaire
            if (inventaire != null)
            {
                return(RedirectToAction("Edit", new { Id = inventaire.Id }));
            }

            // recuperer l'utilisateur courant
            var _user = await _user_manager.GetUserAsync(HttpContext.User);

            item.UserId = _user.Id;

            if (ModelState.IsValid)
            {
                await _service_inventaire.Add(item);

                return(RedirectToAction("Edit", new { Id = item.Id }));
            }
            ViewData["ArticleFamilleId"] = new SelectList(_context.ArticleFamilleEntities, "Id", "Code", item.ArticleFamilleId);
            return(View(item));
        }
Exemplo n.º 2
0
        public async Task <InventaireEntity> UpdateAsync(InventaireEntity item)
        {
            _context.Update(item);
            await _context.SaveChangesAsync();

            return(item);
        }
 public async Task <InventaireEntity> Update(InventaireEntity item)
 {
     if (!_repository.Exist(item.Id))
     {
         throw new NotFoundException(ExceptionMessageUtil.NOT_FOUND);
     }
     return(await _repository.UpdateAsync(item));
 }
Exemplo n.º 4
0
        public async Task <InventaireEntity> DeleteAsync(InventaireEntity item)
        {
            item.IsDeleted = true;
            _context.Update(item);
            await _context.SaveChangesAsync();

            return(item);
        }
Exemplo n.º 5
0
        public async Task <InventaireEntity> AddAsync(InventaireEntity item)
        {
            item.NomInventaireStatutId = _context.NomInventaireStatutEntities.Where(o => o.Code == "E").FirstOrDefault().Id; // E = en cours
            _context.InventaireEntities.Add(item);
            await _context.SaveChangesAsync();

            return(item);
        }
Exemplo n.º 6
0
        public async Task <InventaireEntity> ValidateAsync(InventaireEntity item)
        {
            item.NomInventaireStatutId = _context.NomInventaireStatutEntities.Where(o => o.Code == "T").FirstOrDefault().Id; // T = terminé
            item.DateCloture           = DateTime.UtcNow;
            _context.Update(item);
            await _context.SaveChangesAsync();

            return(item);
        }
        public async Task <InventaireLigneEntity> AddArticle(InventaireEntity inventaire, ArticleEntity article)
        {
            InventaireLigneEntity ligne = new InventaireLigneEntity();

            ligne.Inventaire        = inventaire;
            ligne.Article           = article;
            ligne.QuantiteTheorique = article.Stock.Quantite;

            return(await _repository.AddAsync(ligne));
        }
 public bool isEditable(InventaireEntity item)
 {
     if (item.NomInventaireStatut.Code == "E")
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
        public async Task <InventaireEntity> GetOneByIdWithLignes(int id)
        {
            InventaireEntity inventaire = await _repository.GetOneByIdAsync(id);

            // 1. On vérifie le flag de l'inventaire
            // 2. Si le flag est "En cours" et sans ligne alors on ajoute les articles de la famille d'article et leur stock en base dans la ligne de l'inventaire
            if ((inventaire.NomInventaireStatut.Code == "E") && (inventaire.InventaireLignes.Count == 0)) // hardCode "En cours"
            {
                foreach (ArticleEntity a in inventaire.ArticleFamille.Articles)
                {
                    await _service_ligne.AddArticle(inventaire, a);
                }
                // Récupération de l'inventaire avec les lignes
                inventaire = await _repository.GetOneByIdAsync(id);
            }
            return(inventaire);
        }
Exemplo n.º 10
0
        public async Task <InventaireEntity> Validate(InventaireEntity item)
        {
            if (!_repository.Exist(item.Id))
            {
                throw new NotFoundException(ExceptionMessageUtil.NOT_FOUND);
            }

            // Mise à jour de la quantité en stock pour chaque article
            foreach (InventaireLigneEntity l in item.InventaireLignes)
            {
                StockEntity s = await _service_stock.GetOneById(l.ArticleId);

                s.Quantite = l.QuantiteComptee;
                await _service_stock.Update(s);
            }

            return(await _repository.ValidateAsync(item));
        }
Exemplo n.º 11
0
 public async Task <InventaireEntity> Add(InventaireEntity item)
 {
     return(await _repository.AddAsync(item));
 }