/// <summary>
        /// Sets the customers.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public CustomerResponse SetCustomers(CustomerRequest request)
        {
            var response       = new CustomerResponse();
            var customerEntity = request.Customer;

            if (request.Action != PersistType.Delete)
            {
                if (!customerEntity.Validate())
                {
                    foreach (string error in customerEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
            }
            try
            {
                if (request.Action == PersistType.Delete)
                {
                    var customerForDelete = CustomerDao.GetCustomerById(request.CustomerId);
                    response.Message = CustomerDao.DeleteCustomer(customerForDelete);
                }
                else
                {
                    var customer = CustomerDao.GetCustomerByCode(customerEntity.CustomerCode);
                    if (request.Action == PersistType.Insert)
                    {
                        if (customer != null)
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            response.Message     = @"Mã khách hàng " + customer.CustomerCode + @" đã tồn tại !";
                            return(response);
                        }
                        customerEntity.CustomerId = CustomerDao.InsertCustomer(customerEntity);
                        if (customerEntity.CustomerId != 0)
                        {
                            AutoNumberListDao.UpdateIncreateAutoNumberListByValue("Customer");
                        }
                        response.Message = null;
                    }
                    if (request.Action == PersistType.Update)
                    {
                        if (customer != null)
                        {
                            if (customer.CustomerId != customerEntity.CustomerId)
                            {
                                response.Acknowledge = AcknowledgeType.Failure;
                                response.Message     = @"Mã khách hàng " + customer.CustomerCode + @" đã tồn tại !";
                                return(response);
                            }
                        }
                        response.Message = CustomerDao.UpdateCustomer(customerEntity);
                    }
                }
            }
            catch (Exception ex)
            {
                response.Acknowledge = AcknowledgeType.Failure;
                response.Message     = ex.Message;
                return(response);
            }

            response.CustomerId  = customerEntity != null ? customerEntity.CustomerId : 0;
            response.Acknowledge = response.Message != null ? AcknowledgeType.Failure : AcknowledgeType.Success;
            return(response);
        }