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; } }
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(); } }
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(); }
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; } }