private void FillComboxTaxe(List <CsCtax> args)
 {
     Cbo_Taxe.Items.Clear();
     if (args != null && args.Count > 0)
     {
         Cbo_Taxe.ItemsSource = args.Where(t => t.CENTRE == ObjetDevisSelectionne.CENTRE && t.FK_IDCENTRE == ObjetDevisSelectionne.FK_IDCENTRE).ToList();
     }
     Cbo_Taxe.SelectedValuePath = "PK_CTAX";
     Cbo_Taxe.DisplayMemberPath = "LIBELLE";
     foreach (CsCtax st in args.Where(t => t.CENTRE == ObjetDevisSelectionne.CENTRE && t.FK_IDCENTRE == ObjetDevisSelectionne.FK_IDCENTRE).ToList())
     {
         if ((this.Taxe.TAUX != (decimal)0) && (this.Taxe.TAUX == st.TAUX))
         {
             this.Cbo_Taxe.SelectedItem = st;
             break;
         }
         if (st.TAUX == (decimal)0)
         {
             tauxSubvention = st;
         }
     }
     //if (this.ObjetDevisSelectionne.ISSUBVENTION)
     //{
     //    this.Cbo_Taxe.SelectedItem = this.tauxSubvention;
     //    this.Cbo_Taxe.IsEnabled = true;
     //}
 }
 private void OKButton_Click(object sender, RoutedEventArgs e)
 {
     if (Cbo_Taxe.SelectedItem != null)
     {
         this.Taxe = (this.Cbo_Taxe.SelectedItem as CsCtax);
     }
     this.DialogResult = true;
     //this.Close();
 }
 public UcSaisiQuantite(ObjELEMENTDEVIS _SelectedObject, bool IsTaxe, CsCtax laTaxe)
 {
     InitializeComponent();
     lbl_Montant.Visibility      = System.Windows.Visibility.Collapsed;
     this.txt_Montant.Visibility = System.Windows.Visibility.Collapsed;
     SelectedObject = _SelectedObject;
     Istaxe         = IsTaxe;
     LaTaxe         = laTaxe;
 }
示例#4
0
 public bool Update(CsCtax entity)
 {
     try
     {
         return(Entities.UpdateEntity <Galatee.Entity.Model.TAXE>(Entities.ConvertObject <Galatee.Entity.Model.TAXE, CsCtax>(entity)));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#5
0
 public CsCtax GetByCENTRECTAXDEBUTAPPLICATION(CsCtax entity)
 {
     try
     {
         return(Entities.GetEntityFromQuery <CsCtax>(ParamProcedure.PARAM_CTAX_RETOURNEById(entity)));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public UcSaisiQuantite(ObjELEMENTDEVIS _SelectedObject, bool IsTaxe, bool AvecMontant, CsCtax laTaxe)
 {
     InitializeComponent();
     SelectedObject = _SelectedObject;
     Istaxe         = IsTaxe;
     LaTaxe         = laTaxe;
     IsMontant      = AvecMontant;
     if (AvecMontant)
     {
         lbl_Montant.Visibility      = System.Windows.Visibility.Visible;
         this.txt_Montant.Visibility = System.Windows.Visibility.Visible;
         this.txt_Montant.Text       = _SelectedObject.COUTUNITAIRE.ToString(SessionObject.FormatMontant);
     }
 }
        private List <CsCtax> GetInformationsFromScreen()
        {
            var listObjetForInsertOrUpdate = new List <CsCtax>();

            try
            {
                if ((SessionObject.ExecMode)ModeExecution == SessionObject.ExecMode.Creation)
                {
                    var taxe = new CsCtax
                    {
                        CODE             = Txt_Code.Text,
                        LIBELLE          = Txt_Libelle.Text,
                        TAUX             = Convert.ToDecimal(Txt_Taux.Text),
                        TYPETAXE         = ((CsTypeTaxe)CboTypeTaxe.SelectedItem).CODE,
                        FK_IDTYPETAXE    = ((CsTypeTaxe)CboTypeTaxe.SelectedItem).PK_ID,
                        DATECREATION     = DateTime.Now,
                        USERCREATION     = UserConnecte.matricule,
                        DEBUTAPPLICATION = Dtp_Debut.SelectedDate.Value,
                        FINAPPLICATION   = Dtp_Fin.SelectedDate,
                    };
                    if (!string.IsNullOrEmpty(Txt_Code.Text) && donnesDatagrid.FirstOrDefault(p => p.CODE == taxe.CODE && p.CENTRE == taxe.CENTRE) != null)
                    {
                        throw new Exception(Languages.CetElementExisteDeja);
                    }
                    listObjetForInsertOrUpdate.Add(taxe);
                }
                if ((SessionObject.ExecMode)ModeExecution == SessionObject.ExecMode.Modification)
                {
                    ObjetSelectionnee.CODE             = Txt_Code.Text;
                    ObjetSelectionnee.LIBELLE          = Txt_Libelle.Text;
                    ObjetSelectionnee.TAUX             = Convert.ToDecimal(Txt_Taux.Text);
                    ObjetSelectionnee.TYPETAXE         = ((CsTypeTaxe)CboTypeTaxe.SelectedItem).CODE;
                    ObjetSelectionnee.FK_IDTYPETAXE    = ((CsTypeTaxe)CboTypeTaxe.SelectedItem).PK_ID;
                    ObjetSelectionnee.DATECREATION     = DateTime.Now;
                    ObjetSelectionnee.USERCREATION     = UserConnecte.matricule;
                    ObjetSelectionnee.DEBUTAPPLICATION = Dtp_Debut.SelectedDate.Value;
                    ObjetSelectionnee.FINAPPLICATION   = Dtp_Fin.SelectedDate;
                    listObjetForInsertOrUpdate.Add(ObjetSelectionnee);
                }
                return(listObjetForInsertOrUpdate);
            }
            catch (Exception ex)
            {
                Message.ShowError(ex.Message, Languages.Commune);
                return(null);
            }
        }
 public UcTaxe(CsCtax pObject, SessionObject.ExecMode pExecMode, DataGrid pGrid)
 {
     try
     {
         InitializeComponent();
         Translate();
         var taxe = new CsCtax();
         if (pObject != null)
         {
             ObjetSelectionnee = Utility.ParseObject(taxe, pObject as CsCtax);
         }
         ModeExecution = pExecMode;
         dataGrid      = pGrid;
         RemplirListeDesTypeTaxe();
         if (dataGrid != null)
         {
             donnesDatagrid = dataGrid.ItemsSource as ObservableCollection <CsCtax>;
         }
         if ((SessionObject.ExecMode)ModeExecution == SessionObject.ExecMode.Modification || (SessionObject.ExecMode)ModeExecution == SessionObject.ExecMode.Consultation)
         {
             if (ObjetSelectionnee != null)
             {
                 Txt_Code.Text          = ObjetSelectionnee.CODE;
                 Txt_Libelle.Text       = ObjetSelectionnee.LIBELLE;
                 Txt_Taux.Text          = ObjetSelectionnee.TAUX.ToString();
                 Dtp_Debut.SelectedDate = ObjetSelectionnee.DEBUTAPPLICATION;
                 Dtp_Fin.SelectedDate   = ObjetSelectionnee.FINAPPLICATION;
                 btnOk.IsEnabled        = false;
                 //Txt_Code.IsReadOnly = true;
             }
         }
         if ((SessionObject.ExecMode)ModeExecution == SessionObject.ExecMode.Consultation)
         {
             AllInOne.ActivateControlsFromXaml(LayoutRoot, false);
         }
     }
     catch (Exception ex)
     {
         Message.ShowError(ex.Message, Languages.Commune);
     }
 }
 private void UpdateParentList(CsCtax pTaxe)
 {
     try
     {
         if ((SessionObject.ExecMode)ModeExecution == SessionObject.ExecMode.Creation)
         {
             GetDataNew();
             //donnesDatagrid.Add(pCommune);
             //donnesDatagrid.OrderBy(p => p.PK_ID);
         }
         if ((SessionObject.ExecMode)ModeExecution == SessionObject.ExecMode.Modification)
         {
             GetDataNew();
             //var commune = donnesDatagrid.First(p => p.PK_ID == pCommune.PK_ID);
             //donnesDatagrid.Remove(commune);
             //donnesDatagrid.Add(pCommune);
             //donnesDatagrid.OrderBy(p => p.PK_ID);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#10
0
 public UcTaxe(CsDemandeBase pDemande)
 {
     InitializeComponent();
     ObjetDevisSelectionne = pDemande;
     Taxe = new CsCtax();
 }
        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);
        }
        private void EnregisterOuTransmetre(bool isTransmetre)
        {
            if (laDetailDemande.EltDevis != null && laDetailDemande.EltDevis.Count != 0)
            {
                laDetailDemande.EltDevis.Clear();
            }

            if (this.dataGridForniture.ItemsSource != null && (this.dataGridForniture.ItemsSource as List <ObjELEMENTDEVIS>).Count != 0)
            {
                laDetailDemande.EltDevis = ((List <ObjELEMENTDEVIS>) this.dataGridForniture.ItemsSource).Where(o => o.QUANTITE != 0 && o.QUANTITE != null).ToList();
                int idTrv = SessionObject.LstDesCopers.FirstOrDefault(t => t.CODE == SessionObject.Enumere.CoperTRV).PK_ID;

                if (laDetailDemande.LstCoutDemande != null && laDetailDemande.LstCoutDemande.Count != 0)
                {
                    laDetailDemande.LstCoutDemande = new List <CsDemandeDetailCout>();
                }
                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;

                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") &&
                                                                      laDetailDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.Etalonage && laDetailDemande.LaDemande.REGLAGECOMPTEUR == p.REGLAGECOMPTEUR).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.LstEvenement             = null;
            laDetailDemande.LstCanalistion           = null;
            laDetailDemande.LaDemande.ISPASSERCAISSE = this.Chk_PasserLaCaisse.IsChecked == true ? true : false;
            if (this.Chk_DevisHT.IsChecked == true)
            {
                laDetailDemande.EltDevis.ForEach(r => r.MONTANTTAXE       = 0);
                laDetailDemande.EltDevis.ForEach(r => r.MONTANTTTC        = r.MONTANTHT);
                laDetailDemande.LstCoutDemande.ForEach(r => r.MONTANTTAXE = 0);
            }
            if (laDetailDemande.EltDevis != null && laDetailDemande.EltDevis.Count == 0)
            {
                laDetailDemande.LaDemande.ISPASSERCAISSE = true;
            }

            if (laDetailDemande.LaDemande.TYPEDEMANDE == SessionObject.Enumere.BranchementAbonementExtention)
            {
                laDetailDemande.EltDevis       = null;
                laDetailDemande.LstCoutDemande = null;
            }

            AcceuilServiceClient clientDevis = new AcceuilServiceClient(Utility.Protocole(), Utility.EndPoint("Accueil"));

            clientDevis.ValidationDemandeCompleted += (ss, b) =>
            {
                if (b.Cancelled || b.Error != null)
                {
                    string error = b.Error.Message;
                    Message.ShowError(error, Silverlight.Resources.Devis.Languages.txtDevis);
                    return;
                }
                if (string.IsNullOrEmpty(b.Result))
                {
                    if (isTransmetre)
                    {
                        Message.ShowInformation("Demande transmise avec succès", "Demande");
                    }
                    else
                    {
                        Message.ShowInformation("Mise à jour effectuée avec succès", "Demande");
                    }
                    this.DialogResult = false;
                }
                else
                {
                    Message.ShowError(b.Result, "Demande");
                }
            };
            clientDevis.ValidationDemandeAsync(laDetailDemande, isTransmetre);
        }