private void read_param_portefeuille() { Model.Sage.P_PARAMETRECIALRepository P_PARAMETRECIALRepository = new Model.Sage.P_PARAMETRECIALRepository(); if (P_PARAMETRECIALRepository.Exist()) { Model.Sage.P_PARAMETRECIAL P_PARAMETRECIAL = P_PARAMETRECIALRepository.Read(); switch (P_PARAMETRECIAL.P_BaseEncours) { case (short)Core.Parametres.P_BaseEncours.SoldeComptable: ParametrePortefeuille = Core.Parametres.P_BaseEncours.SoldeComptable; break; case (short)Core.Parametres.P_BaseEncours.SC_FA: ParametrePortefeuille = Core.Parametres.P_BaseEncours.SC_FA; break; case (short)Core.Parametres.P_BaseEncours.SC_FA_BL: ParametrePortefeuille = Core.Parametres.P_BaseEncours.SC_FA_BL; break; case (short)Core.Parametres.P_BaseEncours.SC_FA_BL_PL: ParametrePortefeuille = Core.Parametres.P_BaseEncours.SC_FA_BL_PL; break; case (short)Core.Parametres.P_BaseEncours.SC_FA_BL_PL_BC: ParametrePortefeuille = Core.Parametres.P_BaseEncours.SC_FA_BL_PL_BC; break; } } else { logs.Add("BO21- Impossible de récupérer le paramètre de calcul de la base de l'encours !"); } }
public DP_PORTEFEUILLEVENTE ReadTiers2(String CT_Num, Core.Parametres.P_BaseEncours p_baseencours) { Model.Sage.DP_PORTEFEUILLEVENTE DP_PORTEFEUILLEVENTE = new DP_PORTEFEUILLEVENTE(); string DO_Type_DOCLIGNE = string.Empty; int DO_Type_DOCREGL = 6; switch (p_baseencours) { default: case PRESTACONNECT.Core.Parametres.P_BaseEncours.NonDefini: case PRESTACONNECT.Core.Parametres.P_BaseEncours.SoldeComptable: break; case PRESTACONNECT.Core.Parametres.P_BaseEncours.SC_FA: DO_Type_DOCLIGNE = "6"; break; case PRESTACONNECT.Core.Parametres.P_BaseEncours.SC_FA_BL: DO_Type_DOCLIGNE = "3, 6"; DO_Type_DOCREGL = 3; break; case PRESTACONNECT.Core.Parametres.P_BaseEncours.SC_FA_BL_PL: DO_Type_DOCLIGNE = "2, 3, 6"; DO_Type_DOCREGL = 2; break; case PRESTACONNECT.Core.Parametres.P_BaseEncours.SC_FA_BL_PL_BC: DO_Type_DOCLIGNE = "1, 2, 3, 6"; DO_Type_DOCREGL = 1; break; } if (p_baseencours != Core.Parametres.P_BaseEncours.NonDefini && p_baseencours != Core.Parametres.P_BaseEncours.SoldeComptable) { String RequestVirtualEncours = "SELECT (" + "(CASE WHEN (SELECT count(DL_MONTANTTTC) FROM [F_DOCLIGNE] WHERE CT_Num = '" + CT_Num + "' AND DO_TYPE in (" + DO_Type_DOCLIGNE + ") AND DL_Valorise = 1) = 0 " + "THEN 0 " + "ELSE (SELECT SUM(DL_MONTANTTTC) FROM [F_DOCLIGNE] WHERE CT_Num = '" + CT_Num + "' AND DO_TYPE in (" + DO_Type_DOCLIGNE + ") AND DL_Valorise = 1) END) " + "- (CASE WHEN (SELECT count(DL_MONTANTTTC) FROM [F_DOCLIGNE] WHERE CT_Num = '" + CT_Num + "' AND DO_TYPE in (4, 5) AND DL_Valorise = 1) = 0 " + "THEN 0 " + "ELSE (SELECT SUM(DL_MONTANTTTC) FROM [F_DOCLIGNE] WHERE CT_Num = '" + CT_Num + "' AND DO_TYPE in (4, 5) AND DL_Valorise = 1) END) " + "- (CASE WHEN (SELECT count(DR_MONTANT) FROM [F_DOCREGL] WHERE DO_PIECE in " + "(SELECT DO_PIECE FROM [F_DOCENTETE] WHERE DO_Tiers = '" + CT_Num + "') AND DO_Type <= 6 AND DO_Type >= " + DO_Type_DOCREGL + ") = 0 " + "THEN 0 " + "ELSE (SELECT SUM(DR_MONTANT) FROM [F_DOCREGL] WHERE DO_PIECE in " + "(SELECT DO_PIECE FROM [F_DOCENTETE] WHERE DO_Tiers = '" + CT_Num + "') AND DO_Type <= 6 AND DO_Type >= " + DO_Type_DOCREGL + ") END) " + ") AS MontantPortefeuille"; List <Model.Sage.DP_PORTEFEUILLEVENTE> col_encours = this.DBSage.ExecuteQuery <Model.Sage.DP_PORTEFEUILLEVENTE>(RequestVirtualEncours).ToList(); if (col_encours != null && col_encours.Count() > 0) { DP_PORTEFEUILLEVENTE = col_encours.First(); } } return(DP_PORTEFEUILLEVENTE); }