public ActionResult ENREGISTRERREGLEMENT(String Id) { using (IDAL dal = new Dal()) { if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "ENREGISTRER_REGLEMENT")) { CAISSE CaisseOuverte = dal.CaisseOuverteParCaissierId(HttpContext.User.Identity.Name); if (CaisseOuverte != null) { ReglementVM RVM = new ReglementVM(); FACTURE fact = dal.ObtenirFactureParId(CRYPTAGE.StringHelpers.Encrypt(Id)); if (fact != null) { FactureVM2 FVM = dal.ConvertirFactureFactureVM2(fact); RVM.FactureId = FVM.Id; RVM.Patient = FVM.Patient; RVM.ReferenceFacture = FVM.Reference; RVM.Montant = FVM.Montant; RVM.Reste = FVM.Montant - dal.SommeTotalePayeeParFacture(fact); RVM.CaisseId = CaisseOuverte.CaisseID; RVM.Caisse = CRYPTAGE.StringHelpers.Decrypt(CaisseOuverte.Nom); UTILISATEUR GerantCaisse = dal.ObtenirUtilisateurParId(HttpContext.User.Identity.Name); if (GerantCaisse != null) { RVM.CaissierId = GerantCaisse.UtilisateurID; RVM.Caissier = CRYPTAGE.StringHelpers.Decrypt(GerantCaisse.Personne.Nom) + " " + CRYPTAGE.StringHelpers.Decrypt(GerantCaisse.Personne.Prenom); } ViewBag.ListeModePaiement = dal.ObtenirTousLesModePaiements(); return(View("FormulaireAjoutReglement", RVM)); } else { ViewBag.ErrorMessage = "Rassurez-vous que cette facture existe."; return(View("Error")); } } else { ViewBag.ErrorMessage = "Rassurez-vous que votre Caisse est OUVERTE et qu'elle vous a été affectée."; return(View("Error")); } } 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")); } } }