コード例 #1
0
        static public List <CsReglementRecu> ReorganiserReglement(List <Galatee.Silverlight.ServiceCaisse.CsLclient> lstInit, string Action)
        {
            try
            {
                List <CsReglementRecu> listImpression = new List <CsReglementRecu>();
                string CentreEncaisse = string.Empty;
                string SiteEncaisse   = string.Empty;
                if (!string.IsNullOrEmpty(lstInit[0].LIBELLEAGENCE))
                {
                    CentreEncaisse = lstInit[0].LIBELLEAGENCE;
                }
                else
                {
                    Galatee.Silverlight.ServiceAccueil.CsCentre leCentre = SessionObject.LstCentre.FirstOrDefault(t => t.CODE == lstInit[0].ORIGINE);
                    if (leCentre != null)
                    {
                        CentreEncaisse = leCentre.LIBELLE;
                    }
                }
                if (!string.IsNullOrEmpty(lstInit[0].LIBELLESITE))
                {
                    SiteEncaisse = lstInit[0].LIBELLESITE;
                }
                else
                {
                    Galatee.Silverlight.ServiceAccueil.CsCentre leCentre = SessionObject.LstCentre.FirstOrDefault(t => t.CODE == lstInit[0].ORIGINE);
                    if (leCentre != null)
                    {
                        SiteEncaisse = leCentre.LIBELLESITE;
                    }
                }

                // La grid doit afficher le detail d un recu par mode de reglement
                List <CsLclient> reglemntParAcquit = lstInit.Where(p => p.NDOC != "TIMBRE").ToList();
                Galatee.Silverlight.ServiceCaisse.CsLclient ReglementAfficherParTimbre = lstInit.FirstOrDefault(p => p.NDOC == "TIMBRE");
                Galatee.Silverlight.ServiceCaisse.CsLclient recuPercu = lstInit.FirstOrDefault(t => t.PERCU != 0 && t.PERCU != null);
                //decimal? percu = recuPercu.PERCU;
                //decimal? rendu = recuPercu.RENDU;

                decimal?percu = 0;
                decimal?rendu = 0;

                if (recuPercu != null)
                {
                    percu = recuPercu.PERCU;
                    rendu = recuPercu.RENDU;
                }

                int passage = 0;
                foreach (CsLclient item in reglemntParAcquit.OrderBy(t => t.MODEREG).ThenBy(u => u.LIBELLECOPER).ThenBy(p => p.NDOC))
                {
                    decimal?timbre = 0;
                    if (passage == 0)
                    {
                        timbre = ReglementAfficherParTimbre != null && ReglementAfficherParTimbre.MONTANT != 0 ? ReglementAfficherParTimbre.MONTANT : 0;
                    }

                    CsReglementRecu ObjImpression = new CsReglementRecu();
                    string          nom           = SessionObject.ListeDesUtilisateurs.FirstOrDefault(p => p.MATRICULE == item.MATRICULE).LIBELLE;
                    ObjImpression.LIBELLEMODREG    = SessionObject.ListeModesReglement.FirstOrDefault(t => t.CODE == item.MODEREG).LIBELLE;
                    ObjImpression.NOMCAISSIERE     = nom + "(" + item.MATRICULE + " )";
                    ObjImpression.CENTREENCAISSE   = CentreEncaisse;
                    ObjImpression.SITEENCAISSEMENT = SiteEncaisse;
                    ObjImpression.MONTANTHT        = Convert.ToDecimal(Convert.ToDecimal(item.MONTANT).ToString(SessionObject.FormatMontant));
                    ObjImpression.MONTANTTIMBRE    = Convert.ToDecimal(Convert.ToDecimal(timbre).ToString(SessionObject.FormatMontant));
                    ObjImpression.MONTANTPAYE      = Convert.ToDecimal(Convert.ToDecimal(item.MONTANT + timbre).ToString(SessionObject.FormatMontant));
                    ObjImpression.NDOC             = item.REFEM + '/' + item.NDOC;
                    ObjImpression.PERCU            = Convert.ToDecimal(Convert.ToDecimal(percu).ToString(SessionObject.FormatMontant));
                    ObjImpression.RENDU            = Convert.ToDecimal(Convert.ToDecimal(rendu).ToString(SessionObject.FormatMontant));
                    ObjImpression.NOMCLIENT        = item.NOM;
                    ObjImpression.CENTRE           = item.CENTRE;
                    ObjImpression.CLIENT           = item.CLIENT;
                    ObjImpression.ORDRE            = item.ORDRE;
                    ObjImpression.CAISSE           = item.CAISSE;
                    ObjImpression.ACQUIT           = item.ACQUIT;
                    //ObjImpression.LIBELLEFACTURE  = item.COPER ;
                    if (listImpression != null && listImpression.FirstOrDefault(o => o.CENTRE == item.CENTRE && o.CLIENT == item.CLIENT && o.TOPANNUL == item.LIBELLECOPER) == null)
                    {
                        ObjImpression.TOPANNUL = item.LIBELLECOPER;
                    }
                    else
                    {
                        ObjImpression.TOPANNUL = "";
                    }

                    ObjImpression.MONTANTEXIGIBLE    = item.MONTANTEXIGIBLE;
                    ObjImpression.MONTANTNONEXIGIBLE = item.MONTANTNONEXIGIBLE;
                    ObjImpression.SOLDEALADATE       = item.SOLDECLIENT;
                    ObjImpression.DATEENCAISSEMENT   = item.DATECREATION;
                    listImpression.Add(ObjImpression);
                    passage++;
                }
                return(listImpression);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
        static public List <CsReglementRecu> ReorganiserBordero(List <Galatee.Silverlight.ServiceCaisse.CsLclient> lstInit)
        {
            try
            {
                List <CsReglementRecu> listImpression = new List <CsReglementRecu>();
                string CentreEncaisse = string.Empty;
                string SiteEncaisse   = string.Empty;
                if (!string.IsNullOrEmpty(lstInit[0].LIBELLEAGENCE))
                {
                    CentreEncaisse = lstInit[0].LIBELLEAGENCE;
                }
                else
                {
                    Galatee.Silverlight.ServiceAccueil.CsCentre leCentre = SessionObject.LstCentre.FirstOrDefault(t => t.CODE == lstInit[0].ORIGINE);
                    if (leCentre != null)
                    {
                        CentreEncaisse = leCentre.LIBELLE;
                    }
                }
                if (!string.IsNullOrEmpty(lstInit[0].LIBELLESITE))
                {
                    SiteEncaisse = lstInit[0].LIBELLESITE;
                }
                else
                {
                    Galatee.Silverlight.ServiceAccueil.CsCentre leCentre = SessionObject.LstCentre.FirstOrDefault(t => t.CODE == lstInit[0].ORIGINE);
                    if (leCentre != null)
                    {
                        SiteEncaisse = leCentre.LIBELLESITE;
                    }
                }

                // La grid doit afficher le detail d un recu par mode de reglement

                Galatee.Silverlight.ServiceCaisse.CsLclient recuPercu = lstInit.FirstOrDefault(t => t.PERCU != 0 && t.PERCU != null);
                decimal?        percu          = recuPercu.PERCU;
                decimal?        rendu          = recuPercu.RENDU;
                List <CsClient> _lstClientRecu = Galatee.Silverlight.Caisse.MethodeGenerics.RetourneClientFromFacture(lstInit);
                foreach (CsClient item in _lstClientRecu)
                {
                    List <CsLclient> lstFactureClient = lstInit.Where(t => t.FK_IDCLIENT == item.PK_ID).ToList();

                    List <CsLclient> reglemntParAcquit = lstInit.Where(p => p.NATURE != "99" && p.FK_IDCLIENT == item.PK_ID).ToList();
                    Galatee.Silverlight.ServiceCaisse.CsLclient ReglementAfficherParTimbre = lstInit.FirstOrDefault(p => p.NATURE == "99" && p.FK_IDCLIENT == item.PK_ID);
                    CsReglementRecu ObjImpression = new CsReglementRecu();
                    decimal?        timbre        = ReglementAfficherParTimbre != null && ReglementAfficherParTimbre.MONTANT != 0 ? ReglementAfficherParTimbre.MONTANT : 0;
                    string          nom           = SessionObject.ListeDesUtilisateurs.FirstOrDefault(p => p.MATRICULE == lstFactureClient[0].MATRICULE).LIBELLE;
                    ObjImpression.NOMCAISSIERE     = nom + "(" + lstFactureClient[0].MATRICULE + " )";
                    ObjImpression.CENTREENCAISSE   = CentreEncaisse;
                    ObjImpression.SITEENCAISSEMENT = SiteEncaisse;
                    ObjImpression.MONTANTHT        = Convert.ToDecimal(Convert.ToDecimal(lstFactureClient.Sum(t => t.MONTANT)).ToString(SessionObject.FormatMontant));
                    ObjImpression.MONTANTTIMBRE    = Convert.ToDecimal(Convert.ToDecimal(timbre).ToString(SessionObject.FormatMontant));
                    ObjImpression.MONTANTPAYE      = Convert.ToDecimal(Convert.ToDecimal(ObjImpression.MONTANTHT + timbre).ToString(SessionObject.FormatMontant));
                    ObjImpression.CENTRE           = item.CENTRE;
                    ObjImpression.CLIENT           = item.REFCLIENT;
                    ObjImpression.ORDRE            = item.ORDRE;
                    ObjImpression.ACQUIT           = lstFactureClient[0].ACQUIT;
                    ObjImpression.NOMCLIENT        = lstFactureClient[0].NOM;
                    listImpression.Add(ObjImpression);
                }
                return(listImpression);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }