コード例 #1
0
        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();
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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();
        }
コード例 #4
0
 public TriturationsService(DataContext context, IMapper mapper)
 {
     _context = context;
     //    _templateGenerator = templateGenerator;
     _mapper         = mapper;
     triturationNew  = new Trituration();
     stockageOlivess = new StockageOlive();
 }
コード例 #5
0
        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();
        }
コード例 #6
0
        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();
        }
コード例 #7
0
 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();
 }
コード例 #8
0
 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));
 }
コード例 #9
0
        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)));
        }
コード例 #10
0
        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;
        }
コード例 #11
0
 public async Task UpdateTriturationsAsync(Trituration trituration)
 {
     _context.Entry(trituration).State = EntityState.Modified;
     await SaveAsync();
 }
コード例 #12
0
        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());
        }