private void ValiderInitialisation( ) { try { List <string> codes = new List <string>(); codes.Add(laDetailDemande.InfoDemande.CODE); ClasseMEthodeGenerique.TransmettreDemande(codes, true, this); //List<CsUtilisateur> leUser = new List<CsUtilisateur>(); //if (laDetailDemande.InfoDemande != null && laDetailDemande.InfoDemande.CODE != null) //{ // foreach (CsUtilisateur item in laDetailDemande.InfoDemande.UtilisateurEtapeSuivante) // leUser.Add(item); // Shared.ClasseMEthodeGenerique.NotifierMailDemande(leUser, "0001", laDetailDemande.LaDemande.NUMDEM, laDetailDemande.LaDemande.LIBELLETYPEDEMANDE); //} } catch (Exception ex) { Message.ShowError("Une erreur est survenu suite à la validation", "Validation demande"); } }
private void ValidationDemande(CsDemande _Lademande) { try { foreach (var item in _Lademande.LstCanalistion) { item.ANNEEFAB = string.IsNullOrEmpty(this.Txt_AnneeFab.Text) ? string.Empty : this.Txt_AnneeFab.Text; item.CADRAN = string.IsNullOrEmpty(this.Txt_CodeCadran.Text) ? Convert.ToByte(6) : Convert.ToByte(this.Txt_CodeCadran.Text); item.NUMERO = string.IsNullOrEmpty(this.Txt_NumCompteur.Text) ? string.Empty : this.Txt_NumCompteur.Text; item.MARQUE = string.IsNullOrEmpty(this.Txt_CodeMarque.Text) ? string.Empty : this.Txt_CodeMarque.Text; item.TYPECOMPTEUR = string.IsNullOrEmpty(this.Txt_CodeTypeCompteur.Text) ? string.Empty : this.Txt_CodeTypeCompteur.Text; item.FK_IDCALIBRE = null; if (this.Txt_LibelleDiametre.Tag != null) { item.FK_IDCALIBRE = (int)this.Txt_LibelleDiametre.Tag; } item.FK_IDMARQUECOMPTEUR = (int)this.Txt_CodeMarque.Tag; item.FK_IDTYPECOMPTEUR = (int)this.Txt_CodeTypeCompteur.Tag; item.USERCREATION = UserConnecte.matricule; item.USERMODIFICATION = UserConnecte.matricule; item.DATECREATION = System.DateTime.Now; item.DATEMODIFICATION = System.DateTime.Now; } if (_Lademande.LaDemande == null) { _Lademande.LaDemande = new CsDemandeBase(); } _Lademande.LaDemande.MATRICULE = UserConnecte.matricule; _Lademande.LaDemande.CENTRE = _Lademande.Abonne != null ? _Lademande.Abonne.CENTRE:_Lademande.LaDemande.CENTRE; _Lademande.LaDemande.CLIENT = _Lademande.Abonne != null ? _Lademande.Abonne.CLIENT : _Lademande.LaDemande.CLIENT; _Lademande.LaDemande.ORDRE = _Lademande.Abonne != null ? _Lademande.Abonne.ORDRE : _Lademande.LaDemande.ORDRE; _Lademande.LaDemande.PRODUIT = _Lademande.Abonne != null ? _Lademande.Abonne.PRODUIT : _Lademande.LaDemande.PRODUIT; _Lademande.LaDemande.STATUT = SessionObject.Enumere.DemandeStatusEnAttente; _Lademande.LaDemande.TYPEDEMANDE = Tdem; _Lademande.LaDemande.FK_IDTYPEDEMANDE = SessionObject.LstTypeDemande.FirstOrDefault(t => t.CODE == Tdem) != null?SessionObject.LstTypeDemande.FirstOrDefault(t => t.CODE == Tdem).PK_ID : 0; _Lademande.LaDemande.FK_IDCENTRE = (int)txtCentre.Tag; _Lademande.LaDemande.FK_IDPRODUIT = (int)txt_Produit.Tag; _Lademande.LaDemande.USERCREATION = UserConnecte.matricule; _Lademande.LaDemande.USERMODIFICATION = UserConnecte.matricule; _Lademande.LaDemande.DATECREATION = System.DateTime.Now; _Lademande.LaDemande.DATEMODIFICATION = System.DateTime.Now; _Lademande.LaDemande.ISDEMANDEREJETERINIT = false; _Lademande.LaDemande.MOTIF = string.IsNullOrEmpty(this.Txt_Motif.Text) ? string.Empty : this.Txt_Motif.Text; #region Doc Scanne if (_Lademande.ObjetScanne == null) { _Lademande.ObjetScanne = new List <ObjDOCUMENTSCANNE>(); } if (LstPiece.Count != 0) { _Lademande.ObjetScanne.AddRange(LstPiece); } #endregion _Lademande.Abonne = null; _Lademande.Branchement = null; _Lademande.LeClient = null; _Lademande.LstEvenement = null; _Lademande.EltDevis = null; _Lademande.OrdreTravail = null; _Lademande.Ag = null; //Lancer la transaction de mise a jour en base AcceuilServiceClient service1 = new AcceuilServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Accueil")); service1.ValiderDemandeInitailisationAsync(_Lademande); service1.ValiderDemandeInitailisationCompleted += (sr, res) => { if (!string.IsNullOrEmpty(res.Result)) { if (!IsRejeterDemande) { string Retour = res.Result; string[] coupe = Retour.Split('.'); Shared.ClasseMEthodeGenerique.InitWOrkflow(coupe[0], _Lademande.LaDemande.FK_IDCENTRE, coupe[1], _Lademande.LaDemande.FK_IDTYPEDEMANDE); } else { List <string> codes = new List <string>(); codes.Add(laDetailDemande.InfoDemande.CODE); ClasseMEthodeGenerique.TransmettreDemande(codes, true, this); //List<CsUtilisateur> leUser = new List<CsUtilisateur>(); //if (laDetailDemande.InfoDemande != null && laDetailDemande.InfoDemande.CODE != null) //{ // foreach (CsUtilisateur item in laDetailDemande.InfoDemande.UtilisateurEtapeSuivante) // leUser.Add(item); // Shared.ClasseMEthodeGenerique.NotifierMailDemande(leUser, "0001", laDetailDemande.LaDemande.NUMDEM, laDetailDemande.LaDemande.LIBELLETYPEDEMANDE); //} } } if (Closed != null) { Closed(this, new EventArgs()); } this.DialogResult = false; }; service1.CloseAsync(); } catch (Exception ex) { throw ex; } }
private void EnregisterOuTransmetre(bool isTransmetre) { if (laDetailDemande.EltDevis != null && laDetailDemande.EltDevis.Count != 0) { int idTrv = SessionObject.LstDesCopers.FirstOrDefault(t => t.CODE == SessionObject.Enumere.CoperTRV).PK_ID; CsDemandeDetailCout leCoutduDevis = new CsDemandeDetailCout(); leCoutduDevis.CENTRE = string.IsNullOrEmpty(laDetailDemande.LaDemande.CENTRE) ? null : laDetailDemande.LaDemande.CENTRE; leCoutduDevis.CLIENT = string.IsNullOrEmpty(laDetailDemande.LaDemande.CLIENT) ? null : laDetailDemande.LaDemande.CLIENT; leCoutduDevis.ORDRE = string.IsNullOrEmpty(laDetailDemande.LaDemande.ORDRE) ? null : laDetailDemande.LaDemande.ORDRE; leCoutduDevis.FK_IDCENTRE = laDetailDemande.LaDemande.FK_IDCENTRE; leCoutduDevis.NUMDEM = string.IsNullOrEmpty(laDetailDemande.LaDemande.NUMDEM) ? string.Empty : laDetailDemande.LaDemande.NUMDEM; leCoutduDevis.COPER = SessionObject.Enumere.CoperTRV; leCoutduDevis.FK_IDCOPER = SessionObject.LstDesCopers.FirstOrDefault(t => t.CODE == SessionObject.Enumere.CoperTRV).PK_ID; leCoutduDevis.FK_IDTAXE = laDetailDemande.EltDevis.First().FK_IDTAXE.Value; leCoutduDevis.FK_IDDEMANDE = laDetailDemande.LaDemande.PK_ID; leCoutduDevis.REFEM = DateTime.Today.Year.ToString() + DateTime.Today.Month.ToString("00"); leCoutduDevis.DATECREATION = DateTime.Now; leCoutduDevis.USERCREATION = UserConnecte.matricule; if (laDetailDemande.LaDemande.ISPRESTATION) { if (laDetailDemande.LstCoutDemande != null) { leCoutduDevis.MONTANTHT = (decimal?)Math.Ceiling((double)laDetailDemande.EltDevis.Where(t => t.FK_IDCOPER == idTrv && t.ISEXTENSION == false).Sum(h => h.MONTANTHT)); leCoutduDevis.MONTANTTAXE = (decimal?)Math.Ceiling((double)laDetailDemande.EltDevis.Where(t => t.FK_IDCOPER == idTrv && t.ISEXTENSION == false).Sum(h => h.MONTANTTAXE)); leCoutduDevis.MONTANTTTC = leCoutduDevis.MONTANTHT + leCoutduDevis.MONTANTTAXE; if (leCoutduDevis.MONTANTTTC > 0) { laDetailDemande.LstCoutDemande.Add(leCoutduDevis); } } if (laDetailDemande.EltDevis.Where(t => t.ISEXTENSION == true) != null) { CsDemandeDetailCout leCout = Shared.ClasseMEthodeGenerique.RetourneCopyObjet <CsDemandeDetailCout>(leCoutduDevis); leCout.MONTANTHT = (decimal?)Math.Ceiling((double)laDetailDemande.EltDevis.Where(t => t.FK_IDCOPER == idTrv && t.ISEXTENSION == true).Sum(h => h.MONTANTHT)); leCout.MONTANTTAXE = (decimal?)Math.Ceiling((double)laDetailDemande.EltDevis.Where(t => t.FK_IDCOPER == idTrv && t.ISEXTENSION == true).Sum(h => h.MONTANTTAXE)); leCout.MONTANTTTC = leCoutduDevis.MONTANTHT + leCoutduDevis.MONTANTTAXE; leCout.ISEXTENSION = true; if (leCout.MONTANTTTC > 0) { laDetailDemande.LstCoutDemande.Add(leCout); } } } else { 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.MONTANTTTC = leCoutduDevis.MONTANTHT + leCoutduDevis.MONTANTTAXE; if (leCoutduDevis.MONTANTTTC > 0) { laDetailDemande.LstCoutDemande.Add(leCoutduDevis); } } foreach (ObjELEMENTDEVIS item in laDetailDemande.EltDevis.Where(t => t.FK_IDCOPER != idTrv)) { leCoutduDevis = new CsDemandeDetailCout(); leCoutduDevis.CENTRE = string.IsNullOrEmpty(laDetailDemande.LaDemande.CENTRE) ? null : laDetailDemande.LaDemande.CENTRE; leCoutduDevis.CLIENT = string.IsNullOrEmpty(laDetailDemande.LaDemande.CLIENT) ? null : laDetailDemande.LaDemande.CLIENT; leCoutduDevis.ORDRE = string.IsNullOrEmpty(laDetailDemande.LaDemande.ORDRE) ? null : laDetailDemande.LaDemande.ORDRE; leCoutduDevis.FK_IDCENTRE = laDetailDemande.LaDemande.FK_IDCENTRE; leCoutduDevis.NUMDEM = string.IsNullOrEmpty(laDetailDemande.LaDemande.NUMDEM) ? string.Empty : laDetailDemande.LaDemande.NUMDEM; leCoutduDevis.COPER = SessionObject.LstDesCopers.FirstOrDefault(t => t.PK_ID == item.FK_IDCOPER).CODE; leCoutduDevis.FK_IDCOPER = item.FK_IDCOPER.Value; leCoutduDevis.FK_IDTAXE = item.FK_IDTAXE.Value; leCoutduDevis.FK_IDDEMANDE = laDetailDemande.LaDemande.PK_ID; leCoutduDevis.MONTANTHT = (decimal?)Math.Ceiling((double)item.MONTANTHT); leCoutduDevis.MONTANTTAXE = (decimal?)Math.Ceiling((double)item.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); } } } if (laDetailDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.VerificationCompteur || laDetailDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.Etalonage) { if (SessionObject.LstDesCoutDemande.Count != 0) { List <CsCoutDemande> LstDesCoutsDemande = SessionObject.LstDesCoutDemande.Where(p => p.TYPEDEMANDE == SessionObject.Enumere.Etalonage).ToList(); if (!string.IsNullOrEmpty(laDetailDemande.LaDemande.PRODUIT)) { LstDesCoutsDemande = LstDesCoutsDemande.Where(p => p.PRODUIT == laDetailDemande.LaDemande.PRODUIT || p.PRODUIT == "00").ToList(); } foreach (var item in LstDesCoutsDemande) { CsCtax leTaxe = SessionObject.LstDesTaxe.FirstOrDefault(t => t.PK_ID == item.FK_IDTAXE); CsDemandeDetailCout leCoutduDevis = new CsDemandeDetailCout(); leCoutduDevis.CENTRE = string.IsNullOrEmpty(laDetailDemande.LaDemande.CENTRE) ? null : laDetailDemande.LaDemande.CENTRE; leCoutduDevis.CLIENT = string.IsNullOrEmpty(laDetailDemande.LaDemande.CLIENT) ? null : laDetailDemande.LaDemande.CLIENT; leCoutduDevis.ORDRE = string.IsNullOrEmpty(laDetailDemande.LaDemande.ORDRE) ? null : laDetailDemande.LaDemande.ORDRE; leCoutduDevis.FK_IDCENTRE = laDetailDemande.LaDemande.FK_IDCENTRE; leCoutduDevis.NUMDEM = string.IsNullOrEmpty(laDetailDemande.LaDemande.NUMDEM) ? string.Empty : laDetailDemande.LaDemande.NUMDEM; leCoutduDevis.COPER = SessionObject.LstDesCopers.FirstOrDefault(t => t.PK_ID == item.FK_IDCOPER).CODE; leCoutduDevis.FK_IDCOPER = item.FK_IDCOPER; leCoutduDevis.FK_IDTAXE = item.FK_IDTAXE; leCoutduDevis.FK_IDDEMANDE = laDetailDemande.LaDemande.PK_ID; leCoutduDevis.MONTANTHT = (decimal?)Math.Ceiling((double)item.MONTANT); leCoutduDevis.MONTANTTAXE = (decimal?)Math.Ceiling((double)(item.MONTANT * leTaxe.TAUX)); 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); } } } } laDetailDemande.EltDevis = null; laDetailDemande.LstEvenement = null; laDetailDemande.LstCanalistion = null; AcceuilServiceClient clientDevis = new AcceuilServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Accueil")); clientDevis.ValiderDemandeCompleted += (ss, b) => { this.btn_transmetre.IsEnabled = true; this.RejeterButton.IsEnabled = true; this.CancelButton.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) { List <string> codes = new List <string>(); codes.Add(laDetailDemande.InfoDemande.CODE); ClasseMEthodeGenerique.TransmettreDemande(codes, true, this); List <CsUtilisateur> leUser = new List <CsUtilisateur>(); if (laDetailDemande.InfoDemande != null && laDetailDemande.InfoDemande.CODE != null) { foreach (CsUtilisateur item in laDetailDemande.InfoDemande.UtilisateurEtapeSuivante) { leUser.Add(item); } Shared.ClasseMEthodeGenerique.NotifierMailDemande(leUser, "0001", laDetailDemande.LaDemande.NUMDEM, laDetailDemande.LaDemande.LIBELLETYPEDEMANDE); } } }; clientDevis.ValiderDemandeAsync(laDetailDemande); }