Ejemplo n.º 1
0
        /// <summary>
        /// Adds a new customer to the database.
        /// </summary>
        /// <param name="customer">Customer.</param>
        /// <returns>Number of records affected. If all worked well, then should be 1.</returns>
        public int AddCustomer(CustomerModel customer)
        {
            CustomerRequest request = new CustomerRequest();
            request.RequestId = NewRequestId;
            request.AccessToken = AccessToken;
            request.ClientTag = ClientTag;

            request.Action = "Create";
            request.Customer = Mapper.ToDataTransferObject(customer);

            CustomerResponse response = null;
            SafeProxy.DoAction<ActionServiceClient>(Service, client =>
                { response = client.SetCustomers(request); });

            if (request.RequestId != response.CorrelationId)
                throw new ApplicationException("AddCustomer: RequestId and CorrelationId do not match.");

            if (response.Acknowledge != AcknowledgeType.Success)
                throw new ApplicationException(response.Message);

            // Update version & new customerId
            customer.Version = response.Customer.Version;
            customer.CustomerId = response.Customer.CustomerId;

            return response.RowsAffected;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Maps single customer data transfer object to customer model.
        /// </summary>
        /// <param name="customer">The customer data transfer object.</param>
        /// <param name="provider">Provider.</param>
        /// <returns></returns>
        internal static CustomerModel FromDataTransferObject(Customer customer, IProvider provider)
        {
            CustomerModel customerModel = new CustomerModel(provider);

            customerModel.CustomerId = customer.CustomerId;
            customerModel.Company = customer.Company;
            customerModel.City = customer.City;
            customerModel.Country = customer.Country;
            customerModel.Orders = FromDataTransferObjects(customer.Orders);
            customerModel.Version = customer.Version;

            return customerModel;
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Maps customer model object to customer data transfer object.
 /// </summary>
 /// <param name="customer">Customer model object.</param>
 /// <returns>Customer data transfer object.</returns>
 internal static Customer ToDataTransferObject(CustomerModel customer)
 {
     return new Customer
     {
         CustomerId = customer.CustomerId,
         Company = customer.Company,
         City = customer.City,
         Country = customer.Country,
         Version = customer.Version
     };
 }