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; } }
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; } }