public static Single CoutDesMatieresConsommees(DateTime debutPeriode, DateTime finPeriode, string matiere) { using (CasaDBEntities db = new CasaDBEntities()) { Single quantiteMatiere = QuantiteDeMatieresConsommees(debutPeriode, finPeriode, matiere); string coutUnitaireStandard = (from mp in db.ResStockMatieresPremieres where mp.NomMatiere == matiere select mp.CoutUnitaire) .SingleOrDefault() .ToString(); Single coutUnitaire; if (CoutDAchatDesMatierePremieres.CoutDAchat(matiere) > 0) { coutUnitaire = CoutDAchatDesMatierePremieres.CoutDAchat(matiere); } else { coutUnitaire = Single.Parse(coutUnitaireStandard); } return(quantiteMatiere * coutUnitaire); } }
public static Single CoutUnitaireProduitSemiFini(string produitSemiFini) { using (CasaDBEntities db = new CasaDBEntities()) { var listeMatieres = (from psf in db.ResStockProduitsSemiFinis join ppf in db.EveProductionProduitsSemiFinis on psf.CodeProduitSemiFini equals ppf.CodeProduitSemiFini join p in db.EveProductions on ppf.CodeProduction equals p.CodeProduction join ur in db.EveUtilisationMatieresPremieres on p.CodeUtilisationRessources equals ur.CodeUtilisationRessource where psf.Description == produitSemiFini select new { Matiere = ur.ResStockMatieresPremiere.NomMatiere }).Distinct().ToList(); Single coutMatieresPremieresParProduitSemiFini = 0; foreach (var mat in listeMatieres) { Single coutMatiere = (float)GestionStocks.QuantiteMatierePremiereParProduitSemiFini(produitSemiFini, mat.Matiere) * CoutDAchatDesMatierePremieres.CoutDAchat(mat.Matiere); coutMatieresPremieresParProduitSemiFini += coutMatiere; } if (coutMatieresPremieresParProduitSemiFini == 0) { coutMatieresPremieresParProduitSemiFini = (from psf in db.ResStockProduitsSemiFinis where psf.Description == produitSemiFini select psf.CoutUnitaire).FirstOrDefault(); } return(coutMatieresPremieresParProduitSemiFini); } }
public static Single ValeurStockMatieresPremieres(DateTime date) { using (CasaDBEntities db = new CasaDBEntities()) { Single valeurStockMatieresPremieres = 0; var listeMatieresPremieres = (from mp in db.ResStockMatieresPremieres select mp.NomMatiere).ToList(); foreach (var matPrem in listeMatieresPremieres) { valeurStockMatieresPremieres += GestionStocks.CalculerSoldeStockMatierePremiere(matPrem, date) * CoutDAchatDesMatierePremieres.CoutDAchat(matPrem); } return(valeurStockMatieresPremieres); } }