/// <summary>
        ///     Allows the REST API to create or update a gift card
        /// </summary>
        /// <param name="parameters">Parameters passed in the URL of the REST API call. No parameters are expected at this time.</param>
        /// <param name="querystring">Name/value pairs from the REST API call querystring. This is not used in this method.</param>
        /// <param name="postdata">Serialized (JSON) version of the GiftCardDTO object</param>
        /// <returns>GiftCardDTO - Serialized (JSON) version of the gift card</returns>
        public override string PostAction(string parameters, NameValueCollection querystring, string postdata)
        {
            var errors = new List <ApiError>();

            GiftCardDTO postedCard = null;

            try
            {
                postedCard = Json.ObjectFromJson <GiftCardDTO>(postdata);
            }
            catch (Exception ex)
            {
                return(JsonApiResponseException(ex));
            }

            var giftCard = new GiftCard();

            giftCard.FromDto(postedCard);

            var existing = HccApp.CatalogServices.GiftCards.Find(giftCard.GiftCardId);

            if (existing == null)
            {
                HccApp.CatalogServices.GiftCards.Create(giftCard);
            }
            else
            {
                HccApp.CatalogServices.GiftCards.Update(giftCard);
            }

            return(JsonApiResponse(giftCard.ToDto()));
        }
Exemplo n.º 2
0
 /// <summary>
 ///     Allows you to populate the current gift card object using a GiftCardDTO instance
 /// </summary>
 /// <param name="dto">An instance of the gift card from the REST API</param>
 public void FromDto(GiftCardDTO dto)
 {
     GiftCardId        = dto.GiftCardId;
     StoreId           = dto.StoreId;
     LineItemId        = dto.LineItemId;
     CardNumber        = dto.CardNumber;
     Amount            = dto.Amount;
     UsedAmount        = dto.UsedAmount;
     IssueDateUtc      = dto.IssueDateUtc;
     ExpirationDateUtc = dto.ExpirationDateUtc;
     RecipientEmail    = dto.RecipientEmail;
     RecipientName     = dto.RecipientName;
     GiftMessage       = dto.GiftMessage;
     Enabled           = dto.Enabled;
 }
Exemplo n.º 3
0
        public void IntegraGiftCard()
        {
            try
            {
                Console.WriteLine("Início do exemplo de integração de GiftCard");

                GiftCardDTO objGiftCard = new GiftCardDTO();

                objGiftCard.MultipleCredits     = true;             //Permite múltiplos créditos
                objGiftCard.MultipleRedemptions = true;             //Permite múltiplos resgates
                objGiftCard.StatusId            = 1;                //Ativo
                objGiftCard.RestrictedToOwner   = true;             //Restringe a um CPF
                objGiftCard.OwnerId             = "111.111.111-11"; //CPF do usuário
                objGiftCard.ExpiringDate        = DateTime.Now.AddYears(1);
                objGiftCard.EmissionDate        = DateTime.Now;

                //objGiftCard.RedemptionCode ---->> preencher e testar caso seja necessário criar o próprio RedemptionCode

                objGiftCard = this.vtexService.GiftCardInsertUpdate(objGiftCard); //Insere o GiftCard e retorna os campos Id e RedeptionCode preenchidos

                //Valores retornados preenchidos
                //objGiftCard.Id
                //objGiftCard.RedemptionCode

                GiftCardTransactionItemDTO objGiftCardTransactionItem = new GiftCardTransactionItemDTO();

                objGiftCardTransactionItem.RedemptionCode       = objGiftCard.RedeptionCode; //Vinculação da transação com o GiftCard
                objGiftCardTransactionItem.TransactionAction    = TransactionAction.Credit;
                objGiftCardTransactionItem.TransactionConfirmed = true;
                objGiftCardTransactionItem.Value = 100;

                this.vtexService.GiftCardTransactionItemInsert(objGiftCardTransactionItem); //Insere o crédito de 100 reais no GiftCard
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                Console.WriteLine("Fim do exemplo de integração de GiftCard");
                Console.ReadKey();
            }
        }
Exemplo n.º 4
0
        public void IntegraGiftCard()
        {
            try
            {
                Console.WriteLine("Início do exemplo de integração de GiftCard");

                GiftCardDTO objGiftCard = new GiftCardDTO();

                objGiftCard.MultipleCredits = true; //Permite múltiplos créditos
                objGiftCard.MultipleRedemptions = true; //Permite múltiplos resgates
                objGiftCard.StatusId = 1; //Ativo
                objGiftCard.RestrictedToOwner = true; //Restringe a um CPF
                objGiftCard.OwnerId = "111.111.111-11"; //CPF do usuário
                objGiftCard.ExpiringDate = DateTime.Now.AddYears(1);
                objGiftCard.EmissionDate = DateTime.Now;

                //objGiftCard.RedemptionCode ---->> preencher e testar caso seja necessário criar o próprio RedemptionCode

                objGiftCard = this.vtexService.GiftCardInsertUpdate(objGiftCard); //Insere o GiftCard e retorna os campos Id e RedeptionCode preenchidos

                //Valores retornados preenchidos
                //objGiftCard.Id
                //objGiftCard.RedemptionCode

                GiftCardTransactionItemDTO objGiftCardTransactionItem = new GiftCardTransactionItemDTO();

                objGiftCardTransactionItem.RedemptionCode = objGiftCard.RedeptionCode; //Vinculação da transação com o GiftCard
                objGiftCardTransactionItem.TransactionAction = TransactionAction.Credit;
                objGiftCardTransactionItem.TransactionConfirmed = true;
                objGiftCardTransactionItem.Value = 100;

                this.vtexService.GiftCardTransactionItemInsert(objGiftCardTransactionItem); //Insere o crédito de 100 reais no GiftCard
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                Console.WriteLine("Fim do exemplo de integração de GiftCard");
                Console.ReadKey();
            }
        }
        public void GiftCard_CreateUpdateDelete()
        {
            //Create API Proxy.
            var proxy = CreateApiProxy();

            var card = new GiftCardDTO
            {
                CardNumber        = "GIFT0000-1111-22222",
                IssueDateUtc      = DateTime.UtcNow,
                ExpirationDateUtc = DateTime.UtcNow.AddMonths(1),
                Amount            = 100
            };

            //Create
            var create1Response = proxy.GiftCardCreate(card);

            CheckErrors(create1Response);

            //Update
            card            = create1Response.Content;
            card.UsedAmount = 50;

            var updateResponse = proxy.GiftCardUpdate(card);

            CheckErrors(updateResponse);

            Assert.AreEqual(create1Response.Content.UsedAmount, updateResponse.Content.UsedAmount);

            //Find
            var findResponse = proxy.GiftCardFind(create1Response.Content.GiftCardId);

            CheckErrors(findResponse);

            Assert.AreEqual(updateResponse.Content.UsedAmount, findResponse.Content.UsedAmount);

            //Delete
            var delete1Response = proxy.GiftCardDelete(create1Response.Content.GiftCardId);

            CheckErrors(delete1Response);

            Assert.IsTrue(delete1Response.Content);
        }