Ejemplo n.º 1
0
        public ActionResult <ProvisionCustomerResponse> ProvisionCustomer([FromBody] ProvisionCustomerRequest request)
        {
            try
            {
                var customer = this.DbContext.Customers.Add(new Customer()
                {
                    FirstName = request.FirstName, LastName = request.LastName, Email = request.Email, Basket = new Basket()
                }).Entity;
                this.DbContext.Save();

                ProvisionCustomerResponse response = new ProvisionCustomerResponse()
                {
                    CustomerId      = customer.CustomerId,
                    OriginalRequest = request
                };

                return(Ok(response));
            }
            catch
            {
                return(BadRequest());
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create customer in the API repository
        /// </summary>
        /// <param name="firstName"></param>
        /// <param name="lastName"></param>
        /// <param name="email"></param>
        public void ProvisionCustomer(string firstName, string lastName, string email)
        {
            using (HttpClient client = GetHttpClient())
            {
                ProvisionCustomerRequest request = new ProvisionCustomerRequest()
                {
                    FirstName = firstName,
                    LastName  = lastName,
                    Email     = email
                };

                HttpContent content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
                var         result  = client.PutAsync(ApiUrls.CustomerProvision, content).Result;
                result.EnsureSuccessStatusCode();

                var response = JsonConvert.DeserializeObject <ProvisionCustomerResponse>(result.Content.ReadAsStringAsync().Result);
                this.CustomerId = response.CustomerId;

                if (!string.IsNullOrEmpty(response.Failure?.ReasonForFailure))
                {
                    throw new Exception(response.Failure.ReasonForFailure);
                }
            }
        }