private void EditionSortieMateriel(List <CsDemande> lesDemandes) { List <CsEditionDevis> LstDesRubriqueDevis = new List <CsEditionDevis>(); foreach (var item in lesDemandes) { foreach (ObjELEMENTDEVIS leObjeDevis in item.EltDevis.Where(t => t.FK_IDMATERIELDEVIS != null && t.FK_IDMATERIELDEVIS != 0).ToList()) { CsEditionDevis LaRubriqueDevis = new CsEditionDevis(); LaRubriqueDevis.CENTRE = item.LaDemande.CENTRE; LaRubriqueDevis.PRODUIT = item.LaDemande.LIBELLEPRODUIT; LaRubriqueDevis.TYPEDEMANDE = item.LaDemande.LIBELLETYPEDEMANDE; LaRubriqueDevis.COMMUNUE = item.Ag.LIBELLECOMMUNE; LaRubriqueDevis.QUARTIER = item.Ag.LIBELLEQUARTIER; LaRubriqueDevis.NOM = item.LeClient.NOMABON; LaRubriqueDevis.NUMDEMANDE = item.LaDemande.NUMDEM; LaRubriqueDevis.LATITUDE = item.Branchement.LATITUDE; LaRubriqueDevis.LONGITUDE = item.Branchement.LONGITUDE; LaRubriqueDevis.DESIGNATION = leObjeDevis.DESIGNATION; LaRubriqueDevis.QUANTITE = Convert.ToDecimal(leObjeDevis.QUANTITE); LstDesRubriqueDevis.Add(LaRubriqueDevis); } } Utility.ActionDirectOrientation <ServicePrintings.CsEditionDevis, CsEditionDevis>(LstDesRubriqueDevis, null, SessionObject.CheminImpression, "ValidationMateriel", "Devis", true); }
private void EdiderDevisMt(List <CsRubriqueDevis> leRubriques) { List <ObjELEMENTDEVIS> lstEl = this.LireElements(); decimal montantTotal = lstEl.Where(u => u.MONTANTTTC != null).Sum(t => (decimal)(t.MONTANTTTC)); List <CsEditionDevis> LstDesRubriqueDevis = new List <CsEditionDevis>(); foreach (ObjELEMENTDEVIS item in lstEl.Where(t => t.CODECOPER != SessionObject.Enumere.CoperCAU).ToList()) { CsEditionDevis LaRubriqueDevis = new CsEditionDevis(); LaRubriqueDevis.CENTRE = laDetailDemande.LaDemande.CENTRE; LaRubriqueDevis.PRODUIT = laDetailDemande.LaDemande.LIBELLEPRODUIT; LaRubriqueDevis.TYPEDEMANDE = laDetailDemande.LaDemande.LIBELLETYPEDEMANDE; LaRubriqueDevis.COMMUNUE = laDetailDemande.Ag.LIBELLECOMMUNE; LaRubriqueDevis.QUARTIER = laDetailDemande.Ag.LIBELLEQUARTIER; LaRubriqueDevis.NOM = laDetailDemande.LeClient.NOMABON; LaRubriqueDevis.NUMDEMANDE = laDetailDemande.LaDemande.NUMDEM; LaRubriqueDevis.LATITUDE = laDetailDemande.Branchement.LATITUDE; LaRubriqueDevis.LONGITUDE = laDetailDemande.Branchement.LONGITUDE; LaRubriqueDevis.DISTANCEBRT = laDetailDemande.Branchement.LONGBRT.ToString(); LaRubriqueDevis.DISTANCEEXT = laDetailDemande.Branchement.LONGEXTENSION.ToString(); LaRubriqueDevis.SITE = laDetailDemande.LaDemande.PUISSANCESOUSCRITE.ToString(); LaRubriqueDevis.DESIGNATION = item.DESIGNATION; LaRubriqueDevis.QUANTITE = Convert.ToDecimal(item.QUANTITE); LaRubriqueDevis.PRIXUNITAIRE = item.PRIX_UNITAIRE.Value; LaRubriqueDevis.MONTANTHT = (decimal)(item.MONTANTTTC); LaRubriqueDevis.PRIXTVA = (montantTotal * 18) / 100; LaRubriqueDevis.TOTALDEVIS = montantTotal; if (item.FK_IDRUBRIQUEDEVIS != null) { LaRubriqueDevis.SECTION = leRubriques.FirstOrDefault(t => t.PK_ID == item.FK_IDRUBRIQUEDEVIS).LIBELLE; } else { LaRubriqueDevis.SECTION = ""; } LstDesRubriqueDevis.Add(LaRubriqueDevis); } Dictionary <string, string> param = new Dictionary <string, string>(); param.Add("pDate", "1"); param.Add("pNumeroFacture", "2"); param.Add("pClient", laDetailDemande.LeClient.NOMABON); param.Add("pObjet1", "2"); param.Add("pObjet2", "3"); Utility.ActionDirectOrientation <ServicePrintings.CsEditionDevis, CsEditionDevis>(LstDesRubriqueDevis, param, SessionObject.CheminImpression, "DevisExtension", "Accueil", true); }
private void EnregisterOuTransmetre(bool isTransmetre) { List <CsEditionDevis> LstDesRubriqueDevis = new List <CsEditionDevis>(); if (laDetailDemande.EltDevis != null && laDetailDemande.EltDevis.Count != 0) { int idTrv = SessionObject.LstDesCopers.FirstOrDefault(t => t.CODE == SessionObject.Enumere.CoperTRV).PK_ID; ServiceAccueil.CsCentre leCentre = SessionObject.LstCentre.FirstOrDefault(t => t.PK_ID == laDetailDemande.LaDemande.FK_IDCENTRE); CsDemandeDetailCout leCoutduDevis = new CsDemandeDetailCout(); if (laDetailDemande.Depannage.ISPERSONNEEXTERIEUR == true) { leCoutduDevis.CENTRE = string.IsNullOrEmpty(SessionObject.Enumere.Generale) ? null : SessionObject.Enumere.Generale; leCoutduDevis.CLIENT = string.IsNullOrEmpty("00000000000") ? null : "00000000000"; leCoutduDevis.ORDRE = "00"; } else { leCoutduDevis.CENTRE = string.IsNullOrEmpty(SessionObject.Enumere.Generale) ? null : SessionObject.Enumere.Generale; leCoutduDevis.CLIENT = string.IsNullOrEmpty(leCentre.COMPTEECLAIRAGEPUBLIC) ? null : leCentre.COMPTEECLAIRAGEPUBLIC; leCoutduDevis.ORDRE = "01"; } leCoutduDevis.FK_IDCENTRE = laDetailDemande.LaDemande.FK_IDCENTRE; leCoutduDevis.NUMDEM = string.IsNullOrEmpty(laDetailDemande.LaDemande.NUMDEM) ? string.Empty : laDetailDemande.LaDemande.NUMDEM; leCoutduDevis.COPER = SessionObject.Enumere.CoperFactureTrvxEtDivers; leCoutduDevis.FK_IDCOPER = SessionObject.LstDesCopers.FirstOrDefault(t => t.CODE == SessionObject.Enumere.CoperFactureTrvxEtDivers).PK_ID; leCoutduDevis.FK_IDTAXE = laDetailDemande.EltDevis.First().FK_IDTAXE.Value; leCoutduDevis.FK_IDDEMANDE = laDetailDemande.LaDemande.PK_ID; leCoutduDevis.MONTANTHT = (decimal?)Math.Ceiling((double)laDetailDemande.EltDevis.Where(t => t.FK_IDCOPER == idTrv).Sum(h => h.MONTANTHT)); leCoutduDevis.MONTANTTAXE = (decimal?)Math.Ceiling((double)laDetailDemande.EltDevis.Where(t => t.FK_IDCOPER == idTrv).Sum(h => h.MONTANTTAXE)); leCoutduDevis.REFEM = DateTime.Today.Year.ToString() + DateTime.Today.Month.ToString("00"); leCoutduDevis.DATECREATION = DateTime.Now; leCoutduDevis.USERCREATION = UserConnecte.matricule; if (laDetailDemande.LstCoutDemande == null) { laDetailDemande.LstCoutDemande = new List <CsDemandeDetailCout>(); laDetailDemande.LstCoutDemande.Add(leCoutduDevis); } else { laDetailDemande.LstCoutDemande.Add(leCoutduDevis); } decimal montantTotal = laDetailDemande.EltDevis.Sum(t => (decimal)(t.MONTANTTTC)); foreach (ObjELEMENTDEVIS item in laDetailDemande.EltDevis) { CsEditionDevis LaRubriqueDevis = new CsEditionDevis(); LaRubriqueDevis.NOM = item.NOM; LaRubriqueDevis.CENTRE = laDetailDemande.LaDemande.CENTRE; LaRubriqueDevis.PRODUIT = laDetailDemande.LaDemande.LIBELLEPRODUIT; LaRubriqueDevis.TYPEDEMANDE = laDetailDemande.LaDemande.LIBELLETYPEDEMANDE; LaRubriqueDevis.COMMUNUE = laDetailDemande.Depannage.LACOMMUNE; LaRubriqueDevis.QUARTIER = laDetailDemande.Depannage.LEQUARTIER; LaRubriqueDevis.NUMDEMANDE = laDetailDemande.LaDemande.NUMDEM; LaRubriqueDevis.DESIGNATION = item.DESIGNATION; LaRubriqueDevis.QUANTITE = Convert.ToDecimal(item.QUANTITE); LaRubriqueDevis.PRIXUNITAIRE = item.PRIX_UNITAIRE.Value; LaRubriqueDevis.MONTANTHT = (decimal)(item.MONTANTTTC); LaRubriqueDevis.TOTALDEVIS = montantTotal; LstDesRubriqueDevis.Add(LaRubriqueDevis); } } bool?IsDevisEditer = laDetailDemande.Depannage.ISPERSONNEEXTERIEUR; laDetailDemande.EltDevis = null; laDetailDemande.Depannage = null; AcceuilServiceClient clientDevis = new AcceuilServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Accueil")); clientDevis.ValiderDemandeCompleted += (ss, b) => { this.btn_transmetre.IsEnabled = true; if (b.Cancelled || b.Error != null) { string error = b.Error.Message; Message.ShowError(error, Silverlight.Resources.Devis.Languages.txtDevis); return; } if (isTransmetre == true) { if (IsDevisEditer == true) { Utility.ActionDirectOrientation <ServicePrintings.CsEditionDevis, CsEditionDevis>(LstDesRubriqueDevis, null, SessionObject.CheminImpression, "DevisEp", "Accueil", true); } //List<string> codes = new List<string>(); //codes.Add(laDetailDemande.InfoDemande.CODE); //Galatee.Silverlight.Shared.ClasseMEthodeGenerique.TransmettreDemande(codes, false, this); AcceuilServiceClient clientDeviss = new AcceuilServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Accueil")); clientDeviss.ClotureValiderDemandeCompleted += (sss, bd) => { if (bd.Cancelled || bd.Error != null) { string error = bd.Error.Message; Message.ShowError(error, Silverlight.Resources.Devis.Languages.txtDevis); return; } if (bd.Result == true) { List <string> codes = new List <string>(); codes.Add(laDetailDemande.InfoDemande.CODE); Galatee.Silverlight.Shared.ClasseMEthodeGenerique.TransmettreDemande(codes, false, this); } else { Message.ShowError("Erreur a la cloture de la demande", Silverlight.Resources.Devis.Languages.txtDevis); } }; clientDeviss.ClotureValiderDemandeAsync(laDetailDemande); } }; clientDevis.ValiderDemandeAsync(laDetailDemande); }