/// <summary> /// Print the gift card balance receipt. /// </summary> /// <param name="cardNumber">Card number</param> /// <exception cref="GiftCardException"></exception> public void PrintGiftCardBalance(string cardNumber) { if (Printer.DeviceType == DeviceTypes.None) { throw new GiftCardException(ApplicationLocalizer.Language.Translate(10060)); } // If balance already queried skip TS call. if ((string.IsNullOrEmpty(CardNumber)) || (!cardNumber.Equals(CardNumber, StringComparison.OrdinalIgnoreCase))) { this.GetGiftCardBalance(cardNumber); } if (Currency != ApplicationSettings.Terminal.StoreCurrency) { throw new GiftCardException(ApplicationLocalizer.Language.Translate(4324)); } IGiftCardLineItem gcItem = GiftCard.InternalApplication.BusinessLogic.Utility.CreateGiftCardLineItem( ApplicationSettings.Terminal.StoreCurrency, GiftCard.InternalApplication.Services.Rounding, (IRetailTransaction)Transaction); gcItem.SerialNumber = CardNumber; gcItem.Balance = Balance; // Required for receipt header ((IPosTransactionV2)Transaction).EndDateTime = DateTime.Now; GiftCard.InternalApplication.Services.Printing.PrintGiftCertificate(FormType.GiftCertificate, Transaction, gcItem, false); }
public void VoidGiftCard(ref bool voided, ref string comment, IGiftCardLineItem gcLineItem) { LogMessage("Voiding a gift card", LSRetailPosis.LogTraceLevel.Trace, "GiftCard.VoidGiftCard"); if (this.Application.TransactionServices.CheckConnection()) { this.Application.TransactionServices.VoidGiftCard(ref voided, ref comment, gcLineItem.SerialNumber); } }
/// <summary> /// Void a gift card deposit line item. /// </summary> /// <param name="voided">Return true if sucessful, false otherwise.</param> /// <param name="comment">Error text if failed.</param> /// <param name="gcLineItem">Gift card line item.</param> public void VoidAddToGiftCard(ref bool voided, ref string comment, IGiftCardLineItem gcLineItem) { LogMessage("Voiding money addition to gift card.", LSRetailPosis.LogTraceLevel.Trace, "GiftCard.VoidGiftCardDeposit"); if (gcLineItem == null) { throw new ArgumentNullException("gcLineItem"); } decimal balance = 0; if (this.Application.TransactionServices.CheckConnection()) { this.Application.TransactionServices.AddToGiftCard(ref voided, ref comment, ref balance, gcLineItem.SerialNumber, gcLineItem.StoreId, gcLineItem.TerminalId, gcLineItem.StaffId, gcLineItem.TransactionId, gcLineItem.ReceiptId, ApplicationSettings.Terminal.StoreCurrency, decimal.Negate(gcLineItem.Amount), DateTime.Now); } }
public void PrintGiftCertificate(FormType formType, IPosTransaction posTransaction, IGiftCardLineItem giftCardLineItem, bool copyReceipt) { PrintingActions.Print(formType, copyReceipt, false, delegate(FormModulation formMod, FormInfo formInfo) { StringBuilder reportLayout = new StringBuilder(); PrintingActions.PrepareReceiptHeader(reportLayout, posTransaction, 10068, copyReceipt); reportLayout.AppendLine(PrintingActions.SingleLine); reportLayout.AppendLine(); reportLayout.AppendLine(PrintingActions.FormatTenderLine(ApplicationLocalizer.Language.Translate(10070), giftCardLineItem.SerialNumber)); reportLayout.AppendLine(PrintingActions.FormatTenderLine(ApplicationLocalizer.Language.Translate(10071), Printing.InternalApplication.Services.Rounding.RoundForDisplay(giftCardLineItem.Balance, true, true))); reportLayout.AppendLine(); reportLayout.AppendLine(PrintingActions.DoubleLine); return(reportLayout.ToString()); }); }