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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }