private void btnAjouterPaie_Click_1(object sender, RoutedEventArgs e)
        {
            if (rcbModePaiement.SelectedIndex != -1 && rnPaieMontant.Value != 0)
            {
                System.Windows.Data.CollectionViewSource transactionsViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("transactionsViewSource")));
                Transactions Trans = transactionsViewSource.View.CurrentItem as Transactions;


                if ((double)Trans.TotalReste < rnPaieMontant.Value)
                {
                    MessageBox.Show("Le montant entrer est superieure au montant a payé", "Message", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }

                Trans.TotalPaye += Convert.ToDecimal(rnPaieMontant.Value);
                Trans.TotalReste = Trans.TotalTTC - Trans.TotalPaye;

                res.TotalPaye  = Trans.TotalPaye;
                res.TotalReste = Trans.TotalReste;
                res.TotalTTC   = Trans.TotalTTC;
                res.Reduction  = Trans.Reduction;

                DetailPaiements dtPaie = new DetailPaiements();
                if (Trans.TotalReste == 0)
                {
                    dtPaie.Montant          = Convert.ToDouble(rnPaieMontant.Value);
                    dtPaie.DatePaiement     = rdpDatepaie.SelectedDate;
                    dtPaie.MethodePaiements = rcbModePaiement.SelectedItem as MethodePaiements;
                    //dtPaie.Transactions = Trans;
                    dtPaie.Etat = "ACTIF";
                    //dtPaie.idHotel = GlobalData.HotId;

                    Trans.Etat = "PAYE";
                }
                else
                {
                    if (rnPaieMontant.Value != 0)
                    {
                        dtPaie.Montant          = Convert.ToDouble(rnPaieMontant.Value);
                        dtPaie.DatePaiement     = rdpDatepaie.SelectedDate;
                        dtPaie.MethodePaiements = rcbModePaiement.SelectedItem as MethodePaiements;
                        //dtPaie.Transactions = Trans;
                        dtPaie.Etat = "ACTIF";
                        //dtPaie.idHotel = GlobalData.HotId;

                        Trans.Etat = "PARTIELLEMENT PAYE";
                        //Trans.EtatTables = "TERMINER";
                    }
                }

                Trans.DetailPaiements.Add(dtPaie);
                ClearPaie();
            }
        }
Exemple #2
0
        private void btnEnregistrer_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //if (!GlobalData.VerifyClotureSession())
                //{

                //    var result = MessageBox.Show("Voulez-vous fermer la session précédente ?", "Message", MessageBoxButton.YesNo, MessageBoxImage.Warning);

                //    if (result == MessageBoxResult.Yes)
                //    {
                //        RadDocumentPane radMenu = new RadDocumentPane();
                //        radMenu.Content = new GESHOTEL.ReservationsModules.Views.Win.ClotureJourneeFrm("Cloture de la session du " + GlobalData.CurrentRegistres.DateDebut.Value.ToShortDateString());
                //        radMenu.Header = "Cloture de la session du " + GlobalData.CurrentRegistres.DateDebut.Value.ToShortDateString();
                //        GlobalData.rrvMain.Title = "Cloture de la session du " + GlobalData.CurrentRegistres.DateDebut.Value.ToShortDateString();
                //        radMenu.FontFamily = new FontFamily("Perpetua Titling MT");
                //        radMenu.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                //        radMenu.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;

                //        if (!GlobalData.VerifyDock("Cloture de la session du " + GlobalData.CurrentRegistres.DateDebut.Value.ToShortDateString()))
                //        {
                //            GlobalData.PaneGroup.AddItem(radMenu, Telerik.Windows.Controls.Docking.DockPosition.Center);
                //        }
                //        else
                //        {

                //        }
                //    }

                //    return;
                //}

                Chambres Cham = chambreAutoCompleteBox.SelectedItem as Chambres;

                if (Cham.EtatOperation == "SALLE")
                {
                    MessageBox.Show("La chambre est salle veuillez la nettoyée", "Message", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }

                var results = MessageBox.Show("Voulez-vous enregistrer ?", "Message", MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (results == MessageBoxResult.Yes)
                {
                    int NbreHr = -rtHD.SelectedTime.Value.Subtract(rtHF.SelectedTime.Value).Hours;

                    if (rnHeure.Value <= 0)
                    {
                        MessageBox.Show("Le nombre d'heure ne peut pa etre egale a 0", "Message", MessageBoxButton.OKCancel, MessageBoxImage.Warning); return;
                    }
                    if (chambreAutoCompleteBox.SelectedItem == null)
                    {
                        MessageBox.Show("Choisissez une chambre svp", "Message", MessageBoxButton.OKCancel, MessageBoxImage.Warning); return;
                    }
                    if (NbreHr <= 0)
                    {
                        MessageBox.Show("Le nombre d'heure ne peut pa etre egale a 0", "Message", MessageBoxButton.OKCancel, MessageBoxImage.Warning); return;
                    }

                    Transactions Trans = new Transactions();
                    Trans.DateTransaction = DateTime.Now;

                    Trans.TotalPaye  = Convert.ToDecimal(rntarif.Value);
                    Trans.TotalTTC   = Convert.ToDecimal(rntarif.Value);
                    Trans.TotalHT    = Convert.ToDecimal(rntarif.Value);
                    Trans.TVA        = 0;
                    Trans.TotalReste = 0;

                    Trans.Etat = "PAYE";

                    DetailPaiements dtPaie = new DetailPaiements();
                    dtPaie.Montant          = rntarif.Value;
                    dtPaie.DatePaiement     = DateTime.Now;
                    dtPaie.MethodePaiements = GlobalData.model.MethodePaiements.Where(c => c.Libelle == "ESPECE").First();
                    dtPaie.Transactions     = Trans;
                    dtPaie.Etat             = "ACTIF";
                    //dtPaie.idHotel = GlobalData.HotId;

                    Trans.DetailPaiements.Add(dtPaie);

                    if (Cham.EtatOperation == "LIBRE" || Cham.EtatOperation == "RESERVER")
                    {
                        Cham.EtatOperation = "OCCUPER";
                    }

                    DetailTransactions dtTrans = new DetailTransactions();
                    dtTrans.Date         = DateTime.Now;
                    dtTrans.Descriptions = "CHAMBRE " + Cham.TypeChambres.Libelle + " " + Cham.Numero;
                    dtTrans.prix         = Convert.ToDecimal(rntarif.Value);
                    dtTrans.Quantite     = 1;
                    dtTrans.Montant      = Convert.ToDecimal(rntarif.Value);
                    dtTrans.Transactions = Trans;
                    dtTrans.Etat         = "ACTIF";
                    //dtTrans.idHotel = GlobalData.HotId;
                    dtTrans.Produits = GlobalData.model.Produits.Where(c => c.Libelle == "CHAMBRE").First();

                    Trans.DetailTransactions.Add(dtTrans);

                    ReservationTypes resType = GlobalData.model.ReservationTypes.Where(c => c.ReservationType == "PASSAGE").First();

                    Reservations Reservations = new Reservations();
                    Reservations.ReservationDate = DateTime.Now;
                    Reservations.Chambres        = Cham;
                    Reservations.Transactions.Add(Trans);
                    Reservations.ReservationTypes = resType;
                    Reservations.NbreNuit         = NbreHr;
                    Reservations.Etat             = "ACTIF";
                    Reservations.EtatOperation    = "ARRIVEE";
                    Reservations.TotalPaye        = Trans.TotalPaye;
                    Reservations.TotalReste       = Trans.TotalReste;
                    Reservations.TotalTTC         = Trans.TotalTTC;
                    Reservations.DateDepart       = new DateTime(rtHF.SelectedDate.Value.Year, rtHF.SelectedDate.Value.Month, rtHF.SelectedDate.Value.Day, rtHF.SelectedTime.Value.Hours, rtHF.SelectedTime.Value.Minutes, rtHF.SelectedTime.Value.Seconds);
                    Reservations.DateArrive       = new DateTime(rtHD.SelectedDate.Value.Year, rtHD.SelectedDate.Value.Month, rtHD.SelectedDate.Value.Day, rtHD.SelectedTime.Value.Hours, rtHD.SelectedTime.Value.Minutes, rtHD.SelectedTime.Value.Seconds);
                    Reservations.TypeOperation    = "LOCATION CHAMBRE";
                    Reservations.DateCheckIn      = DateTime.Now;
                    Reservations.isCheckIn        = true;
                    //Reservations.idHotel = GlobalData.HotId;
                    Reservations.idRegistre = GlobalData.RegId;

                    //Trans.idHotel = GlobalData.HotId;
                    Trans.idRegistre      = GlobalData.RegId;
                    Trans.TypeTransaction = resType.ReservationType;

                    Parametres param = GlobalData.model.Parametres.Where(c => c.IdParametre == 1).First();

                    Trans.TransactionNumero = GlobalData.GenerateFacture(param.TransNum.ToString(), 6);

                    param.TransNum++;


                    GlobalData.model.Transactions.Add(Trans);
                    GlobalData.model.Reservations.Add(Reservations);
                    GlobalData.model.SaveChanges();

                    var result = MessageBox.Show("Voulez vous imprimer le recu?", "Vente", MessageBoxButton.YesNo, MessageBoxImage.Warning);

                    if (result == MessageBoxResult.Yes)
                    {
                        try
                        {
                            //RapportWindows frm = new RapportWindows(Reservations.ID, "", "ALL");
                            //frm.ShowDialog();
                            //frm.Print();
                        }
                        catch (Exception ex)
                        {
                        }
                    }

                    //MessageBox.Show("Operation terminée", "Message", MessageBoxButton.OK, MessageBoxImage.None);

                    Clear();

                    GlobalFO.rpVM.Load();

                    chambreAutoCompleteBox.Focus();
                }
            }
            catch (Exception ex)
            {
                if (ex.Message == "Échec du fournisseur sous-jacent sur Commit.")
                {
                }
                else
                {
                }
            }
        }
Exemple #3
0
        private void GetCancelFeeFirstLast(Cancelations can)
        {
            Transactions Trans = SelectedReservations.Transactions.FirstOrDefault();
            List <DetailTransactions> lstDtChambres = Trans.DetailTransactions.Where(c => c.Etat == "ACTIF" && c.Produits.Categories.Libelle == "CHAMBRES").ToList();
            List <DetailPaiements>    lstDtPaie     = Trans.DetailPaiements.Where(c => c.Etat == "ACTIF").ToList();

            //Annuler les details transactions concernant la chambre
            foreach (DetailTransactions item in lstDtChambres)
            {
                item.Etat = "ANNULER";
            }

            foreach (DetailPaiements item in lstDtPaie)
            {
                item.Etat = "ANNULER";
            }

            double NbreHr = SelectedReservations.DateArrive.Value.Subtract(DateTime.Now).TotalDays;

            if (NbreHr < can.TimeFrame)
            {
                DetailTransactions trans = new DetailTransactions();
                trans.Produits = GlobalData.modelRP.Produits.Where(c => c.Libelle == "FRAIS D'ANNULATION DE LA RESERVATION").FirstOrDefault();;
                trans.Date     = DateTime.Now;
                trans.Quantite = (float)1;

                if (can.Type == 0)
                {
                    DetailTransactions dt = lstDtChambres.FirstOrDefault();

                    trans.prix = Convert.ToDecimal((double)dt.prix * can.PourcentageAfter * 0.01) + can.HandlingFee;
                }
                else
                {
                    trans.prix = Convert.ToDecimal(can.MontantAfter) + can.HandlingFee;
                }

                trans.Descriptions = "FRAIS D'ANNULATION DE LA RESERVATION " + SelectedReservations.ID;
                trans.Montant      = Convert.ToDecimal(trans.Quantite * (double)trans.prix);
                trans.Etat         = "ACTIF";
                //trans.idHotel = GlobalData.HotId;

                Trans.DetailTransactions.Add(trans);

                Trans.TotalTTC = Convert.ToDecimal(trans.Quantite * (double)trans.prix) + can.HandlingFee;
                Trans.TotalHT  = Trans.TotalTTC;
                Trans.TVA      = 0;

                if ((Trans.TotalPaye - Trans.TotalTTC) < 0)
                {
                    Trans.TotalReste = 0;

                    DetailPaiements dtPaie = new DetailPaiements();
                    dtPaie.Montant          = (double)Trans.TotalPaye;
                    dtPaie.DatePaiement     = DateTime.Now;
                    dtPaie.MethodePaiements = GlobalData.modelRP.MethodePaiements.Where(c => c.Libelle == "ESPECE").FirstOrDefault();
                    dtPaie.Transactions     = Trans;
                    dtPaie.Etat             = "ACTIF";
                    //dtPaie.idHotel = GlobalData.HotId;
                }
                else
                {
                    Trans.TotalReste = 0;
                    Trans.TotalPaye  = Trans.TotalTTC;

                    DetailPaiements dtPaie = new DetailPaiements();
                    dtPaie.Montant          = (double)Trans.TotalPaye;
                    dtPaie.DatePaiement     = DateTime.Now;
                    dtPaie.MethodePaiements = GlobalData.modelRP.MethodePaiements.Where(c => c.Libelle == "ESPECE").FirstOrDefault();
                    dtPaie.Transactions     = Trans;
                    dtPaie.Etat             = "ACTIF";
                    //dtPaie.idHotel = GlobalData.HotId;
                }

                SelectedReservations.TotalPaye  = Trans.TotalPaye;
                SelectedReservations.TotalReste = Trans.TotalReste;
                SelectedReservations.TotalTTC   = Trans.TotalTTC;
                SelectedReservations.Reduction  = Trans.Reduction;

                Trans.Etat = "PAYE";
                SelectedReservations.CancelDate    = DateTime.Now;
                SelectedReservations.Etat          = "TERMINER";
                SelectedReservations.EtatOperation = "ANNULER";

                if (SelectedReservations.Chambres != null)
                {
                    SelectedReservations.Chambres.EtatOperation = "LIBRE";
                }

                GlobalData.modelRP.SaveChanges();

                Load();

                MessageBox.Show("Operation terminée", "Message", MessageBoxButton.OK, MessageBoxImage.None);
            }
            else if (NbreHr > can.TimeFrame)
            {
                DetailTransactions trans = new DetailTransactions();
                trans.Produits = GlobalData.modelRP.Produits.Where(c => c.Libelle == "FRAIS D'ANNULATION DE LA RESERVATION").First();;
                trans.Date     = DateTime.Now;
                trans.Quantite = (float)1;

                if (can.Type == 0)
                {
                    DetailTransactions dt = lstDtChambres.FirstOrDefault();

                    trans.prix = Convert.ToDecimal((double)dt.prix * can.PourcentageBefore * 0.01) + can.HandlingFee;
                }
                else
                {
                    trans.prix = Convert.ToDecimal(can.MonantBefore) + can.HandlingFee;
                }

                trans.Descriptions = "FRAIS D'ANNULATION DE LA RESERVATION " + SelectedReservations.ID;
                trans.Montant      = Convert.ToDecimal(trans.Quantite * (double)trans.prix);
                trans.Etat         = "ACTIF";
                //trans.idHotel = GlobalData.HotId;

                Trans.DetailTransactions.Add(trans);

                Trans.TotalTTC = Convert.ToDecimal(trans.Quantite * (double)trans.prix) + can.HandlingFee;
                Trans.TotalHT  = Trans.TotalTTC;
                Trans.TVA      = 0;

                if ((Trans.TotalPaye - Trans.TotalTTC) < 0)
                {
                    Trans.TotalReste = 0;

                    DetailPaiements dtPaie = new DetailPaiements();
                    dtPaie.Montant          = (double)Trans.TotalPaye;
                    dtPaie.DatePaiement     = DateTime.Now;
                    dtPaie.MethodePaiements = GlobalData.modelRP.MethodePaiements.Where(c => c.Libelle == "ESPECE").FirstOrDefault();
                    dtPaie.Transactions     = Trans;
                    dtPaie.Etat             = "ACTIF";
                    //dtPaie.idHotel = GlobalData.HotId;
                }
                else
                {
                    Trans.TotalReste = 0;
                    Trans.TotalPaye  = Trans.TotalTTC;

                    DetailPaiements dtPaie = new DetailPaiements();
                    dtPaie.Montant          = (double)Trans.TotalPaye;
                    dtPaie.DatePaiement     = DateTime.Now;
                    dtPaie.MethodePaiements = GlobalData.modelRP.MethodePaiements.Where(c => c.Libelle == "ESPECE").FirstOrDefault();
                    dtPaie.Transactions     = Trans;
                    dtPaie.Etat             = "ACTIF";
                    //dtPaie.idHotel = GlobalData.HotId;
                }

                SelectedReservations.TotalPaye  = Trans.TotalPaye;
                SelectedReservations.TotalReste = Trans.TotalReste;
                SelectedReservations.TotalTTC   = Trans.TotalTTC;
                SelectedReservations.Reduction  = Trans.Reduction;

                Trans.Etat = "PAYE";
                SelectedReservations.CancelDate             = DateTime.Now;
                SelectedReservations.Etat                   = "TERMINER";
                SelectedReservations.EtatOperation          = "ANNULER";
                SelectedReservations.Chambres.EtatOperation = "LIBRE";


                GlobalData.modelRP.SaveChanges();

                Load();

                MessageBox.Show("Operation terminée", "Message", MessageBoxButton.OK, MessageBoxImage.None);
            }
            else
            {
            }
        }
        private void btnEnregistrer_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Chambres Cham = rcbChambres.SelectedItem as Chambres;

                int NbreHr = (int)rnHeure.Value;

                if (rcbChambres.SelectedIndex == -1)
                {
                    MessageBox.Show("Choisissez une chambre svp", "Message", MessageBoxButton.OKCancel, MessageBoxImage.Warning); return;
                }
                if (NbreHr <= 0)
                {
                    MessageBox.Show("Le nombre d'heure ne peut pas etre égale a 0", "Message", MessageBoxButton.OKCancel, MessageBoxImage.Warning); return;
                }

                Transactions Trans = Res.Transactions.FirstOrDefault();

                Trans.TotalPaye  = Convert.ToDecimal(rntarif.Value);
                Trans.TotalTTC   = Convert.ToDecimal(rntarif.Value);
                Trans.TotalHT    = Convert.ToDecimal(rntarif.Value);
                Trans.TVA        = 0;
                Trans.TotalReste = 0;

                //Trans.Etat = "PAYE";

                DetailPaiements dtPaie = Trans.DetailPaiements.FirstOrDefault();
                dtPaie.Montant = rntarif.Value;

                DetailTransactions dtTrans = Trans.DetailTransactions.FirstOrDefault();
                dtTrans.prix     = Convert.ToDecimal(rntarif.Value);
                dtTrans.Quantite = 1;
                dtTrans.Montant  = Convert.ToDecimal(rntarif.Value);

                Res.Chambres.EtatOperation = "LIBRE";
                Res.Chambres       = Cham;
                Cham.EtatOperation = "OCCUPER";
                //Res.Chambres = Cham;
                Res.NbreNuit   = NbreHr;
                Res.TotalPaye  = Trans.TotalPaye;
                Res.TotalReste = Trans.TotalReste;
                Res.TotalTTC   = Trans.TotalTTC;
                Res.DateDepart = new DateTime(rtHF.SelectedDate.Value.Year, rtHF.SelectedDate.Value.Month, rtHF.SelectedDate.Value.Day, rtHF.SelectedTime.Value.Hours, rtHF.SelectedTime.Value.Minutes, rtHF.SelectedTime.Value.Seconds);

                GlobalData.model.SaveChanges();

                MessageBox.Show("Operation terminée", "Message", MessageBoxButton.OK, MessageBoxImage.None);

                this.Close();
            }
            catch (Exception ex)
            {
                if (ex.Message == "Échec du fournisseur sous-jacent sur Commit.")
                {
                }
                else
                {
                }
            }
        }