public TypesContrat getContratType(int Idproduit) { int typeId = (int)_context.ProduitFa.Where(p => p.IdProduit == Idproduit).Select(t => t.TypeId).FirstOrDefault(); Console.WriteLine("TC TYPE ID ====> " + typeId); TypesContrat type = _context.TypesContrat.Where(t => t.Id == typeId).FirstOrDefault(); Console.WriteLine("TC TYPE Desc ====> " + type.Sigle); return(type); }
public void Chargement() { //Remplit la combo box Type de contrat en fonction des données en base de données App.dbContext.Type_Contrat.ToList().ForEach( tc => TypesContrat.Add(tc) ); //Remplit la combo box Métier en fonction des données en base de données App.dbContext.Metiers.ToList().ForEach( m => Metiers.Add(m) ); //Remplit la combo box des Annonceur en fonction des données en base de données App.dbContext.Societes.OfType <Annonceur>().ToList().ForEach( a => Annonceurs.Add(a) ); }
public void Chargement() { //Remplit la liste des offres en fonction du contenu de la base de données App.dbContext.Offres.ToList().ForEach( o => Offres.Add(o) ); //Remplit la liste des contrats en fonction du contenu de la base de données App.dbContext.Type_Contrat.ToList().ForEach( tc => TypesContrat.Add(tc) ); //Remplit la liste des métiers en fonction du contenu de la base de données App.dbContext.Metiers.ToList().ForEach( m => Metiers.Add(m) ); //Remplit la liste des annonceurs en fonction du contenu de la base de données App.dbContext.Societes.OfType <Annonceur>().ToList().ForEach( a => Annonceurs.Add(a) ); }
/** * génération du prix total du devis */ public double calculDevis(int produitId, int IdDevis) { DevisInformation devis = null; double resuDevis = 0.0; double mdrCalcul = 0.0; double LettP = 0.0; DevisInformation devisInfos = _context.DevisInformation.Include(c => c.IdCptNavigation).Where(d => d.Id == IdDevis).FirstOrDefault(); /** Récupération des infos du devis à partir de son identifiant **/ devis = new DevisInformation() { NbrPoste = devisInfos.NbrPoste, NbrContrat = devisInfos.NbrContrat, LogCompta = devisInfos.LogCompta, LogGestion = devisInfos.LogGestion, LettragePartiel = devisInfos.LettragePartiel, ClotureFacture = devisInfos.ClotureFacture, PreLettrage = devisInfos.PreLettrage, Volumetrie = devisInfos.Volumetrie, IdCpt = devisInfos.IdCpt, MdrPrcntTrtAaccept = devisInfos.MdrPrcntTrtAaccept, MdrPrcntChq = devisInfos.MdrPrcntChq, MdrPrcntTrtSaccept = devisInfos.MdrPrcntTrtSaccept, MdrPrcntVirts = devisInfos.MdrPrcntVirts, MdrPrcntAutres = devisInfos.MdrPrcntAutres }; if (devis.NbrPoste > 0 && devis.NbrContrat > 0 && !devis.LogCompta.Equals("") && !devis.LogGestion.Equals("") && ((devis.LettragePartiel == 1) || (devis.LettragePartiel == 0)) && ((devis.PreLettrage == 1) || (devis.PreLettrage == 0)) && (devis.Volumetrie > 0)) { double impactPrix = 0.0; /** Récupérer le type du contrat à partir de l'identifiant du produit **/ TypesContrat tc = this.getContratType(produitId); resuDevis = (double)tc.PrixBase; if (devis.NbrPoste >= tc.MinNbrPosteInstalle) { resuDevis += ((double)devis.NbrPoste - (double)tc.MinNbrPosteInstalle) * (double)tc.UniteSuppNbrPoste; } if (devis.NbrContrat >= tc.MinNbrContat) { resuDevis += ((double)devis.NbrContrat - (double)tc.MinNbrPosteInstalle) * (double)tc.UniteSuppContrat; } if (devis.Volumetrie >= tc.LimiteHausse) { impactPrix += ((double)tc.LimiteHausse - (double)tc.Vnh) * (double)tc.Vspf; } else { if (devis.Volumetrie >= tc.Vnh) { impactPrix += (double)tc.Vspf * ((double)devis.Volumetrie - (double)tc.Vnh); } else { if (devis.Volumetrie >= tc.Vnb) { impactPrix += 0.0; } else { if (devis.Volumetrie >= tc.LimiteBasse) { impactPrix += ((double)tc.Vnb - (double)devis.Volumetrie) * (double)tc.Vipf * (-1); } else { impactPrix += ((double)tc.Vnb - (double)tc.LimiteBasse) * (double)tc.Vipf * (-1); } } } } resuDevis += impactPrix; if ((impactPrix + tc.PrixBase) > 0) { if ((devis.MdrPrcntTrtAaccept + devis.MdrPrcntTrtSaccept) > 0) { if (tc.Sigle != "CLA") { mdrCalcul += (double)tc.MdrtrtSacceptation * (double)devis.MdrPrcntTrtSaccept + (double)tc.MdrtrtAacceptation * (double)devis.MdrPrcntTrtAaccept; } else { mdrCalcul += (double)tc.MdrtrtSacceptation; } } } if (devis.LettragePartiel == 1) { LettP = (double)tc.LettragePart; } resuDevis += (double)(impactPrix + tc.PrixBase) * (mdrCalcul + LettP); Console.WriteLine("Achat licence == " + resuDevis); } return(resuDevis); }