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)); }
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)); }
public async Task <InventaireEntity> DeleteAsync(InventaireEntity item) { item.IsDeleted = true; _context.Update(item); await _context.SaveChangesAsync(); return(item); }
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); }
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); }
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)); }
public async Task <InventaireEntity> Add(InventaireEntity item) { return(await _repository.AddAsync(item)); }