public async Task InsertAchatAsync(Achat achat) { _context.Achats.Add(achat); _context.SaveChanges(); triturationUpdate = null; triturationUpdate = await _context.Triturations.SingleOrDefaultAsync(c => c.Id == achat.TriturationId); triturationUpdate.HuileRestante = triturationUpdate.HuileRestante - achat.QteAchete; _context.Entry(triturationUpdate).State = EntityState.Modified; AllHuile = 0; AllPrixUnitaire = 0; sommeAllAchat = 0; achats.Clear(); achats = await _context.Achats.AsNoTracking().Where(c => c.Trituration.VarieteId == achat.Trituration.VarieteId).ToListAsync(); foreach (var achato in achats) { AllHuile = AllHuile + achato.QteAchete; sommeAllAchat = sommeAllAchat + achato.MontantAchat; } AllPrixUnitaire = sommeAllAchat / AllHuile; produitHuile = null; produitHuile = await _context.ProduitHuilles.AsNoTracking().SingleOrDefaultAsync(c => c.VarieteId == achat.Trituration.VarieteId); produitHuile.Qte_En_Stock = produitHuile.Qte_En_Stock + achat.QteAchete; produitHuile.Prix_unitaire = AllPrixUnitaire; _context.ProduitHuilles.Attach(produitHuile); _context.Entry(produitHuile).State = EntityState.Modified; await SaveAsync(); }
public async Task <IActionResult> PutTrituration([FromRoute] int id, [FromBody] Trituration trituration) { try { if (!ModelState.IsValid) { return(BadRequest("Invalid model object")); } if (trituration == null) { return(BadRequest("Trituration object is null")); } if (!_triturationsService.TriturationExists(id)) { return(NotFound()); } if (_triturationsService.TriturationExitsFacture(id)) { return(BadRequest("Ne peut pas terminer cette action , car Trituration existe en facture")); } await _triturationsService.UpdateTriturationsAsync(trituration); return(NoContent()); } catch (Exception ex) { return(StatusCode(500, ex)); } }
public async Task UpdateAchatAsync(Achat achat, Trituration triturationUpdate) { AllHuileUpdateOne = 0; AllPrixUnitaireUpdateOne = 0; sommeAllAchatUpdateOne = 0; achatUpdateOne = await _context.Achats.AsNoTracking().SingleOrDefaultAsync(i => i.Id == achat.Id); triturationUpdate.HuileRestante = triturationUpdate.HuileRestante + achatUpdateOne.QteAchete; if (triturationUpdate.HuileRestante >= achat.QteAchete) { triturationUpdate.HuileRestante = triturationUpdate.HuileRestante - achat.QteAchete; _context.Entry(triturationUpdate).State = EntityState.Modified; _context.Entry(achat).State = EntityState.Modified; _context.SaveChanges(); achatsUpdateOne.Clear(); achatsUpdateOne = await _context.Achats.Include(c => c.Trituration).Where(c => c.Trituration.VarieteId == achat.Trituration.VarieteId).ToListAsync(); produitHuilleUpdate = null; produitHuilleUpdate = await _context.ProduitHuilles.SingleOrDefaultAsync(c => c.VarieteId == achat.Trituration.VarieteId); produitHuilleUpdate.Qte_En_Stock = produitHuilleUpdate.Qte_En_Stock - achatUpdateOne.QteAchete; produitHuilleUpdate.Qte_En_Stock = produitHuilleUpdate.Qte_En_Stock + achat.QteAchete; foreach (var achato in achatsUpdateOne) { AllHuileUpdateOne = AllHuileUpdateOne + achato.QteAchete; sommeAllAchatUpdateOne = sommeAllAchatUpdateOne + achato.MontantAchat; } AllPrixUnitaireUpdateOne = sommeAllAchatUpdateOne / AllHuileUpdateOne; produitHuilleUpdate.Prix_unitaire = AllPrixUnitaireUpdateOne; _context.Entry(produitHuilleUpdate).State = EntityState.Modified; _context.SaveChanges(); } await SaveAsync(); }
public TriturationsService(DataContext context, IMapper mapper) { _context = context; // _templateGenerator = templateGenerator; _mapper = mapper; triturationNew = new Trituration(); stockageOlivess = new StockageOlive(); }
public async Task DeletTriturationsAsync(Trituration trituration) { var stockolives = await _context.StockageOlives.Where(c => c.TriturationId == trituration.Id).ToListAsync(); foreach (var stock in trituration.StockageOlives) { stock.TriturationId = null; _context.StockageOlives.Update(stock); } _context.Triturations.Remove(trituration); await SaveAsync(); }
public async Task DeleteAchatAsync(Achat achat) { // var achata = await _context.Achats.AsNoTracking().SingleOrDefaultAsync(i => i.Id == id); // UpdateTriturationBeforeDeleteAchat(achata); // UpdateStockageOliveBeforeDeleteAchat(achata); triturationDelete = null; triturationDelete = await _context.Triturations.SingleOrDefaultAsync(c => c.Id == achat.TriturationId); triturationDelete.HuileRestante = triturationDelete.HuileRestante + achat.QteAchete; _context.Entry(triturationDelete).State = EntityState.Modified; _context.Achats.Remove(achat); _context.SaveChanges(); AllHuileUpdate = 0; AllPrixUnitaireUpdate = 0; sommeAllAchatUpdate = 0; achatsDelete.Clear(); produitHuileDelete = null; achatsDelete = await _context.Achats.Where(c => c.Trituration.VarieteId == achat.Trituration.VarieteId).ToListAsync(); produitHuileDelete = await _context.ProduitHuilles.SingleOrDefaultAsync(c => c.VarieteId == achat.Trituration.VarieteId); if (achatsDelete != null || achatsDelete.Count != 0) { foreach (var achato in achatsDelete) { AllHuileUpdate = AllHuileUpdate + achato.QteAchete; sommeAllAchatUpdate = sommeAllAchatUpdate + achato.MontantAchat; } AllPrixUnitaireUpdate = sommeAllAchatUpdate / AllHuileUpdate; if (sommeAllAchatUpdate == 0) { produitHuileDelete.Qte_En_Stock = 0; produitHuileDelete.Prix_unitaire = 0; _context.Entry(produitHuileDelete).State = EntityState.Modified; _context.SaveChanges(); } else { produitHuileDelete.Qte_En_Stock = produitHuileDelete.Qte_En_Stock - achat.QteAchete; produitHuileDelete.Prix_unitaire = AllPrixUnitaireUpdate; _context.Entry(produitHuileDelete).State = EntityState.Modified; _context.SaveChanges(); } } await SaveAsync(); }
public AchatsService(DataContext context, IMapper mapper) { _context = context; // _templateGenerator = templateGenerator; _mapper = mapper; achat = new Achat(); achatUpdateOne = new Achat(); achatsUpdateOne = new Collection <Achat>(); achatsUpdateTwo = new Collection <Achat>(); triturationUpdate = new Trituration(); triturationDelete = new Trituration(); produitHuile = new ProduitHuille(); produitHuileDelete = new ProduitHuille(); achats = new Collection <Achat>(); achatsDelete = new Collection <Achat>(); produitHuilleUpdate = new ProduitHuille(); produitHuilleTwo = new ProduitHuille(); }
public async Task <IActionResult> PostTrituration([FromBody] Trituration triturati) { if (!ModelState.IsValid) { return(BadRequest("Invalid model object")); } if (triturati == null) { return(BadRequest("Trituration object is null")); } try { await _triturationsService.InsertTriturationAsync(triturati); } catch (Exception ex) { return(StatusCode(500, ex)); } return(CreatedAtAction("GetTrituration", new { id = triturati.Id }, triturati)); }
public FileDto GetUsersAsPdfAsync(Trituration trituration, float s) { // trita = trituration; saTrituration = s; HtmlToPdfDocumentTrituration = null; htmlTrituration = GetHTMLStringTrituration(trituration, saTrituration); ObjectSettingsTrituration.PagesCount = true; ObjectSettingsTrituration.HtmlContent = htmlTrituration; ObjectSettingsTrituration.WebSettings.DefaultEncoding = "utf-8"; ObjectSettingsTrituration.WebSettings.UserStyleSheet = Path.Combine(Directory.GetCurrentDirectory(), "Assets", "Style.css"); ObjectSettingsTrituration.WebSettings.LoadImages = true; HtmlToPdfDocumentTrituration = new HtmlToPdfDocument() { GlobalSettings = globalSettings, Objects = { ObjectSettingsTrituration } }; return(new FileDto("UserList.pdf", _converter.Convert(HtmlToPdfDocumentTrituration))); }
public async Task InsertTriturationAsync(Trituration trituration) { triturationNew.Date = trituration.Date; triturationNew.PrixUnitaire = trituration.PrixUnitaire; triturationNew.Montant = trituration.Montant; triturationNew.Rendement = trituration.Rendement; triturationNew.HuileObtenu = trituration.HuileObtenu; triturationNew.QteLivree = trituration.QteLivree; triturationNew.HuileRestante = trituration.HuileRestante; triturationNew.Poids = trituration.Poids; triturationNew.ClientId = trituration.ClientId; triturationNew.VarieteId = trituration.VarieteId; _context.Triturations.Add(triturationNew); _context.SaveChanges(); // var stockolivesDb = _context.StockageOlives.Where(c => c.TriturationId == trituration.Id) foreach (var stock in trituration.StockageOlives) { StockageOlive stok = new StockageOlive() { Id = stock.Id, Poids = stock.Poids, Chauffeur = stock.Chauffeur, Vehicule = stock.Vehicule, Date = stock.Date, VarieteId = stock.VarieteId, ClientId = stock.ClientId, TriturationId = triturationNew.Id, }; _context.Entry(stok).State = EntityState.Modified; _context.SaveChanges(); } await SaveAsync(); triturationNew = null; }
public async Task UpdateTriturationsAsync(Trituration trituration) { _context.Entry(trituration).State = EntityState.Modified; await SaveAsync(); }
public string GetHTMLStringTrituration(Trituration triturationsa, float s) { StringBuilderTrituration.Clear(); StringBuilderTrituration.Append(@" <html> <head> <title>Trituration huile PDF</title> </ head > <body > <img src='http://*****:*****@" <p class='name'>{0}</p> <p>Nom : {1}</p> <p>Gsm :{2}</p> <p>Tel : {3}</p> </div> <div class='data right'> <div><h3>FACTURE TRITURATION N° 00 {4}</h3></div> <div class='date'> Date de Trituration:{5}<br> </div> </div></div>" , triturationsa.Client.Nom, triturationsa.Client.Gsm, triturationsa.Client.Tel, triturationsa.Client.Ville, triturationsa.Id, triturationsa.Date); StringBuilderTrituration.Append(@" <table border = '0' cellspacing='0' cellpadding='0'> <thead> <tr> <th class='desc'>Description</th> <th class='qty'>Huile Obtenu</th> <th class='unit'>Poids</th> <th class='unit'>Prix Unitaire</th> <th class='total'>Montant</th> </tr> </thead> <tbody> <tr>" ); StringBuilderTrituration.AppendFormat(@" <td class='desc'><h3>Type de variete : {0} | Rendement : {1}</h3></td> <td class='qty'>{2} L</td> <td class='unit'>{3} Kg</td> <td class='unit'>{4} Kg</td> <td class='total'>{6} DT</td> </tr> </tbody> </table> <p><br/><br/><br/> <div class='no-break'> <table class='grand-total'> <tbody> <tr> <td class='desc'></td> <td class='unit' colspan='2'>RESTE A PAYER:</td> <td class='total'>{5} DT</td> </tr> <tr> <td class='desc'></td> <td class='unit' colspan='2'>MONTANT TOTAL:</td> <td class='total'>{6} DT</td> </tr> ", triturationsa.Variete.Name, triturationsa.Rendement, triturationsa.HuileObtenu, triturationsa.Poids, triturationsa.PrixUnitaire, triturationsa.Montant - s, triturationsa.Montant); StringBuilderTrituration.Append(@" </tbody> </table> </div> </div> </section> </body> </html>"); return(StringBuilderTrituration.ToString()); }