/// <summary>
 /// default constructor
 /// </summary>
 public UserDetail() {
     _userid = 0;
     _accounttypeid = (Int16) AccountType.CreditCard;
     _addressid = null;
     _inserttimestamp = DateTime.Now;
     _updatetimestamp = DateTime.Now;
 }
 public OrderHeader() {
     _orderHeaderID = 0;
     _purchaseordernumber = StringUtils.GenerateRandomText(16);
     _orderstatusid = (short) Util.Enums.OrderStatus.Basket;
     _ordereddate = DateTime.Now;
     _invoiceAddress = null;
     _deliveryAddress = null;
     _deliverytypeid = null;
     _comment = null;
     _inserttimestamp = DateTime.Now;
     _updatetimestamp = DateTime.Now;
    
 }
        //should put this in account service.
        private void PerformRegistration() {
            try {
                UserDetail detail = new UserDetail();
                UserDetailsHelper.CopyUserDetails(ctlUser, detail);
                Address Address = new Address();
                AddressHelper.CopyAddress(ctlUserAddress, Address);
                EModule.CommonDao.SaveObject(Address);
                detail.Address = Address;
                EModule.CommonDao.SaveObject(detail);

               
                User user = new User();
                user.Email = ctlUser.EmailAddress;
                user.UserName = ctlUser.EmailAddress;
                user.FirstName = ctlUser.FirstName;
                user.LastName = ctlUser.LastName;
                user.Password = User.HashPassword(ctlUser.Password);
                user.InsertTimestamp = DateTime.Now;
                user.IsActive = true;
                EModule.CommonDao.SaveObject(user);
                
                ctlUser.Visible = ctlUserAddress.Visible = false;

            } catch (Exception ex) {
                LogManager.GetLogger(GetType()).Debug(ex);
                DisplayErrorMessage();
            }
        }
        public IAddress CreateAddress() {

            Address address = new Address();
            address.InsertTimestamp = DateTime.Now;
            address.UpdateTimestamp = DateTime.Now;

            return address;
        }