Exemplo n.º 1
0
        /// <summary>
        ///
        /// <example>
        ///  <code>
        /// var result = CreditFactory.UpdateCredit(handler : handler,  credit :  credit,  code :  code,  responseFields :  responseFields,  expectedCode: expectedCode, successCode: successCode);
        /// var optionalCasting = ConvertClass<Credit/>(result);
        /// return optionalCasting;
        ///  </code>
        /// </example>
        /// </summary>
        public static Mozu.Api.Contracts.Customer.Credit.Credit UpdateCredit(ServiceClientMessageHandler handler,
                                                                             Mozu.Api.Contracts.Customer.Credit.Credit credit, string code, string responseFields = null,
                                                                             HttpStatusCode expectedCode = HttpStatusCode.OK, HttpStatusCode successCode = HttpStatusCode.OK)
        {
            SetSdKparameters();
            var currentClassName  = System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.Name;
            var currentMethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;

            Debug.WriteLine(currentMethodName + '.' + currentMethodName);
            var apiClient = Mozu.Api.Clients.Commerce.Customer.CreditClient.UpdateCreditClient(
                credit:  credit, code:  code, responseFields:  responseFields);

            try
            {
                apiClient.WithContext(handler.ApiContext).ExecuteAsync(default(CancellationToken)).Wait();
            }
            catch (ApiException ex)
            {
                // Custom error handling for test cases can be placed here
                Exception customException = TestFailException.GetCustomTestException(ex, currentClassName, currentMethodName, expectedCode);
                if (customException != null)
                {
                    throw customException;
                }
                return(null);
            }
            return(ResponseMessageFactory.CheckResponseCodes(apiClient.HttpResponse.StatusCode, expectedCode, successCode)
                                         ? (apiClient.Result())
                                         : null);
        }
Exemplo n.º 2
0
        public virtual Mozu.Api.Contracts.Customer.Credit.Credit UpdateCredit(Mozu.Api.Contracts.Customer.Credit.Credit credit, string code, string responseFields = null)
        {
            MozuClient <Mozu.Api.Contracts.Customer.Credit.Credit> response;
            var client = Mozu.Api.Clients.Commerce.Customer.CreditClient.UpdateCreditClient(credit, code, responseFields);

            client.WithContext(_apiContext);
            response = client.Execute();
            return(response.Result());
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="responseFields">Filtering syntax appended to an API call to increase or decrease the amount of data returned inside a JSON object. This parameter should only be used to retrieve data. Attempting to update data using this parameter may cause data loss.</param>
        /// <param name="userId"></param>
        /// <param name="credit">Properties of the store credit of gift card applied to a customer account. At this time, gift card functionality is reserved for future use.</param>
        /// <returns>
        ///  <see cref="Mozu.Api.MozuClient" />{<see cref="Mozu.Api.Contracts.Customer.Credit.Credit"/>}
        /// </returns>
        /// <example>
        /// <code>
        ///   var mozuClient=AddCredit( credit,  userId,  responseFields);
        ///   var creditClient = mozuClient.WithBaseAddress(url).Execute().Result();
        /// </code>
        /// </example>
        public static MozuClient <Mozu.Api.Contracts.Customer.Credit.Credit> AddCreditClient(Mozu.Api.Contracts.Customer.Credit.Credit credit, string userId = null, string responseFields = null)
        {
            var          url        = Mozu.Api.Urls.Commerce.Customer.CreditUrl.AddCreditUrl(userId, responseFields);
            const string verb       = "POST";
            var          mozuClient = new MozuClient <Mozu.Api.Contracts.Customer.Credit.Credit>()
                                      .WithVerb(verb).WithResourceUrl(url)
                                      .WithBody <Mozu.Api.Contracts.Customer.Credit.Credit>(credit);

            return(mozuClient);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Updates one or more properties of a defined store credit applied to a customer account.
        /// </summary>
        /// <param name="code">User-defined code that uniqely identifies the channel group.</param>
        /// <param name="responseFields">Use this field to include those fields which are not included by default.</param>
        /// <param name="credit">Properties of the store credit of gift card applied to a customer account. At this time, gift card functionality is reserved for future use.</param>
        /// <returns>
        /// <see cref="Mozu.Api.Contracts.Customer.Credit.Credit"/>
        /// </returns>
        /// <example>
        /// <code>
        ///   var credit = new Credit();
        ///   var credit = await credit.UpdateCreditAsync( credit,  code,  responseFields);
        /// </code>
        /// </example>
        public virtual async Task <Mozu.Api.Contracts.Customer.Credit.Credit> UpdateCreditAsync(Mozu.Api.Contracts.Customer.Credit.Credit credit, string code, string responseFields = null)
        {
            MozuClient <Mozu.Api.Contracts.Customer.Credit.Credit> response;
            var client = Mozu.Api.Clients.Commerce.Customer.CreditClient.UpdateCreditClient(credit, code, responseFields);

            client.WithContext(_apiContext);
            response = await client.ExecuteAsync();

            return(await response.ResultAsync());
        }
Exemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="code">User-defined code that uniqely identifies the channel group.</param>
        /// <param name="responseFields">Filtering syntax appended to an API call to increase or decrease the amount of data returned inside a JSON object. This parameter should only be used to retrieve data. Attempting to update data using this parameter may cause data loss.</param>
        /// <param name="credit">Properties of the store credit of gift card applied to a customer account. At this time, gift card functionality is reserved for future use.</param>
        /// <returns>
        /// <see cref="Mozu.Api.Contracts.Customer.Credit.Credit"/>
        /// </returns>
        /// <example>
        /// <code>
        ///   var credit = new Credit();
        ///   var credit = await credit.UpdateCreditAsync( credit,  code,  responseFields);
        /// </code>
        /// </example>
        public virtual async Task <Mozu.Api.Contracts.Customer.Credit.Credit> UpdateCreditAsync(Mozu.Api.Contracts.Customer.Credit.Credit credit, string code, string responseFields = null, CancellationToken ct = default(CancellationToken))
        {
            MozuClient <Mozu.Api.Contracts.Customer.Credit.Credit> response;
            var client = Mozu.Api.Clients.Commerce.Customer.CreditClient.UpdateCreditClient(credit, code, responseFields);

            client.WithContext(_apiContext);
            response = await client.ExecuteAsync(ct).ConfigureAwait(false);

            return(await response.ResultAsync());
        }
Exemplo n.º 6
0
        public void Add_Shopper()
        {
            var customerHandler = new MozuDataConnector.Domain.Handlers.CustomerHandler(_apiContext.TenantId, _apiContext.SiteId,
                                                                                        _apiContext.MasterCatalogId);

            var filter = "ExternalId eq " + "'m00349'";

            var account = customerHandler.GetCustomerAccounts(0, 1, null, filter).Result;

            if (account.Count() == 0)
            {
                var customerAccountAndAuthInfo = new Mozu.Api.Contracts.Customer.CustomerAccountAndAuthInfo()
                {
                    Account = new Mozu.Api.Contracts.Customer.CustomerAccount()
                    {
                        AcceptsMarketing      = false,
                        CompanyOrOrganization = "Candles Unlimited Inc.",
                        EmailAddress          = "*****@*****.**",
                        ExternalId            = "m0037",
                        FirstName             = "Alice",
                        LastName    = "Wick",
                        IsActive    = true,
                        IsAnonymous = false,
                        LocaleCode  = "en-US",
                        TaxExempt   = false,
                        IsLocked    = false,
                        UserName    = "******",
                        Contacts    = new System.Collections.Generic
                                      .List <Mozu.Api.Contracts.Customer.CustomerContact>()
                        {
                            new Mozu.Api.Contracts.Customer.CustomerContact()
                            {
                                Email             = "*****@*****.**",
                                FirstName         = "Alice",
                                LastNameOrSurname = "Wick",
                                Label             = "Mrs.",
                                PhoneNumbers      = new Mozu.Api.Contracts.Core.Phone()
                                {
                                    Mobile = "555-555-0001"
                                },
                                Address = new Mozu.Api.Contracts.Core.Address()
                                {
                                    Address1        = "One Lightning Bug Way",
                                    AddressType     = "Residentail",
                                    CityOrTown      = "Austin",
                                    CountryCode     = "US",
                                    PostalOrZipCode = "78702",
                                    StateOrProvince = "TX"
                                },
                                Types = new System.Collections.Generic
                                        .List <Mozu.Api.Contracts.Customer.ContactType>()
                                {
                                    new Mozu.Api.Contracts.Customer.ContactType()
                                    {
                                        IsPrimary = true,
                                        Name      = "Billing"
                                    }
                                }
                            },
                            new Mozu.Api.Contracts.Customer.CustomerContact()
                            {
                                Email             = "*****@*****.**",
                                FirstName         = "Paul",
                                LastNameOrSurname = "Wick",
                                Label             = "Mr.",
                                PhoneNumbers      = new Mozu.Api.Contracts.Core.Phone()
                                {
                                    Mobile = "555-555-0002"
                                },
                                Address = new Mozu.Api.Contracts.Core.Address()
                                {
                                    Address1        = "1300 Comanche Trail",
                                    AddressType     = "Residentail",
                                    CityOrTown      = "San Marcos",
                                    CountryCode     = "US",
                                    PostalOrZipCode = "78666",
                                    StateOrProvince = "TX"
                                },
                                Types = new System.Collections.Generic
                                        .List <Mozu.Api.Contracts.Customer.ContactType>()
                                {
                                    new Mozu.Api.Contracts.Customer.ContactType()
                                    {
                                        IsPrimary = true,
                                        Name      = "Shipping"
                                    }
                                }
                            },
                        }
                    },
                    Password = "******",
                    IsImport = true
                };

                var credit = new Mozu.Api.Contracts.Customer.Credit.Credit()
                {
                    Code           = "credit0001",
                    ActivationDate = System.DateTime.Now,
                    CreditType     = "StoreCredit",
                    CurrencyCode   = "USD",
                    CurrentBalance = 50m,
                    ExpirationDate = null,
                    InitialBalance = 50m
                };

                var wishList = new Mozu.Api.Contracts.CommerceRuntime.Wishlists.Wishlist()
                {
                    IsImport = true,
                    Name     = "wishlist-001",
                    Items    = new List <Mozu.Api.Contracts.CommerceRuntime.Wishlists.WishlistItem>()
                    {
                        new Mozu.Api.Contracts.CommerceRuntime.Wishlists.WishlistItem()
                        {
                            Product = new Mozu.Api.Contracts.CommerceRuntime.Products.Product()
                            {
                                ProductCode = "LUC-SCF-001"
                            }
                        }
                    }
                };

                var newAccount = customerHandler.AddCustomerAccount(customerAccountAndAuthInfo,
                                                                    credit,
                                                                    wishList).Result;
            }
        }
        public void Exercise_13_2_Add_New_Customer()
        {
            //Create a Customer Account resource
            var customerAccountResource = new Mozu.Api.Resources.Commerce.Customer.CustomerAccountResource(_apiContext);

            var existingAcct = customerAccountResource.GetAccountsAsync(filter: "EmailAddress eq '*****@*****.**'").Result;

            if (existingAcct == null || existingAcct.TotalCount == 0)
            {
                //Create a new Account Info and Authorization Info contract
                var customerAccountAndAuthInfo = new Mozu.Api.Contracts.Customer.CustomerAccountAndAuthInfo()
                {
                    Account = new Mozu.Api.Contracts.Customer.CustomerAccount()
                    {
                        AcceptsMarketing = false,
                        CompanyOrOrganization = "Serenity Corp.",
                        EmailAddress = "*****@*****.**",
                        ExternalId = "A0001",
                        FirstName = "Malcolm",
                        LastName = "Reynolds",
                        IsActive = true,
                        IsAnonymous = false,
                        LocaleCode = "en-US",
                        TaxExempt = false,
                        IsLocked = false,
                        UserName = "******",
                    },
                    Password = "******",
                    IsImport = true
                };

                var newAccount = customerAccountResource.AddAccountAndLoginAsync(customerAccountAndAuthInfo).Result;

                var contactMal = new Mozu.Api.Contracts.Customer.CustomerContact()
                {
                    Email = "*****@*****.**",
                    FirstName = "Malcolm",
                    LastNameOrSurname = "Reynolds",
                    Label = "Capt.",
                    PhoneNumbers = new Mozu.Api.Contracts.Core.Phone()
                    {
                        Mobile = "555-555-0001"
                    },
                    Address = new Mozu.Api.Contracts.Core.Address()
                    {
                        Address1 = "03-K64 Firefly Transport",
                        AddressType = "Residential",
                        CityOrTown = "Austin",
                        CountryCode = "US",
                        PostalOrZipCode = "78759",
                        StateOrProvince = "TX"
                    },
                    Types = new System.Collections.Generic.List<Mozu.Api.Contracts.Customer.ContactType>()
                    {
                        new Mozu.Api.Contracts.Customer.ContactType()
                        {
                            IsPrimary = true,
                                Name = "Billing"
                        }
                    }
                };

                var contactInara = new Mozu.Api.Contracts.Customer.CustomerContact()
                {
                    Email = "*****@*****.**",
                    FirstName = "Inara",
                    LastNameOrSurname = "Serra",
                    Label = "Ms.",
                    PhoneNumbers = new Mozu.Api.Contracts.Core.Phone()
                    {
                        Mobile = "555-555-0002"
                    },
                    Address = new Mozu.Api.Contracts.Core.Address()
                    {
                        Address1 = "03-K64 Firefly Transport -- Shuttle",
                        AddressType = "Residential",
                        CityOrTown = "Austin",
                        CountryCode = "US",
                        PostalOrZipCode = "78759",
                        StateOrProvince = "TX"
                    },
                    Types = new System.Collections.Generic.List<Mozu.Api.Contracts.Customer.ContactType>()
                    {
                        new Mozu.Api.Contracts.Customer.ContactType()
                        {
                            IsPrimary = false,
                                Name = "Billing"
                        }
                    }
                };

                //Create a Customer Contact resource
                var contactResource = new Mozu.Api.Resources.Commerce.Customer.Accounts.CustomerContactResource(_apiContext);

                //Add new contact
                var newContactMal = contactResource.AddAccountContactAsync(contactMal, newAccount.CustomerAccount.Id).Result;

                //Add additional contact
                var newContactInara = contactResource.AddAccountContactAsync(contactInara, newAccount.CustomerAccount.Id).Result;
            }
                //Create a Customer Credit resource
                var creditResource = new Mozu.Api.Resources.Commerce.Customer.CreditResource(_apiContext);

                //Create a Credit object
                var credit = new Mozu.Api.Contracts.Customer.Credit.Credit()
                {
                    ActivationDate = DateTime.Now,
                    Code = Guid.NewGuid().ToString("N"),
                    CreditType = "GiftCard",
                    CurrencyCode = "USD",
                    CurrentBalance = 1000,
                    CustomerId = 1002,
                    InitialBalance = 1000
                };

                //Add credit
                var newCredit = creditResource.AddCreditAsync(credit).Result;
        }
        public void Exercise_13_2_Add_New_Customer()
        {
            //Create a Customer Account resource
            var customerAccountResource = new Mozu.Api.Resources.Commerce.Customer.CustomerAccountResource(_apiContext);

            var existingAcct = customerAccountResource.GetAccountsAsync(filter: "EmailAddress eq '*****@*****.**'").Result;

            if (existingAcct == null || existingAcct.TotalCount == 0)
            {
                //Create a new Account Info and Authorization Info contract
                var customerAccountAndAuthInfo = new Mozu.Api.Contracts.Customer.CustomerAccountAndAuthInfo()
                {
                    Account = new Mozu.Api.Contracts.Customer.CustomerAccount()
                    {
                        AcceptsMarketing      = false,
                        CompanyOrOrganization = "Serenity Corp.",
                        EmailAddress          = "*****@*****.**",
                        ExternalId            = "A0001",
                        FirstName             = "Malcolm",
                        LastName    = "Reynolds",
                        IsActive    = true,
                        IsAnonymous = false,
                        LocaleCode  = "en-US",
                        TaxExempt   = false,
                        IsLocked    = false,
                        UserName    = "******",
                    },
                    Password = "******",
                    IsImport = true
                };

                var newAccount = customerAccountResource.AddAccountAndLoginAsync(customerAccountAndAuthInfo).Result;

                var contactMal = new Mozu.Api.Contracts.Customer.CustomerContact()
                {
                    Email             = "*****@*****.**",
                    FirstName         = "Malcolm",
                    LastNameOrSurname = "Reynolds",
                    Label             = "Capt.",
                    PhoneNumbers      = new Mozu.Api.Contracts.Core.Phone()
                    {
                        Mobile = "555-555-0001"
                    },
                    Address = new Mozu.Api.Contracts.Core.Address()
                    {
                        Address1        = "03-K64 Firefly Transport",
                        AddressType     = "Residential",
                        CityOrTown      = "Austin",
                        CountryCode     = "US",
                        PostalOrZipCode = "78759",
                        StateOrProvince = "TX"
                    },
                    Types = new System.Collections.Generic.List <Mozu.Api.Contracts.Customer.ContactType>()
                    {
                        new Mozu.Api.Contracts.Customer.ContactType()
                        {
                            IsPrimary = true,
                            Name      = "Billing"
                        }
                    }
                };

                var contactInara = new Mozu.Api.Contracts.Customer.CustomerContact()
                {
                    Email             = "*****@*****.**",
                    FirstName         = "Inara",
                    LastNameOrSurname = "Serra",
                    Label             = "Ms.",
                    PhoneNumbers      = new Mozu.Api.Contracts.Core.Phone()
                    {
                        Mobile = "555-555-0002"
                    },
                    Address = new Mozu.Api.Contracts.Core.Address()
                    {
                        Address1        = "03-K64 Firefly Transport -- Shuttle",
                        AddressType     = "Residential",
                        CityOrTown      = "Austin",
                        CountryCode     = "US",
                        PostalOrZipCode = "78759",
                        StateOrProvince = "TX"
                    },
                    Types = new System.Collections.Generic.List <Mozu.Api.Contracts.Customer.ContactType>()
                    {
                        new Mozu.Api.Contracts.Customer.ContactType()
                        {
                            IsPrimary = false,
                            Name      = "Billing"
                        }
                    }
                };

                //Create a Customer Contact resource
                var contactResource = new Mozu.Api.Resources.Commerce.Customer.Accounts.CustomerContactResource(_apiContext);

                //Add new contact
                var newContactMal = contactResource.AddAccountContactAsync(contactMal, newAccount.CustomerAccount.Id).Result;

                //Add additional contact
                var newContactInara = contactResource.AddAccountContactAsync(contactInara, newAccount.CustomerAccount.Id).Result;
            }
            //Create a Customer Credit resource
            var creditResource = new Mozu.Api.Resources.Commerce.Customer.CreditResource(_apiContext);

            //Create a Credit object
            var credit = new Mozu.Api.Contracts.Customer.Credit.Credit()
            {
                ActivationDate = DateTime.Now,
                Code           = Guid.NewGuid().ToString("N"),
                CreditType     = "GiftCard",
                CurrencyCode   = "USD",
                CurrentBalance = 1000,
                CustomerId     = 1002,
                InitialBalance = 1000
            };

            //Add credit
            var newCredit = creditResource.AddCreditAsync(credit).Result;
        }