Exemplo n.º 1
0
 public GiftCard(GiftCardData data, string message)
 {
     LineItemId        = data.LineItemId;
     CardNumber        = data.CardNumber;
     Amount            = data.Amount;
     RecipientEmail    = data.RecipientEmail;
     RecipientName     = data.RecipientName;
     ExpirationDateUtc = data.ExpirationDate;
     GiftMessage       = message;
 }
        public MyTestGateway()
        {
            Settings  = new MyTestGatewaySettings();
            GiftCards = new List <GiftCardData>();

            var giftCard = new GiftCardData
            {
                Amount     = 100,
                CardNumber = "GIFTCARD-0001"
            };

            GiftCards.Add(giftCard);
        }
        protected override void CreateNew(Transaction t)
        {
            var giftCard = new GiftCardData
            {
                LineItemId     = t.GiftCard.LineItemId,
                Amount         = t.GiftCard.Amount,
                RecipientName  = t.GiftCard.RecipientName,
                RecipientEmail = t.GiftCard.RecipientEmail,
                CardNumber     = t.GiftCard.CardNumber
            };

            GiftCards.Add(giftCard);

            t.Result.Succeeded = true;
        }
Exemplo n.º 4
0
 public OrderTransaction()
 {
     Id                   = Guid.NewGuid();
     StoreId              = 0;
     OrderId              = string.Empty;
     OrderNumber          = string.Empty;
     TimeStampUtc         = DateTime.UtcNow;
     Action               = ActionType.Unknown;
     Amount               = 0m;
     GiftCard             = new GiftCardData();
     CreditCard           = new CardData();
     Success              = false;
     Voided               = false;
     RefNum1              = string.Empty;
     RefNum2              = string.Empty;
     LinkedToTransaction  = string.Empty;
     Messages             = string.Empty;
     PurchaseOrderNumber  = string.Empty;
     CheckNumber          = string.Empty;
     CompanyAccountNumber = string.Empty;
     AdditionalSettings   = new Dictionary <string, string>();
 }
Exemplo n.º 5
0
        /// <summary>
        ///     Adds the new gift card.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="lineItem">The line item.</param>
        private static void AddNewGiftCard(OrderTaskContext context, LineItem lineItem)
        {
            var paymentManager = new OrderPaymentManager(context.Order, context.HccApp);

            var store    = context.HccApp.CurrentStore;
            var giftCard = new GiftCardData
            {
                LineItemId     = lineItem.Id,
                CardNumber     = context.HccApp.CatalogServices.GenerateGiftCardNumber(),
                Amount         = Money.RoundCurrency(lineItem.AdjustedPricePerItem),
                RecipientEmail = lineItem.CustomPropGiftCardEmail,
                RecipientName  = lineItem.CustomPropGiftCardName,
                ExpirationDate = DateTime.UtcNow.AddMonths(store.Settings.GiftCard.ExpirationPeriodMonths)
            };
            var gcNumber = paymentManager.GiftCardCreate(giftCard);

            if (string.IsNullOrEmpty(gcNumber))
            {
                var message = new WorkflowMessage(
                    "Gift Certificate Insert Failed",
                    "Gift Certificate for line item " + lineItem.Id + " in order " + context.Order.OrderNumber +
                    " failed.", false);
                context.Errors.Add(message);
            }
            else
            {
                if (string.IsNullOrEmpty(lineItem.CustomPropGiftCardNumber))
                {
                    lineItem.CustomPropGiftCardNumber = gcNumber;
                }
                else
                {
                    lineItem.CustomPropGiftCardNumber = lineItem.CustomPropGiftCardNumber + "<br/>" + gcNumber;
                }

                context.HccApp.OrderServices.Orders.Update(context.Order);

                var gc = new GiftCard(giftCard, lineItem.CustomPropGiftCardMessage);

                if (string.IsNullOrEmpty(gc.RecipientEmail))
                {
                    gc.RecipientEmail = context.Order.UserEmail;

                    if (string.IsNullOrEmpty(gc.RecipientName))
                    {
                        gc.RecipientName = context.Order.ShippingAddress.FirstName;
                    }
                }

                try
                {
                    context.HccApp.ContentServices.SendGiftCardNotification(gc, context.Order, lineItem);
                }
                catch (Exception ex)
                {
                    context.Errors.Add(new WorkflowMessage("Exception Sending Gift Card", ex.Message + ex.StackTrace,
                                                           false));
                    var note = new OrderNote();
                    note.IsPublic = false;
                    note.Note     = "EXCEPTION: " + ex.Message + " | " + ex.StackTrace;
                    context.Order.Notes.Add(note);

                    EventLog.LogEvent(ex);
                }
            }
        }