public long SaveCustomer(CustomerAccount _CustomerAccount)
 {
     try {
         using (SqlConnection connection = (SqlConnection)_Database.CreateConnection()) {
             SqlTransaction _transaction = null;
             try {
                 connection.Open();
                 _transaction = connection.BeginTransaction();
                 long CustomerId = 0;
                 if (_CustomerAccount.ID == 0)
                 {
                     CustomerId = Insert(_CustomerAccount, _transaction);
                 }
                 else
                 {
                     CustomerId = Update(_CustomerAccount, _transaction);
                 }
                 _customerServiceData.SaveCustomerServices(CustomerId, _CustomerAccount.CustomerServicesList, _transaction);
                 _transaction.Commit();
                 return(CustomerId);
             }
             catch {
                 _transaction.Rollback();
                 throw;
             }
             finally {
                 connection.Close();
             }
         }
     }
     catch (Exception exception) {
         throw exception;
     }
 }