public List <gsVoucher_fechContaVSfechaAplicResult> Voucher_FechContaVSFechaAplic(int idEmpresa, int codigoUsuario, DateTime fechaInicio, DateTime fechaFinal)
        {
            VoucherBL objVoucherBL = new VoucherBL();

            try
            {
                return(objVoucherBL.Voucher_FechContaVSFechaAplic(idEmpresa, codigoUsuario, fechaInicio, fechaFinal));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        private void AddPurchase(decimal amount, bool collectVoucher, DateTime when)
        {
            if (_isUnsavedNewClient)
            {
                SaveClient(Client);
            }

            Voucher oldestActiveVoucher = null;

            if (collectVoucher)
            {
                oldestActiveVoucher = Client.OldestActiveVoucher;
            }
            Purchase purchase = new Purchase
            {
                ClientId            = Client.Id,
                Amount              = amount,
                Date                = when,
                IsPurchaseDeletable = true,
            };

            if (collectVoucher)
            {
                purchase.VoucherId = oldestActiveVoucher.Id;
            }
            // Add purchase
            Client.Purchases = Client.Purchases ?? new ObservableCollection <Purchase>();
            Client.Purchases.Add(purchase);
            Client.PurchaseModified();
            // Save purchase
            PurchaseBL.SavePurchase(purchase); // !! this will add purchase to client if not already added
            // Voucher
            if (collectVoucher)
            {
                oldestActiveVoucher.CollectDate = purchase.Date.AddMinutes(1); // to be sure it's later than last purchase date (last purchase should not be considered for next voucher)
                VoucherBL.SaveVoucher(oldestActiveVoucher);
                Client.VoucherModified();
            }
        }
Exemplo n.º 3
0
        private void DeletePurchaseConfirmed(Purchase purchase)
        {
            if (_isUnsavedNewClient)
            {
                SaveClient(Client);
            }

            // Reactivate voucher if needed
            if (purchase.VoucherId.HasValue)
            {
                Voucher voucher = Client.Vouchers.FirstOrDefault(x => x.Id == purchase.VoucherId.Value);
                if (voucher != null)
                {
                    voucher.CollectDate = null;
                }
                VoucherBL.SaveVoucher(voucher);
                Client.VoucherModified();
            }
            // Delete purchase
            PurchaseBL.DeletePurchase(purchase); // !! this will remove purchase from client
            // Remove purchase
            Client.Purchases.Remove(purchase);
            Client.PurchaseModified();
        }
Exemplo n.º 4
0
        private async Task CreateVoucherAsync()
        {
            // Send mail if client has an email
            try
            {
                IsBusy = true;

                decimal  percentage  = 20;
                DateTime maxValidity = DateTime.Today.AddMonths(1);

                bool byMail = false;
                if (!string.IsNullOrWhiteSpace(Email))
                {
                    await MailSenderBL.SendVoucherMailAsync(Email, FirstName, Sex, percentage, maxValidity);

                    byMail = true;
                }

                if (_isUnsavedNewClient)
                {
                    SaveClient(Client);
                }

                Voucher voucher = new Voucher
                {
                    ClientId        = Client.Id,
                    IssueDate       = DateTime.Now,
                    Percentage      = percentage,
                    ValidityEndDate = maxValidity,
                };
                // Add voucher
                Client.Vouchers = Client.Vouchers ?? new ObservableCollection <Voucher>();
                Client.Vouchers.Add(voucher);
                Client.VoucherModified();
                // Save voucher
                VoucherBL.SaveVoucher(voucher); // !! this will add voucher to client if not already added

                // Purchases cannot be deleted anymore
                foreach (Purchase purchase in Client.Purchases)
                {
                    purchase.IsPurchaseDeletable = false;
                }

                if (byMail)
                {
                    PopupService.DisplayQuestion("Envoi d'un bon d'achat", $"Le bon a bien été envoyé par mail à l'adresse {Email} et sera valable jusqu'au {maxValidity:dd/MM/yyyy}", QuestionActionButton.Ok());
                }
                else
                {
                    PopupService.DisplayQuestion("Envoi d'un bon d'achat", $"Un bon d'achat a été émis et sera valable jusqu'au {maxValidity:dd/MM/yyyy}", QuestionActionButton.Ok());
                }
            }
            catch (Exception ex)
            {
                Logger.Exception(ex);
                PopupService.DisplayError("Envoi d'un bon d'achat", $"Erreur lors de l'envoi du mail à {Email} (numéro de client {Client.ClientBusinessId})");
            }
            finally
            {
                IsBusy = false;
            }
        }