public ActionResult CONSULTERREGLEMENT(String Id)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "CONSULTER_REGLEMENT"))
                {
                    ReglementVM3 RVM = new ReglementVM3();

                    REGLEMENT reglement = dal.ObtenirReglementParId(CRYPTAGE.StringHelpers.Encrypt(Id));

                    if (reglement != null)
                    {
                        RVM = dal.ConvertirReglementReglementVM3(reglement);
                        return(View("ConsulterReglement", RVM));
                    }

                    return(RedirectToAction("CONSULTERLISTEREGLEMENTS"));
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }
        public ActionResult ENREGISTRERREGLEMENT(ReglementVM PVM)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "ENREGISTRER_REGLEMENT"))
                {
                    if (ModelState.IsValid)
                    {
                        REGLEMENT    Reglement    = new REGLEMENT();
                        FACTURE      Facture      = new FACTURE();
                        CAISSE       Caisse       = new CAISSE();
                        MODEPAIEMENT ModePaiement = new MODEPAIEMENT();

                        Caisse = dal.ObtenirCaisseParId(PVM.CaisseId);
                        if (Caisse != null)
                        {
                            Reglement.Caisse = Caisse;
                        }
                        else
                        {
                            ViewBag.ErrorMessage = "Un problème lors de la selection de la Caisse";
                            return(View("Error"));
                        }

                        Facture = dal.ObtenirFactureParId(PVM.FactureId);
                        if (Facture != null)
                        {
                            if (!Facture.EstPaye)
                            {
                                Reglement.Facture = Facture;
                            }
                            else
                            {
                                ViewBag.ErrorMessage = "Cette Facture semble deja etre payée";
                                return(View("Error"));
                            }
                        }
                        else
                        {
                            ViewBag.ErrorMessage = "Un problème lors de la selection de la Facture";
                            return(View("Error"));
                        }



                        ModePaiement = dal.ObtenirModePaiementParId(PVM.ModePaiementId);
                        if (ModePaiement != null)
                        {
                            Reglement.ModePaiement = ModePaiement;
                        }
                        else
                        {
                            ViewBag.ErrorMessage = "Séléctionnez un mode de Paiement valide";
                            return(View("Error"));
                        }

                        List <REGLEMENT> ListePaiements = dal.ObtenirReglementParFactureId(Facture.FactureID);

                        decimal MontantGlobalRecu = 0;
                        foreach (var reg in ListePaiements)
                        {
                            MontantGlobalRecu += reg.MontantRecu;
                        }

                        MontantGlobalRecu += PVM.MontantRecu;

                        Reglement.MontantNet        = PVM.Montant;
                        Reglement.MontantRecu       = PVM.MontantRecu;
                        Reglement.MontantRembourse  = PVM.MontantRembourse;
                        Reglement.MontantARembourse = PVM.MontantARembourse2;
                        Reglement.MontantRestant    = PVM.Reste2;


                        Reglement.ReglementID = dal.EnregistrerReglement(Reglement);

                        if (MontantGlobalRecu >= Reglement.MontantNet)
                        {
                            if (Reglement.ReglementID != null)
                            {
                                dal.MettreAJourFactureReglee(Reglement);
                                return(RedirectToAction("CONSULTERLISTEREGLEMENTS"));
                            }
                            else
                            {
                                ViewBag.ErrorMessage = "Il y a eu un souci lors de l'enregistrement de ce Paiement. Verifiez SVP.";
                                return(View("Error"));
                            }
                        }

                        if (Reglement.ReglementID != null)
                        {
                            CAISSEMOUVEMENT CaisseMvt = new CAISSEMOUVEMENT();
                            CaisseMvt.Caisse      = Reglement.Caisse;
                            CaisseMvt.Montant     = PVM.MontantRecu;
                            CaisseMvt.Raison      = "ENCAISSEMENT";
                            CaisseMvt.Direction   = "IN";
                            CaisseMvt.Commentaire = "Paiement Facture Réf : " + Facture.Reference;

                            dal.EnregistrerCaisseMouvements(CaisseMvt);
                        }

                        return(RedirectToAction("CONSULTERFACTURE", new { id = CRYPTAGE.StringHelpers.Decrypt(Facture.FactureID) }));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "Formulaire Semble etre mal Renseigné";
                        return(View("Error"));
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }
Exemplo n.º 3
0
        public ActionResult RECHERCHERPAIEMENT(SearchReglementVM SearchRVM)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "RECHERCHER_PAIEMENT"))
                {
                    List <ReglementVM4> resultatRecherche   = new List <ReglementVM4>();
                    List <DOSSIER>      tempListeDossiers   = new List <DOSSIER>();
                    List <FACTURE>      tempListeFactures   = new List <FACTURE>();
                    List <REGLEMENT>    tempListeReglements = new List <REGLEMENT>();

                    if (!String.IsNullOrEmpty(SearchRVM.CodeDossierPatient))
                    {
                        tempListeDossiers = dal.ObtenirListeDossierParCode(dal.NettoyerChaine(SearchRVM.CodeDossierPatient));

                        foreach (var dossier in tempListeDossiers)
                        {
                            if (dossier != null)
                            {
                                tempListeFactures = dal.ObtenirFactureParDossierId(dossier.DossierID);

                                foreach (var facture in tempListeFactures)
                                {
                                    if (facture != null)
                                    {
                                        FACTURE f = dal.ObtenirFactureParId(facture.FactureID);

                                        if (f != null)
                                        {
                                            if (!String.IsNullOrEmpty(SearchRVM.ReferenceFacture))
                                            {
                                                if (f.Reference == SearchRVM.ReferenceFacture)
                                                {
                                                    tempListeReglements = dal.ObtenirTousLesReglementsParFactureId(f.FactureID);
                                                    break;
                                                }
                                            }
                                            else
                                            {
                                                tempListeReglements = dal.ObtenirTousLesReglementsParFactureId(f.FactureID);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else if (!String.IsNullOrEmpty(SearchRVM.ReferenceFacture))
                    {
                        FACTURE f = dal.ObtenirFactureParReference(CRYPTAGE.StringHelpers.Encrypt(dal.NettoyerChaine(SearchRVM.ReferenceFacture)));

                        if (f != null)
                        {
                            if (!String.IsNullOrEmpty(SearchRVM.ReferencePaiement))
                            {
                                List <REGLEMENT> ListeReglements = dal.ObtenirReglementParFactureId(f.FactureID);

                                foreach (var reg in ListeReglements)
                                {
                                    if (reg != null)
                                    {
                                        tempListeReglements.Add(reg);
                                    }
                                }
                            }
                            else
                            {
                                tempListeReglements = dal.ObtenirTousLesReglementsParFactureId(f.FactureID);
                            }
                        }
                    }
                    else if (!String.IsNullOrEmpty(SearchRVM.ReferencePaiement))
                    {
                        REGLEMENT reg = dal.ObtenirReglementParReference(CRYPTAGE.StringHelpers.Encrypt(dal.NettoyerChaine(SearchRVM.ReferencePaiement)));

                        if (reg != null)
                        {
                            tempListeReglements.Add(reg);
                        }
                    }

                    if (tempListeReglements.Count > 0)
                    {
                        foreach (var reg in tempListeReglements)
                        {
                            if (reg != null)
                            {
                                resultatRecherche.Add(dal.ConvertirReglementReglementVM4(reg));
                            }
                        }
                    }

                    return(PartialView("PartialViewSearchPaiementProduit", resultatRecherche.Distinct().OrderBy(r => r.DateCreation)));
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }